Subject: RE: using call-template to call template from another xsl
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Fri, 4 May 2001 09:55:27 +0100
|
> <xsl:template match="/order/admin">
> <myorder>
> <xsl:call-template name="tmpadmin"/>
> <xsl:call-template name="tmpbill"/>
> </myorder>
> </xsl:template>
> <xsl:template name="tmpbill" >
> <adminsection>
> <xsl:if test= "firstname"
> ><myfirstname><xsl:value-of select="firstname" />
> </myfirstname></xsl:if>
> <xsl:if test= "lastname"
> ><mylastname><xsl:value-of
> select="lastname" /> </mylastname></xsl:if>
> </adminsection>
> <xsl:template>
> i get
> empty tags <myfirstname> and <mylastname> even though the
> corresponding tags
> are present in the input xml
They are present in the input XML, but not as children of the context node,
which is /order/admin.
I think it would be a much cleaner design to do
<xsl:template match="order">
<xsl:apply-templates/>
</xsl:template>
and then have a template rule for <admin> in one module, and a rule for
<billing> in the other.
Mike Kay
Software AG
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|