not able to print child nodes upto 2 level
<root>
<test title="Home" link="4" >
<test title="about usUS" link="aboutUS" />
<test title="historyUS" link="historyUS" />
<test title="infoUS" link="infoUS" >
<test title="pressUS" link="pressUS" />
<test title="newsUS" link="newsUS" />
</test>
</test>
<test title="UK" link="4" >
<test title="about usuk" link="aboutuk" />
<test title="historyuk" link="historyuk" />
<test title="infouk" link="infouk" >
<test title="pressuk" link="pressuk" />
<test title="newsuk" link="newsuk" />
</test>
</test>
</root>
<xsl:template match="/">
[list]
<xsl:for-each select="./test[@title='Home']/test">
<li><xsl:value-of select="@title"></xsl:value-of></li>
<xsl:if test="test">
[list]
<xsl:for-each select="./test">
<li><xsl:value-of select="@title"></xsl:value-of></li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:for-each>
</ul>
[list]
<xsl:for-each select="./test[@title='UK']/test">
<li><xsl:value-of select="@title"></xsl:value-of></li>
<xsl:if test="test">
[list]
<xsl:for-each select="./test">
<li><xsl:value-of select="@title"></xsl:value-of></li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:for-each>
</ul>
</xsl:template>
above is my XML and XSLT.
when I run the query it fails not sure whats going on. if I remove the whole xsl:for-each for UK
I am able to get HOME etc printed just fine but when I use the same for UK it fails. This is the output I am looking for.
[list]
<li>about us</li>
<li>history</li>
<li>info</li>
[list]
<li>press</li>
<li>news</li>
</ul>
</ul>[list]
<li>about usuk</li>
<li>historyuk</li>
<li>infouk</li>
[list]
<li>pressuk</li>
<li>newsuk</li>
</ul>
</ul>
|