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]

using call-template to call template from another xsl


hi

   my xml is 

<order>
	<admin>
		<pon>
			1234
		</pon>
		<name>
			Shirish Wate
		</name>
	</admin>
	<billing>
		<firstname>
			Shirish
		</firstname>
		<lastname>
			Wate
		</lastname>
	</billing>
</order>


i want the output to something like this

<myorder>
	<adminsection>
		<purchaseordernumber>
			1234
		</purchaseordernumber>
		<myname>
			Shirish Wate
		</myname>
	</adminsection>
	<billingsection>
		<myfirstname>
			Shirish
		</myfirstname>
		<mylastname>
			Wate
		</mylastname>
	</billingsection>
</myorder>

but i want to write separate xsl for the admin and billing.
i have written three xsls master.xsl,admin.xsl and billing.xsl
----------------------------------------------------
master.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="admin.xsl"></xsl:import>
	<xsl:import  href="billing.xsl"></xsl:import>
	<xsl:template match="/order/admin">
		<myorder>
			<xsl:call-template name="tmpadmin"/>
			<xsl:call-template name="tmpbill"/>
		</myorder>
	</xsl:template>
</xsl:stylesheet>
----------------------------------------------------
admin.xsl
---------------------------------------------------
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; >
	<xsl:output method = "xml" indent = "yes" omit-xml-declaration="yes"
/> 
	<xsl:template  name="tmpadmin" >
		<adminsection>
			<xsl:if test= "pon"
><purchaseordernumber><xsl:value-of select="pon" />
</purchaseordernumber></xsl:if>
			<xsl:if test= "name" ><myname><xsl:value-of
select="name" /> </myname></xsl:if>
		</adminsection>
	<xsl:template>
</xsl:stylesheet>

-------------------------------------------------
billing.xsl
-------------------------------------------------

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; >
	<xsl:output method = "xml" indent = "yes" omit-xml-declaration="yes"
/> 
	<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>
</xsl:stylesheet>
-------------------------------------------------

i am getting the <adminsection> properly but  in the <billingsection> i get
empty tags <myfirstname> and <mylastname> even though the corresponding tags
are present in the input xml

can anybody help me on this.

thankx in advance
-shirish wate

 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]