[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Duplicate Elimination
On 13-3-2014 13:11, Ihe Onwuka wrote: > On Thu, Mar 13, 2014 at 11:56 AM, David Carlisle <davidc@xxxxxxxxx> wrote: >> It's iterating through representatives of the quotient set if you factor >> by the relation implied by the group-by clause. > A union (B difference A). People who speak English will understand that. Not sure where this is going, but I personally don't immediately grab either explanation, they both require a double or triple read. That might be my lack of English, or my lack of understanding the underlying problem. However, I do know that I find grouping, when expressed in XSLT 2.0+ terms, fairly understandable on itself. >>> will not work for anybody restricted to XSLT 1.0 >> >> It's easy to rewrite any such use of for-each-group as xsl-for-each plus >> a filter using a key (look up muenchian grouping for the details) >> > Easy for who? > > Where's that quote from Mike Kay that use of xsl:key should be common > knowledge in XSLT development - which obviously suggests that it is > not. Whether or not Michael Kay has at some point in time considered it should be common knowledge or not does not really matter towards people that require any kind of grouping in XSLT 1.0. Since grouping is such a common requirement, I think most XSLT 1.0 programmers are acquainted with some form of grouping, whether it is Muenchian grouping or another form. Whether it is "easy" is hard to say and depends highly on the individual, I think. For instance, many of my programmers can write a Bubble Sort algorithm down on paper during an interview, but I wouldn't be able to. Yet for me, Muenchian grouping is "easy", but then again, I have had my share of XSLT 1.0 grouping challenges. For just about any programming pattern, using it becomes "easy" once you grasp its principles, but if you've never used it, the abstractness of a pattern may make it hard to grasp at first. You wrote about explaining it to your client. I wouldn't use that term if I explained it to my client, I would just say something like "key-based grouping improved performance, which is why we chose it". But performance was not an issue, so I guess this argument is void ;). For a quote from Michael Kay, here is one that I found (http://www.oxygenxml.com/archives/xsl-list/200412/msg01020.html) when googling his name and Muenchian grouping, where he writes: "Muenchian grouping makes it easy to group on the result of any path expression, e.g. [....]" But surely, that doesn't mean it is "easy" for everyone ;). >>> and does not port to XPATH or XQuery. >> For xquery you can use the similar group-by clause so long as you >> are using V3 http://www.w3.org/TR/xquery-30/#id-group-by > For the cognoscenti who have access to 3.0 processors, the same group > of people that almost have nothing to learn from reading any of this. I use XSLT 3.0 daily, but still learn a lot from reading about XSLT 1.0 discussions. A recent post from G. Ken Holman was of particular interest, about a trick to get the static base uri of the current XSLT file. It was one of these rare "wow" moments. So please, keep discussions on XSLT 1.0 alive and let us, XSLT 3.0 people, enjoy it too ;). Abel Braaksma Exselt XSLT 3.0 processor http://exselt.net
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|