[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] problem with variable and position()
Subject: RE: [xsl] problem with variable and position() From: Jarno.Elovirta@xxxxxxxxx Date: Wed, 27 Aug 2003 09:58:17 +0300 |
Hi, > <xsl:template match="body"> > <xsl:element name="description"> > <xsl:apply-templates > select="text()[starts-with(normalize-space > (),'Description')]" mode="description"/> > </xsl:element> > </xsl:template> > <xsl:template > match="text()[starts-with(normalize-space(),'Description')]" > mode="description"> > <xsl:variable name="descPos" > select="position()"/> > <xsl:apply-templates > select="text()[position()>$descPos]"/> > > </xsl:template> This template could as well be simply <xsl:template match="text()" mode="description"> <xsl:variable name="descPos" select="position()"/> <xsl:apply-templates select="text()[position()>$descPos]"/> </xsl:template> unless you have multiple different templates that match text nodes in "description" mode. > <xsl:template match="text()[position()>$descPos]"> > <xsl:value-of select="."/> > </xsl:template> And this should be <xsl:template match="text()"> <xsl:value-of select="."/> </xsl:template> or, you don't even need this, because the build-in template rule will take care of it > the input documents. I tried to store the position of the > description text in the > descPos variable to use it later, but the above stylesheet > gives me an error of "Invalid > variable reference". How could I re-write the last template > so I avoid this error? For one, the descPos variable will be out of scope in the other template -- see the XSLT spec for variable scope. Also, variable references are not allowed in match patterns. Cheers, Jarno XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] global variable and posit, Michael Kay | Thread | RE: [xsl] problem with variable and, fe . sola |
[xsl] problem with variable and pos, fe . sola | Date | [xsl] recursion with xsl:apply-temp, Volker Witzel |
Month |
Keywords