To match an element
<x xmlns="default.namespace.uri"/>
use:
<xsl:zzzzz select="prefix:x" xmlns:prefix="default.namespace.uri"/>
You need to match both the namespace and the local name, and the only
way to match a namespaced element in XPath is with a QName that has an
explicit prefix.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Venkateshwar Bommineni
> Sent: 30 September 2002 16:39
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: element with namespace
>
>
> 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
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|