|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: union/intersection on attribute values
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
|
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
|

Cart








