|
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 |