[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

AW: [xsl] template never matches


Subject: AW: [xsl] template never matches
From: "Szabo, Patrick \(LNG-VIE\)" <patrick.szabo@xxxxxxxxxxxxx>
Date: Tue, 22 Feb 2011 13:46:40 +0100

Hi,

If i understand that correctly you need an apply-templates in the template
that matches node() | @*
AFAIK xsl:sequence will only copy the childs into a sequence but it won't
apply any templates to them.

Also if you match "/" you won't need copy because "/" isn't really an element
thus there is nothing to copy.

regards



. . . . . . . . . . . . . . . . . . . . . . . . . .
Patrick Szabo
 XSLT-Entwickler
LexisNexis
Marxergasse 25, 1030 Wien

mailto:patrick.szabo@xxxxxxxxxxxxx
Tel.: +43 (1) 534 52 - 1573
Fax: +43 (1) 534 52 - 146


-----UrsprC<ngliche Nachricht-----

Von: Merrilees, David [mailto:David.Merrilees@xxxxxxxxxxxx]
Gesendet: Dienstag, 22. Februar 2011 13:39
An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Betreff: [xsl] template never matches

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>VC-tejte</title>
    <meta charset="utf-8"/>
  </head>
  <body id="home">
  </body>
</html>

XSL:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        exclude-result-prefixes="xs xsl">

        <xsl:template match="/">
                <xsl:copy>
                        <xsl:apply-templates select="@* | node()"
mode="test"/>
                </xsl:copy>
        </xsl:template>

        <xsl:template match="node() | @*" mode="test">
                <!-- always matched -->
                <xsl:sequence select="." />
        </xsl:template>

        <xsl:template match="head" mode="test">
                               <!-- never matched -->
                <xsl:copy>
                        <xsl:apply-templates select="@* | node()" mode="test"
/>
                        <link rel="shortcut icon" href="/favicon.ico" />
                </xsl:copy>
        </xsl:template>

</xsl:stylesheet>

This is a confidential email. Tesco may monitor and record all emails. The
views expressed in this email are those of the sender and not Tesco.

Tesco Stores Limited
Company Number: 519500
Registered in England
Registered Office: Tesco House, Delamare Road, Cheshunt, Hertfordshire EN8
9SL
VAT Registration Number: GB 220 4302 31


Current Thread