[xsl] position() misunderstanding

Subject: [xsl] position() misunderstanding
From: "I-Lin Kuo" <ikuoikuo@xxxxxxxxxxx>
Date: Thu, 13 Feb 2003 19:08:19 +0000
I must be misunderstanding what a simple function like position() does. Can someone explain to me why the following returns all even numbers in the result? I would expect it to be {1][2][3] instead of [2][4][6]

=== test.xml ===
<?xml version="1.0" encoding="UTF-8"?>

<Catalog>
	<Book>
		<Title>Dune</Title>
		<Authors>Frank Herbert</Authors>
	</Book>
	<Book>
		<Title>The Stars My Destination</Title>
		<Authors>Alfred Bester</Authors>
	</Book>
	<Book>
		<Title>SLAN</Title>
		<Authors>A. E. Van Vogt</Authors>
	</Book>
</Catalog>

=== test.xsl ===
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>


<xsl:template match="/">
	<content>
	<xsl:apply-templates/>
	</content>
</xsl:template>

<xsl:template match="Book" >
	<Book>
		<xsl:value-of select="Title"/>
		[<xsl:value-of select="position()"/>]
	</Book>
</xsl:template>
</xsl:stylesheet>

=== testresults.xml ====
<?xml version="1.0" encoding="UTF-8"?>
<content>
	<Book>Dune
		[2]
	</Book>
	<Book>The Stars My Destination
		[4]
	</Book>
	<Book>SLAN
		[6]
	</Book>
</content>

_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail



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



Current Thread