Hi all,
I am having a problem while trying to match root element which has
namespace declaration.
here is the test snippet i am trying ..
Input XML is:
-------------------------------------------------------
<?xml version="1.0"?>
<Test xmlns="http://www.foo.com/namespace/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.foo.com/namespace/v1
C:\schema\definition.xsd">
<People>
<Person>
<FName>fname1</FName>
<LName>lname1</LName>
</Person>
<Person>
<FName>fname3</FName>
<LName>lname3</LName>
</Person>
</People>
</Test>
Input XSL is:
---------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Members>
<xsl:apply-templates select="Test/People"/>
</Members>
</xsl:template>
<xsl:template match="People">
<xsl:for-each select="Person">
<Member><xsl:value-of
select="concat(substring(LName,1,1),'.',FName)"/></Member>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Output of above transformation results:
---------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Members/>
And if remove the namespace declaration from my input xml it works fine.
So is that namespace declaration not allowed or is there any magic
property i need to set in XSL to ignore namespace declarations?
thanks in advance
Venkat
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list