|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: local grouping
Hi Konrad,
> For each <g> element I want to group the children into sub elements
> based on the value of x, so like this:
You can use the Muenchian method with a key that uses a combination of
the identity (via generate-id()) of the <g> element and the value of
the x attribute. Try:
<xsl:key name="mykey" match="line" use="concat(generate-id(..), @x)"/>
<xsl:template match="g">
<xsl:variable name="this" select="generate-id()" />
<xsl:for-each select="*[count( . |
key('mykey',
concat($this, @x))[1]) = 1]">
<!-- build the inner g's -->
</xsl:for-each>
</xsl:template>
This should be faster since you're getting to the child elements
directly via the key rather than having to use the intersection
extension function.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
|
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








