xsl-list
[Top] [All Lists]

[xsl] Error template trumping other templates on import?

2007-08-27 12:22:51
Hello there,

I've got master.xsl which is imported by local.xsl. local.xsl also
includes global.xsl. global.xsl, which contains an error-matching
template in order to alert me in the case of ambiguous/non-matches. I
know several of you use a similar template to catch template match
problems.

My problem is that when included into local.xsl, the error template
takes over all matches. However, when the templates from master.xsl
are placed into local.xsl, all is fine. Also, when the error template
is removed entirely, everything matches as expected.

Is the error matching template causing all templates in master.xsl not
to be imported?

local.xsl---------------

<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:import href="../../../master/Consumers/xsl/global.xsl" />
        <xsl:include href="../../Global/xsl/templates.xsl" />

        <xsl:variable name="XML" select="document('../XML.xml')/node()" />

        <xsl:param name="consumerID" />
        <xsl:param name="Mode" />
</xsl:stylesheet>

master.xsl------------

<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:template name="master" match="/">
                <xsl:choose>
                        <xsl:when test="$R/id and $R/firstName">
                                <xsl:apply-templates mode="nav" select="$R" />
                        </xsl:when>
                        <xsl:when test="$consumerID!=''">
                                <xsl:apply-templates mode="nav"
select="document(concat($getXML,'fields=id,firstName,lastName,MI,consumerID&amp;table=Consumer_Inv&amp;key=id&amp;val=',$consumerID))/Records/Record"
/>
                        </xsl:when>
                </xsl:choose>
                <xsl:call-template name="warning" />
                <xsl:apply-templates />
                <xsl:call-template name="warning" />
        </xsl:template>
        <xsl:template mode="nav" match="node()" >
                <fieldset id="navigation" class="oneCol">
                        <div>
                                <span id="consumerInfo">
                                        <xsl:value-of select="firstName" />&#32;
                                        <xsl:value-of select="MI" />&#32;
                                        <xsl:value-of select="lastName" /> 
&#32;<br />
                                        &#35;<xsl:value-of select="consumerID" 
/>
                                </span>
                         </div>
                </fieldset>
          </xsl:template>
</xsl:stylesheet>

global.xsl ------
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:template match="*">
                Error matching template
        </xsl:template>
</xsl:stylesheet>

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

<Prev in Thread] Current Thread [Next in Thread>