Subject: RE: Preceding: can't filter my nodes? From: "Pollington, Lee (ELSLON)" <lee.pollington@xxxxxxxxxxxxx> Date: Wed, 13 Sep 2000 16:35:23 +0100 |
Thanks Mike, I can now go on holiday without any XSLT worries :) That certainly does work (with a bracket change) and certainly does look expensive. However it will only be evaluated a few times at most and on no more than 30-40 nodes max. I still haven't got to grips with keys yet, that will be next. Saxon is my prefered XSLT processor, but I am running this as an Oracle stored java procedure. It seems to perform pretty well. regards Lee -----Original Message----- From: Kay Michael [mailto:Michael.Kay@xxxxxxx] Sent: 12 September 2000 17:36 To: 'xsl-list@xxxxxxxxxxxxxxxx' Subject: RE: Preceding: can't filter my nodes? > I'm trying to get a unique set of nodes. I can't seem to tie > the preceding > axis to a filter on a given ID. I have tried filtering that > node set into a > variable and then getting a unique list from that, but I am > still operating > on the whole node set.(abbreviated XML below) > > <xsl:variable name="ats" select="/ROWSET/ROW[R_ID='14144']"/> > <xsl:for-each select="$ats/AT_ID[not(.=preceding::AT_ID)]"> > <at_id><xsl:value-of select="."/></at_id> > </xsl:for-each> "preceding", like all the other axes, means "preceding in the source document", not "preceding in the node-set". I'm tempted to suggest the saxon:distinct() function, but I know that's cheating! select="saxon:distinct($ats/AT_ID)" Perhaps you want select="$ats/AT_ID[not(.=preceding::AT_ID[ancestor::ROW[R_ID='1 4144']]]"> but it looks horribly inefficient. If you want a solution that's both portable and efficient, it will probably use keys. Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Preceding: can't filter my node, Alexey Gokhberg | Thread | Free Software Company, Radhakrishnan C V |
Re: XSLT V 1.1, Paul Tchistopolskii | Date | Re: Preceding: can't filter my node, Alexey Gokhberg |
Month |