Mega Code Archive

 
Categories / XML Tutorial / Xpath
 

Selects only elements which occurs first in each level

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data>     <contact>       <name>A</name>       <street>B</street>       <number>7</number>       <tel>         <home>1111111</home>         <work>7777777</work>       </tel>     </contact>     <contact>       <name>C</name>       <street>D</street>       <number>75</number>       <tel>         <home>21111111</home>         <work>333333333</work>       </tel>     </contact> </data> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet       version="1.0"       xmlns:xsl="http://www.w3.org/1999/XSL/Transform">     <xsl:template match="/">       <TABLE>         <xsl:for-each select="//*[1]">           <xsl:call-template name="generalTemplate"/>         </xsl:for-each>       </TABLE>     </xsl:template>     <xsl:template name="generalTemplate">       <TR>         <TD>           <xsl:value-of select="name(.)"/>         </TD>       </TR>     </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?><TABLE><TR><TD>data</TD></TR><TR><TD>contact</TD></TR><TR><TD>name</TD></TR><TR><TD>home</TD></TR><TR><TD>name</TD></TR><TR><TD>home</TD></TR></TABLE>