> 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?:
You have written a template that can be called either by name, or by
match. When you call it by name, there is no guarantee that the context
node will match the match pattern. In fact, the context node is
unchanged, it is the root node, so data/shopname finds nothing.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|