[Home] [By Thread] [By Date] [Recent Entries]

  • To: "'xml-dev@l...'" <xml-dev@l...>
  • Subject: Stupid XSLT tricks
  • From: "David RR Webber (XML eBusiness)" <w3c@d...>
  • Date: Wed, 29 Sep 2004 15:08:00 -0400
  • User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040803

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

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>



Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member