Subject: Re: [xsl] Error template trumping other templates on import? From: Steve <subsume@xxxxxxxxx> Date: Mon, 27 Aug 2007 19:25:22 -0400 |
I understood that general principle, but I didn't necessarily see why a match="*" would replace more specific matches. -Steve On 8/27/07, Michael Kay <mike@xxxxxxxxxxxx> wrote: > 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, Michael Kay | Thread | [xsl] "group-starting-with" and "an, Steven Kaminski |
Re: [xsl] "group-starting-with" and, Abel Braaksma | Date | RE: Re: [xsl] Multiple elements con, cknell |
Month |