|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Loops and variables question
> How can implement this if a variable cannot be redefined?? It's not clear why people think that the use of variables in XSLT is any kind of restriction, it explictly is not a restriction. there is no computation that requires variables to be redefined. the code I posted before had a slight typo so here it is again, tested: This relies on your stylesheet having more nodes than the larget value of @quantity. <ROOMS> <ROOM quantity="5"/> <ROOM quantity="3"/> <ROOM quantity="7"/> </ROOMS> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="ROOM"> <xsl:variable name="n" select="@quantity"/> Room: <xsl:for-each select="(document('')//node())[position()<=$n]"> <xsl:value-of select="position()"/> <xsl:if test="position()<last()">, </xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet> $ saxon room.xml room.xsl <?xml version="1.0" encoding="utf Room: 1, 2, 3, 4, 5 Room: 1, 2, 3 Room: 1, 2, 3, 4, 5, 6, 7 =============================================== In xslt 2 you could use the more natural construct (and no variables at all) <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="ROOM"> Room: <xsl:value-of select="1 to @quantity"> </xsl:template> </xsl:stylesheet> $ saxon7 room.xml room.xsl <?xml version="1.0" encoding="UTF-8"?> Room: 1, 2, 3, 4, 5 Room: 1, 2, 3 Room: 1, 2, 3, 4, 5, 6, 7 David -- http://www.dcarlisle.demon.co.uk/matthew ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|






