Re: [xsl] namespace-uri() method returns emty,using xalan 2.0

Subject: Re: [xsl] namespace-uri() method returns emty,using xalan 2.0
From: Oleg Tkachenko <olegt@xxxxxxxxxxxxx>
Date: Tue, 13 Nov 2001 10:39:43 +0200
challa sumalatha wrote:

Hey list:
i tried with all of the following options to get the namespace-uri(),all of my efforts are in vain.In all of these cases it returns empty.Help needed....

xml:
<?xml version="1.0"?>
<a:root xmlns:a="name-a">
<b:sub xmlns:b="name-b"/>
<c:sub xmlns:c="name-c"/>
</a:root>
xsl:method1:
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0"
xmlns:a="name-a" xmlns:b="name-b" xmlns:c="name-c">
<xsl:template match="/">
<xsl:for-each select="a:root">
<uri><xsl:value-of select="namespace-uri()"/></uri>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

This one works fine for me on msxml3 and saxon and because of its simplicity it have to work :) I got
<uri xmlns:a="name-a" xmlns:b="name-b" xmlns:c="name-c">name-a</uri>



xsl: method:2
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0"
xmlns:a="name-a" xmlns:b="name-b" xmlns:c="name-c">
<xsl:template match="/">
<xsl:for-each select="*/[name()='a:root']">

This is XPath syntax error - predicate always requires nodetest, you probably mean *[name()='a:root'], which is tough version of a:root.
I guess the problem is in your processor, which one are you using?



-- Oleg Tkachenko Multiconn International, Israel


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread