[
Lists Home |
Date Index |
Thread Index
]
David RR Webber (XML eBusiness) wrote:
> OK - I have managed to code myself into a corner with XSLT and looping
> thru a structure.
>
> I have one that works - and one that does not. Trying to figure the
> differences between same
> and going gently crazy!
>
> What I'm trying to do is just loop thru a XML instance dumping out the
> attributes of all nodes.
> Right now what I have dumps out the first instance of an attribute it
> finds then stops!
>
> Of course the original template happily dumps out all elements - but - I
> did change the target
> statements - and now....this has to be obvious but....
The source XML would help, but you probably want something like:
<xsl:template match="*">
<tr>
<td colspan="2">
<xsl:value-of select="local-name()"/>
<!-- you probably want to apply-templates on ancestor-or-self to get the
XPath to element -->
</
</tr>
<xsl:apply-templates select="@*"/>
</
<xsl:template match="@*">
<tr>
<td>
<xsl:value-of select="local-name()"/>
<!-- you probably want to apply-templates on ancestor-or-self to get the
XPath to element -->
</td>
<td>
<xsl:value-of select="."/>
</td>
</tr>
</
best,
-Rob
>
> Help!
>
> Thanks, DW
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:t="http://www.testing.org/xslt">
>
> <xsl:template match="/">
> <html>
> <head>
> <title>Get Attributes</title>
> </head>
> <body>
>
> <table border="0" width="100%">
> <tr>
> <td>
> <b>
> Catalogue Attributes
> </b>
> </td>
> <td>
>
> </td>
>
> </tr>
> </table>
>
> <br/>
> <table border="0" width="100%">
> <tr bgcolor='yellow'><b>
> <th height='35'><b><font face="arial">Attribute</font></b></th>
> <th height='35'><b><font face="arial">Value</font></b></th>
> </b>
> </tr>
>
> <!-- Now write the table rows out just here -->
> <xsl:apply-templates/>
> <!-- Now write the table last row at end -->
> <tr bgcolor='yellow'><b>
> <th WIDTH="25%" height='35'></th>
> <th WIDTH="75%" height='35'></th>
> </b>
> </tr>
>
> </table>
> </body>
> </html>
>
> </xsl:template>
>
> <xsl:template match="*">
> <tr>
> <td> <font SIZE="2">
> <xsl:value-of select="count(//*)"/>
> </font>
> </td>
> <td> <font SIZE="2">
> <xsl:value-of select=".//@*"/> </font>
> </td>
> </tr>
> </xsl:template>
>
> </xsl:stylesheet>
>
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
>
|