On 22 February 2011 12:39, Merrilees, David
<David.Merrilees@xxxxxxxxxxxx> wrote:
> Hi
>
> I'm having trouble matching a named element vs using node(). Code below. Any
bright ideas?
>
> Example input:
>
> <?xml version="1.0" encoding="utf-8"?>
> <html>
> <head>
> <title>Vmtejte</title>
> <meta charset="utf-8"/>
> </head>
> <body id="home">
> </body>
> </html>
> <xsl:template match="node() | @*" mode="test">
> <!-- always matched -->
> <xsl:sequence select="." />
> </xsl:template>
That will match <html> and then effectively copy the whole input tree
to the output... you need to call apply-templates:
<xsl:template match="/">
<xsl:apply-templates mode="test"/>
</xsl:template>
<xsl:template match="node() | @*" mode="test">
<xsl:copy>
<xsl:apply-templates select="@* | node()" mode="#current"/>
</xsl:copy>
</xsl:template>
<xsl:template match="head" mode="test">
<xsl:copy>
<xsl:apply-templates select="@* | node()" mode="test" />
<link rel="shortcut icon" href="/favicon.ico" />
</xsl:copy>
</xsl:template>
--
Andrew Welch
http://andrewjwelch.com
|