RE: [xsl] Namespace related question

Subject: RE: [xsl] Namespace related question
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Sun, 13 Jul 2003 09:36:10 +0100
> I am a novice and struggling for last few days to get the solution.
> here is sample xml document, I want to read the value of 
> attribute xmlns.Res 
> using XSL stylesheet 
> <PT xmlns.Res="PT_MSG"> 
> ....
> </PT>

I assume you mean xmlns:Res="PT_MSG"? (":" not ".")?

Namespace declarations are not attributes in the XPath data model. A
namespace declaration in your source document translates into a
namespace node in the data model, and must be read using the namespace
axis rather than the attribute axis. So you can access it as

But it would be nicer to show us the whole problem you are tackling:
people will probably have comments at the design level. Explicit access
to namespace nodes is not a common requirement and I wouldn't normally
expect a novice to need to do it. There is probably an easier way of
solving your problem.

Michael Kay

> here's my stylesheet
> <?xml version="1.0"?>
> <xsl:stylesheet  version="1.0" 
> xmlns:xsl="";>
> <xsl:output method="html" indent="yes" />
> 		<xsl:template match="HFPT" 
> xmlns="";> 
> 		<xsl:copy-of select="@xmlns:Res" />
> 	        </xsl:template>
> </xsl:stylesheet>
> I tried <xsl:copy-of select="@xmlns:Res" />, I got error 
> message - "Namespace prefix xmlns has not been declared".
> So how can I do it in XSL ?
> Any solution will be appreciated.
> Thanks
>  XSL-List info and archive:

 XSL-List info and archive:

Current Thread