This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: namesapce-uri() method returns emty, when using xalan 2.0


Hello challa !

>  say for example my xml document is as follows:
> 
> <?xml version="1.0"?>
> <a:root xmlns:a="name-a">
> 	<b:sub xmlns:b="name-b"/>
> 	<c:sub xmlns:c="name-c"/>
> </a:root>
> 
> here is my XSl ::
> 
> <?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="root">
>    <uri><xsl:value-of select="namespace-uri()"/></uri>
>  </xsl:for-each>
> </xsl:template>
> </xsl:stylesheet>
> 
> when i transform using Trax api i am getting namespace-uri() 
> method returns emty.i have no clue.

This is because you don't have element named "root" with null namespace in the context.
There is a big difference between "root" and "a:root" - the first one means "element with local name "root" and null namespace" while the second one means "element with local name "root" and namespace URI which is associated with prefix "a" at the moment".
I think you have use <xsl:for-each select="a:root"> instead.

---
Oleg Tkachenko,
Multiconn International, Israel 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]