|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Listing all element/attributes/attribute values
> 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
________________________________________________________________________
|
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








