Subject: RE: [xsl] Error template trumping other templates on import? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 27 Aug 2007 21:34:37 +0100 |
Template rules in an included module have higher precedence than templates in an imported module, so if a node matches both, the rule in the included module will win. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Steve [mailto:subsume@xxxxxxxxx] > Sent: 27 August 2007 20:22 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Error template trumping other templates on import? > > 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&table=Consumer_Inv&key=id&val=',$con > sumerID))/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" />  > <xsl:value-of > select="MI" />  > <xsl:value-of > select="lastName" />  <br /> > #<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>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Error template trumping o, Tony Graham | Thread | Re: [xsl] Error template trumping o, Steve |
Re: [xsl] Error template trumping o, Tony Graham | Date | [xsl] Open Document Format, Gannon Dick |
Month |