Re: [xsl] How to select a namespaced attribute?

Subject: Re: [xsl] How to select a namespaced attribute?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Fri, 27 Dec 2002 13:48:17 -0800 (PST)
"Vic Gar" <vlg8693@xxxxxxxxxxx> wrote in message
news:F190E9BH3w4sfqKBWwe00015bf3@xxxxxxxxxxxxxx
> Hello all,
> Here's the xml:
> 
> <?xml version="1.0"?>
> <bill>
>    <Services  type="smtp" name="generic" 
> xmlns:src="http://xml.apache.org/xindice/Query"; 
> src:col="/db/data/jobs/smtp" 
> src:key="2"/>
> </bill>
> 
> the xsl:
> 
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> <xsl:template match="/">
> 
> <xsl:value-of select="//Services/@key"/>
> 
> </xsl:template>
> </xsl:stylesheet>
> 
> and Saxon 6.5.2 and msxsl come up with nothing.

As they should -- there's no "key" attribute in your xml document, that
belongs to the no-name namespace.

> C:\projects\temp>msxsl test.xml test.xsl
> &#9632;< ? x m l   v e r s i o n = " 1 . 0 "   e n c o d i n g = " U
> T F - 
> 1 6 " ? >
> C:\projects\temp>saxon test.xml test.xsl
> <?xml version="1.0" encoding="utf-8"?>
> 
> If I substitute @src:key, then I get an error for an
> undeclared namespace.

Yes, because you haven't declared the "/db/data/jobs/smtp" namespace in
your stylesheet. 

> Dmitri's XPath visualiser finds the node just fine
> using the @src:key syntax, but not using the @key
> syntax.

The Xpath Visualizer uses a stylesheet, into which it dynamically
copies the namespace definitions from the source xml document. The
difference b/n the XPath Visualizer's stylesheet and yours is that the
former has a definition for the namespace and your stylesheet does not
have such a definition.

> How can I select the value of the src:key attribute
> correctly?

Define the namespace in your stylesheet, then select the real attribute
name -- properly prefixed.





=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

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


Current Thread