|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Stupid XSLT tricks
<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@d...] > Sent: 29 September 2004 20:08 > To: 'xml-dev@l...' > Subject: 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> >
|
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








