RE: [xsl] XSL to generate required output

Subject: RE: [xsl] XSL to generate required output
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 12 Dec 2005 14:20:12 -0000
> 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