Subject: Re: [xsl] Listing all element/attributes/attribute values From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 7 Jul 2005 14:30:01 +0100 |
> What I want to do is with any well-formed XML document list all the > elements, attributes and attribute-values in a sorted list. This is a typical "muenchian grouping" problem > Is this even easier in xslt2? Only in so far as you are more likely to think of using xsl:for-each-group than you are of usimg the MG equivalent *[generate-id()=generate-id(key('e',name()))]" (except of course for people on this list who see this idiom most days:-) David <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text"/> <xsl:key name="e" match="*" use="name()"/> <xsl:key name="a" match="@*" use="concat(name(..),' ',name())"/> <xsl:template match="/"> <xsl:for-each select="//*[generate-id()=generate-id(key('e',name()))]"> <xsl:sort select="name()"/> <xsl:text> </xsl:text> <xsl:value-of select="name()"/> (<xsl:value-of select="count(key('e',name()))"/>) <xsl:for-each select="key('e',name())/@*[generate-id()=generate-id(key('a',concat(name(..),' ',name())))]"> <xsl:sort select="name()"/> <xsl:text> - </xsl:text> <xsl:value-of select="name()"/> <xsl:for-each select="key('a',concat(name(..),' ',name()))"> <xsl:text> = </xsl:text> <xsl:value-of select="."/> </xsl:for-each> </xsl:for-each> </xsl:for-each> </xsl:template> </xsl:stylesheet> $ saxon list.xml list.xsl a (1) - href = http://www.example.com/ div (1) - class = foo p (2) - class = big = small - style = font-weight: bold - xml:id = abc123 span (2) - class = foo = bar ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Listing all element/attribute, James Cummings | Thread | Re: [xsl] Listing all element/attri, James Cummings |
[xsl] Listing all element/attribute, James Cummings | Date | Re: [xsl] Listing all element/attri, Joris Gillis |
Month |