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]

Confusion with template!


Hi,

XSLT -->

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
<xsl:template match="/">
<xsl:element name="ADDRESS">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>

<xsl:template match="//">
<xsl:element name="RECORD">
<xsl:attribute name="ID">
<xsl:value-of select="@ID"/>
</xsl:attribute>
<xsl:element name="PALMRECID">
	<xsl:value-of select="EXCHNGRECID"/>
</xsl:element>
<xsl:element name="CATEGORYINDEX">
	<xsl:value-of select="CATEGORY"/>
</xsl:element>
<xsl:element name="NAME">
	<xsl:value-of select="LASTNAME"/>
</xsl:element>
<xsl:element name="FIRSTNAME">
	<xsl:value-of select="FIRSTNAME1"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

XML -->

<?xml version="1.0"?>
<ADDRESS>
	<RECORD ID="1">
		<EXCHNGRECID> 10001 </EXCHNGRECID>
		<CATEGORY>  1 </CATEGORY>
		<LASTNAME> ZXCV </LASTNAME>
		<FIRSTNAME1> ASDF </FIRSTNAME1>
	</RECORD>
	<RECORD ID="2">
		<EXCHNGRECID> 10002 </EXCHNGRECID>
		<CATEGORY>  2 </CATEGORY>
		<LASTNAME> ABCD </LASTNAME>
		<FIRSTNAME1> EFGH </FIRSTNAME1>
	</RECORD>
</ADDRESS>



Result should be -->

<?xml version="1.0" encoding="UTF-8"?>
<ADDRESS>
<RECORD ID="1">
<PALMRECID> 10001 </PALMRECID>
<CATEGORYINDEX>  1 </CATEGORYINDEX>
<NAME> ZXCV </NAME>
<FIRSTNAME>  ASDF</FIRSTNAME>
</RECORD>
<RECORD ID="2">
<PALMRECID> 10002 </PALMRECID>
<CATEGORYINDEX>  2 </CATEGORYINDEX>
<NAME> ABCD </NAME>
<FIRSTNAME> EFGH</FIRSTNAME>
</RECORD>
</ADDRESS>


but I am getting -->

<?xml version="1.0" encoding="UTF-8"?>
<ADDRESS>

		 10001
		  1
		 ZXCV
		 ASDF


		 10002
		  2
		 ABCD
		 EFGH

</ADDRESS>

and If I change my xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
<xsl:template match="/">
<xsl:element name="ADDRESS">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>

<xsl:template match="ADDRESS">
<xsl:element name="RECORD">
<xsl:attribute name="ID">
<xsl:value-of select="//@ID"/>
</xsl:attribute>
<xsl:element name="PALMRECID">
	<xsl:value-of select="//EXCHNGRECID"/>
</xsl:element>
<xsl:element name="CATEGORYINDEX">
	<xsl:value-of select="//CATEGORY"/>
</xsl:element>
<xsl:element name="NAME">
	<xsl:value-of select="//LASTNAME"/>
</xsl:element>
<xsl:element name="FIRSTNAME">
	<xsl:value-of select="//FIRSTNAME1"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>


I get -->

<?xml version="1.0" encoding="UTF-8"?>
<ADDRESS><RECORD ID="1"><PALMRECID> 10001 </PALMRECID><CATEGORYINDEX>  1
</CATEGORYINDEX><NAME> ZXCV </NAME><FIRSTNAME> ASDF
</FIRSTNAME></RECORD></ADDRESS>


Why only one record in last case? or why it has not taken elements in first
case


 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]