[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xsl:sort order problems
Many thanks David. That's been giving me heartache for about two weeks! Your point about axis specifiers referring to document order clarifies things greatly. I am happier without using extensions :-) regards, DaveP >-----Original Message----- >From: David Carlisle [mailto:davidc@xxxxxxxxx] >Sent: 29 November 1999 11:08 >To: xsl-list@xxxxxxxxxxxxxxxx >Subject: Re: xsl:sort order problems > > > >Even when the node list is in sorted order (so the values returned by >position() reflect sorted order) the axis specifiers like >preceding-sibling refer to _document_ order. > >So > preceding-sibling::qna[1]/topic) > >doesn't do what you want. > >There are various postings on `grouping' in the archives that give >wprkarounds for this, or alternatively you can use extensions >eg the latest xt has a node-set function which means you can sort >the thing once and then get the result-tree back as a node list >on which the preceding-sibling works as you expect. > >See the unique sort example in the xt distrib for an example of this. > >If you want to do it without extension elements then: > ><?xml version="1.0" ?> > ><!DOCTYPE xsl:stylesheet [ ><!ENTITY sp "<xsl:text> </xsl:text>"> ><!ENTITY dot "<xsl:text>.</xsl:text>"> ><!ENTITY nl " 
"> >]> > > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > ><xsl:output method="xml" indent="yes" /> > > ><xsl:template match="/">root <!-- match on parent of group --> > <xsl:for-each select="doc/qna/topic[not(.=following::topic)]"> > <xsl:sort select="."/> <!-- sort on topic --> > <h2>TOPIC IS: <xsl:value-of select="."/> </h2> > <xsl:for-each select="/doc/qna[topic=current()]"> > <xsl:sort select="q"/> > <p> <xsl:value-of select="q"/>(<xsl:value-of >select="topic"/>) </p> > </xsl:for-each> > </xsl:for-each> ></xsl:template> > > > <xsl:template match="*" priority="-1"> >************ Default ************** > </xsl:template> ></xsl:stylesheet> > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|