This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: context-independent counter


> 
> <list>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> 	<li>text</li>
> </list>
> 
> [through:]
> 
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> 	<xsl:variable name="counter" select="10"/>
> 	<xsl:output method="xml" version="1.0"
> encoding="UTF-8" indent="yes"/>
> 	<xsl:template match="/">
> 		<svg>
> 			<xsl:for-each select="/list/child::li">
> 				<rect x="{$counter}" y="10" 
> width="6" height="4"/>
> 				<xsl:variable name="counter"
> select="$counter+10"/>
> 			</xsl:for-each>
> 		</svg>
> 	</xsl:template>
> </xsl:stylesheet>

You don't say exactly what output you want but looking at your code I think
you want a series of rectangles, the first with x=10, the second with x=20,
etc. In that case: you don't need a counter. The XSLT processor already
counts the nodes in a node set. Each node has a number you can access. So
all you need to do is get the position number of each li element and
multiply it by ten... 

<rect x="{position() * 10}" y="10" width="6" height="4"/>

Linda

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]