This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: problems with match


Hi,

> this is quite a simple problem, but I don't understand it.
> Why does this not work?
> 
> <xsl:template match="/">
>     the main body
>     <xsl:call-template name="title"/>
> </xsl:template>
> 
> <xsl:template name="title" match="/root/output">
>     <b>Auftrag #<xsl:value-of select="data/ordernr" /> (<xsl:value-of
> select="data/shopname" />)       </b>
> </xsl:template>
> 
> I mean the template name=title -> last section
> 
> Why must I apply the value-of select like this, although I 
> have a "match" in
> the <xsl:template name="title" - tag?:
> It only works like this:
> 
> <xsl:template name="title" match="/root/output">
>     <b>Auftrag #<xsl:value-of select="data/ordernr" /> (<xsl:value-of
> select="data/shopname" />)       </b>
> </xsl:template>

Isn't this identical to the one above? Anyhow, calling a template does not change the current node, even if the template being called has a match attribute. You could do

  <xsl:template match="/">
    the main body
    <xsl:apply-templates name="root/output/data"/>
  </xsl:template>

  <xsl:template match="data">
    <b>Auftrag #<xsl:value-of select="data/ordernr" /> (<xsl:value-of select="data/shopname" />)</b>
  </xsl:template>

If I understood what you were after.

Cheers,

Jarno

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]