Subject: RE: Checking node position From: "Pawson, David" <DPawson@xxxxxxxxxxx> Date: Mon, 4 Sep 2000 10:24:16 +0100 |
Gary, Saxon 5.4.1 complains <xsl:variable name="head-types" select="document('')//x:keynode/text()"/> <xsl:template match="p[. = $head-types]"> <xsl:element name="{.}"> <xsl:apply-templates select="key('parent', generate-id())[not(. = $head-types)]" mode="inner"/> </xsl:element> </xsl:template> Failed to compile style sheet At xsl:template on line 18 of trash.xsl: The match pattern in xsl:template may not contain references to variables 18 is the template match above. It looks OK to me, am I missing something? The variable within the predicate I thought was OK? DaveP Gary Peskin wrote: > This approach is a little more table-driven: > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:x="foo" exclude-result-prefixes="x"> > > <x:keynode>head1</x:keynode> > <x:keynode>head2</x:keynode> > > <xsl:key name="parent" match="p" > use="generate-id(preceding-sibling::p[string(.) = > document('')//x:keynode/text()])" /> > > <xsl:variable name="head-types" > select="document('')//x:keynode/text()"/> > > <xsl:template match="p[. = $head-types]"> > <xsl:element name="{.}"> > <xsl:apply-templates select="key('parent', generate-id())[not(. = > $head-types)]" > mode="inner"/> > </xsl:element> > </xsl:template> > > <xsl:template match="p"/> > > <xsl:template match="p" mode="inner"> > <sub> > <xsl:copy-of select="."/> > </sub> > </xsl:template> > > </xsl:stylesheet> > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Checking node position, Gary L Peskin | Thread | Re: Checking node position, David Carlisle |
Re: real time transformations, Daniel Hinz | Date | RE: real time transformations, Guðmundur Erlingsson |
Month |