Subject: Re: [xsl] union/intersection on attribute values From: Francis Norton <francis@xxxxxxxxxxx> Date: Mon, 23 Apr 2001 09:16:42 +0100 |
Dan Diebolt wrote: > > > or poised another way, how do you de-dup $In2not1 to produce variable > $In2not1_deduped" > > <xsl:variable name="In2not1_deduped" select="f($In2not1)"/> > Good question. To which I do not have an answer. Nearest I got to it was this: --- <xsl:template match="items"> <xsl:variable name="In2not1" select="item/@set2[not(. = /items/item/@set1)]"/> In2not1= <xsl:for-each select="$In2not1"> <xsl:value-of select="."/> </xsl:for-each> <br/> In2not1= <xsl:for-each select="$In2not1"> <xsl:if test="generate-id() = generate-id($In2not1[. = current()])"> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> <br/> $In2not1_deduped= <xsl:variable name="In2not1_deduped" select="$In2not1[generate-id() = generate-id($In2not1[. = current()])]"/> <xsl:value-of select="$In2not1_deduped"/> <br/> </xsl:template> --- which outputs: --- C:\xml>saxon t.xml t.xslt <?xml version="1.0" encoding="utf-8"?> In1and2= AC<br/> In1not2= B<br/> In2not1= DDDEEF<br/> In2not1= DEF<br/> $In2not1_deduped= <br/> C:\xml> --- The "generate-id() = generate-id($In2not1[. = current()])" expression works as a test inside a for-each but not as a predicate on a select attribute, I suspect because current() has a different scope. I'm nose to grindstone today, so if anyone else has better ideas? Francis. > <items> > <item id="1" set1="A"/> > <item id="2" set1="B"/> > <item id="3" set1="C"/> > <item id="4" set2="A"/> > <item id="5" set2="C"/> > <item id="6" set2="D"/> > <item id="7" set2="D"/> > <item id="8" set2="D"/> > <item id="9" set2="E"/> > <item id="a" set2="E"/> > <item id="b" set2="F"/> > </items> > > __________________________________________________ > Do You Yahoo!? > Yahoo! Auctions - buy the things you want at great prices > http://auctions.yahoo.com/ > > 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: [xsl] union/intersection on att, Dan Diebolt | Thread | Re: [xsl] union/intersection on att, David Carlisle |
Re: [xsl] union/intersection on att, Dan Diebolt | Date | Re: [xsl] union/intersection on att, David Carlisle |
Month |