This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Confusion with template!
- To: "'Xsl-List" <xsl-list at lists dot mulberrytech dot com>
- Subject: [xsl] Confusion with template!
- From: "Sumev" <skohli at mobilehelix dot com>
- Date: Fri, 21 Sep 2001 18:01:13 -0400
- Reply-To: xsl-list at lists dot mulberrytech dot com
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