xsl-list
[Top] [All Lists]

RE: apply-template doesn't hit template

2004-09-13 06:15:51
Hello,

<xsl:template select="kcm">
        <xsl:message>template hits</xsl:message>
        <!-- This message is never seen -->
</xsl:template>


watch out the above construct. xsl template doesnt have a select attribute...

this should be
<xsl:template match="kcm">
        <xsl:message>template hits</xsl:message>
        <!-- This message is never seen -->
</xsl:template>

( I can imagine you kicking yourself )

I havent seen rest of your code. See if this works...
Vasu



From: Frans Englich <frans(_dot_)englich(_at_)telia(_dot_)com>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] apply-template doesn't hit template
Date: Mon, 13 Sep 2004 12:58:39 +0000


Hello all,

I have an embarrassing simple apply-templates/template problem. Here's my
source document:

<kcmtests>

<kcm kcfg="true" [...]>
[...]
</kcm>

<kcm kcfg="false" [...]>
[...]
</kcm>

<kcm kcfg="false" [...]>
[...]
</kcm>

</kcmtests>

There's 21 kcm elements, all of them have "kcfg='true'".

<xsl:template select="kcm">
        <xsl:message>template hits</xsl:message>
        <!-- This message is never seen -->
</xsl:template>

<xsl:template match="/">
        <xsl:apply-templates select="//kcm[(_at_)kcfg='true']"/>
        <xsl:message>
                <xsl:value-of select="count(//kcm[(_at_)kcfg='true'])"/>
                <!-- This reports 0, which is correct -->
        </xsl:message>

        <xsl:apply-templates select="//kcm[(_at_)kcfg='false']"/>
        <xsl:message>
                <xsl:value-of select="count(//kcm[(_at_)kcfg='false'])"/>
                <!-- This reports 21, which is correct -->
        </xsl:message>
</xsl:template>


What I want to achieve is to in one place select entries(the root template),
and then with the first template format them for representation -- but it
doesn't hit. Instead, the selected items(the 21 kcm) is printed right out in
the output(their content, no elements).

I have two questions:

1. Why doesn't the template hit?

2. Why are the content simply sent to the output? Is it because I selected
them, but no template matched?

The above XSL is that simple, I've commented out everything else for testing
purposes.


Thanks in advance,

                        Frans






--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--


_________________________________________________________________
Use MSN Messenger to send music and pics to your friends http://www.msn.co.uk/messenger