RE: [xsl] XSL to generate required output

Subject: RE: [xsl] XSL to generate required output
From: "Amrit Pal Singh" <ampsingh@xxxxxxxxx>
Date: Mon, 12 Dec 2005 20:06:22 +0530
Sorry for all that mess. But problem still persists:(

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Monday, December 12, 2005 7:50 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] XSL to generate required output

>
> I tried using following xsl:
>
> 	<xsl:template match="Root[Cell='##']">
> 		<xsl:variable name="poscurrent" select="position()"/>
> 		<Level>
> 			<xsl:copy-of
> select="following-sibling::Row[not(Cell='##')][position()
> &lt; poscurrent]"/>
> 		</Level>
> 	</xsl:template>
>
> Please let me know where I'm going wrong?
>
> <Root>
> 	<Cell>###</Cell>
> 	<Cell>x</Cell>
> 	<Cell>y</Cell>
> 	<Cell>###</Cell>
> 	<Cell>z</Cell>
> </Root>
>

Almost everywhere, I'm afraid.

First correct "###" to "##", and "poscurrent" to "$poscurrent".

A Root element doesn't have a following-sibling that's a Row.

The value of position() (and hence of $poscurrent) depends on the
apply-templates that causes this template rule to be invoked, which
isn't shown. But it's unlikely to have any relevance to the problem.

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

Current Thread