Subject: Re: [xsl] Generating a unique listing of elements from multiple sets From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 24 Jan 2007 18:18:38 GMT |
Your input wasn't well formed but after fixing that, i think this does what you want. Th e"uniqueness" aspect is automatic given xpath1's node set semantics as sets never have repeated values. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:key name="c" match="country" use="@id"/> <xsl:key name="cg" match="countryGroup" use="@groupID"/> <xsl:template match="data"> <xsl:apply-templates select="businesses/business"/> </xsl:template> <xsl:template match="business"> <xsl:text> </xsl:text> <xsl:value-of select="name"/> <xsl:text>: </xsl:text> <xsl:for-each select="key('c',key('cg',countryGroup/@included)/country/@included)"> <xsl:value-of select="."/> <xsl:text> </xsl:text> </xsl:for-each> </xsl:template> </xsl:stylesheet> $ saxon gm.xml gm.xsl <?xml version="1.0" encoding="utf-8"?> Acme: United States Mexico Another Acme: Canada Mexico David oops I just use saxon on the command line, silly me:-)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Generating a unique listing o, Glen Mazza | Thread | Re: [xsl] Generating a unique listi, Glen Mazza |
RE: [xsl] xslt (multi) threading or, Michael Kay | Date | Re: [xsl] XSLT 2.0 has arrived, Robert Koberg |
Month |