RE: [xsl] using call-template to call template from another xsl

Subject: RE: [xsl] 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


Current Thread