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 ]

<xsl:value-of>, when applied to a node-set (in 1.0) outputs the string value
of the first node in the node-set.

Did you really want to evaluate count(//*) (the number of elements in the
document) when processing each element in the document? Better to put it in
a global variable. Ah, but I see the match="*" template is only executed
once, it doesn't recurse down the tree. You say you're trying to loop
through the XML instance but I see no code that attempts to do so.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: David RR Webber (XML eBusiness) [mailto:w3c@drrw.info] 
> Sent: 29 September 2004 20:08
> To: 'xml-dev@lists.xml.org'
> Subject: [xml-dev] Stupid XSLT tricks
> 
> 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>
> 
> 
> 
> -----------------------------------------------------------------
> 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