Hi
I have a source xml which is as follows.
<abc:RootElement xmlns:abc="http://www.xxxxx.xxx">
<abc:FirstElement>
<xyz:NewElement xmlns:xyz="http://www.yyyyy.yyy">
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
</xyz:NewElement>
<xyz:NewElement xmlns:xyz="http://www.yyyyy.yyy">
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
</xyz:NewElement>
</abc:FirstElement>
<abc:FirstElement>
<xyz:NewElement xmlns:xyz="http://www.yyyyy.yyy">
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
</xyz:NewElement>
<xyz:NewElement xmlns:xyz="http://www.yyyyy.yyy">
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
<abc:SecondElement xmlns:xyz="http://www.yyyyy.yyy" xyz:usage="Required">
<abc:ThirdElement>End</abc:ThirdElement>
</abc:SecondElement>
</xyz:NewElement>
</abc:FirstElement>
</abc:RootElement>
I need to loop through each of the <xyz:NewElement/> tag and also each of the <abc:SecondElement/> tag.
Thus i try to use two <xsl:for-each/> tags one on <xyz:NewElement/> and other on <abc:SecondElement/>. But the problem is i am not able to loop through the <abc:SecondElement/> tag.
i.e
My xslt is as follows.
<xsl:for-each select="abc:RootElement/abc:FirstElement/xyz:NewElement">
<xsl:for-each select=""> <!-- Not able to get any of the sub elements of xyz:NewElement tag -->
</xsl:for-each>
</xsl:for-each>
even
<xsl:value-of select="abc:RootElement/abc:FirstElement/xyz:NewElement/abc:SecondElement"/>
is not working.
Let me know how i can solve this prefix collision.
Have also attached the sample .xml and .xsl files
Thanks in Advance.
test(15).xml Sample XML
testxslt.xsl Sample XSL
|