OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Stupid XSLT tricks

[ 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>
> 





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS