- From: Innovimax SARL <innovimax@gmail.com>
- Date: Tue, 8 May 2007 10:04:14 +0200
- To: "Henry S. Thompson" <ht@inf.ed.ac.uk>
- Cc: "XProc WG" <public-xml-processing-model-wg@w3.org>
- Message-ID: <546c6c1c0705080104id8944f7r67e181787a8421c9@mail.gmail.com>
Hi Henri, I have skipped the groupBy name for two reason : * it sounds like group-by in XSLT 2.0 for-each-group * it suggest than the element will be grouped whatever the document order is. With <?xml version="1.0"?> <a> <b att="a" id="_1"/> <b att="a" id="_2"/> <b att="b" id="_3"/> <b att="a" id="_4"/> <b att="b" id="_5"/> </a> what will be the result of p:wrap(name="my:wrapper", match="a/b", groupBy="@att") ? 1) with reorganizing the document order. I'm really doubtful about this one. we could end up with duplicating nodes. And it seems really to cumbersome to implement in a streaming fashion. <?xml version="1.0"?> <a> <my:wrapper> <b att="a" id="_1"/> <b att="a" id="_2"/> <b att="a" id="_4"/> </my:wrapper> <my:wrapper> <b att="b" id="_3"/> <b att="b" id="_5"/> </my:wrapper> </a> or this one (which groups adjacent matches) <?xml version="1.0"?> <a> <my:wrapper> <b att="a" id="_1"/> <b att="a" id="_2"/> </my:wrapper> <my:wrapper> <b att="b" id="_3"/> </my:wrapper> <my:wrapper> <b att="a" id="_4"/> </my:wrapper> <my:wrapper> <b att="b" id="_5"/> </my:wrapper> </a> or even worse because of whitespace between nodes (so you need to explicitly say that text node that contains only whitespace are glutted with previous match) <?xml version="1.0"?> <a> <my:wrapper> <b att="a" id="_1"/> </my:wrapper> <my:wrapper> <b att="a" id="_2"/> </my:wrapper> <my:wrapper> <b att="b" id="_3"/> </my:wrapper> <my:wrapper> <b att="a" id="_4"/> </my:wrapper> <my:wrapper> <b att="b" id="_5"/> </my:wrapper> </a> Mohamed On 5/8/07, Henry S. Thompson <ht@inf.ed.ac.uk> wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I agree in principle with the suggestion that some grouping > functionality would be good. I _think_ we actually discussed this a > while back wrt p:wrap. The MT Pipeline wrap operation takes an option > which gives the functionality you want, which I make a lot of use of: > > <p:option name="groupBy" value="@attr"/> > > The 'groupBy' option supplies an XPath, which is evaluated wrt the > context of the about-to-be-wrapped items, and ones with equal values > are grouped together. > > I'd certainly support adding this in to our p:wrap component. > > ht > - -- > Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh > Half-time member of W3C Team > 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 > Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk > URL: http://www.ltg.ed.ac.uk/~ht/ > [mail really from me _always_ has this .sig -- mail without it is forged > spam] > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.6 (GNU/Linux) > > iD8DBQFGQCtIkjnJixAXWBoRAn4yAJ4l9fHfmogIDA7g11aiTH+TzB0uKQCfbx+X > vB4yU23mULIUjHIAZfPm3tE= > =Ffpu > -----END PGP SIGNATURE----- > -- Innovimax SARL Consulting, Training & XML Development 9, impasse des Orteaux 75020 Paris Tel : +33 8 72 475787 Fax : +33 1 4356 1746 http://www.innovimax.fr RCS Paris 488.018.631 SARL au capital de 10.000 €
Received on Tuesday, 8 May 2007 08:04:18 UTC