This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: union/intersection on attribute values
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] union/intersection on attribute values
- From: Dan Diebolt <dandiebolt at yahoo dot com>
- Date: Sat, 21 Apr 2001 11:26:58 -0700 (PDT)
- Reply-To: xsl-list at lists dot mulberrytech dot com
DC on set1 and set2> select="item/@set1[. = /items/item/@set2]"
DC on set1 less set2> select="item/@set1[not(. = /items/item/@set2)]"
DC on set2 less set1> select="item/@set2[not(. = /items/item/@set1)]"
FN>select="string(item/@set2[not(. = /items/item/@set1)])"
FN>is an alternative way of de-duping the results.
string() doesn't dedup the Venn pieces for me.
DC, can you elaborate your approach using count()?
FN, can you elaborate your approach using string()?
Regards,
Dan
XSL:
<xsl:template match="items">
<xsl:variable name="In1and2" select="string(item/@set1[. =
/items/item/@set2])"/>
In1and2=<xsl:value-of select="$In1and2"/><br/>
<xsl:variable name="In1not2" select="string(item/@set1[not(. =
/items/item/@set2)])"/>
<xsl:value-of select="string(item/@set1[not(. = /items/item/@set2)])"/><br/>
In1not2=<xsl:value-of select="$In1not2"/><br/>
<xsl:variable name="In2not1" select="string(item/@set2[not(. =
/items/item/@set1)])"/>
In2not1=<xsl:value-of select="$In2not1"/><br/>
</xsl:variable>
XML Fragment:
<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