Re: [xsl] Problem accessing child nodes of a variable nodeset

Subject: Re: [xsl] Problem accessing child nodes of a variable nodeset
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 16 Sep 2003 12:52:43 -0400
Hi Dan,

At 12:37 PM 9/16/2003, you wrote:
Can anybody guess what I'm doing wrong? I suspect it may have something
to do with namespaces, as I'm having a few problems with these - I've
had to declare prefixes for all of my namespaces, so that the above
select, without variables, would look like:

<xsl:value-of select="ws:webpage/title"/>

Ah -- is the title in the same namespace as its parent webpage? as in


<webpage xmlns="ws-namespace">
  <title>...</title>
  ...
</webpage>

If so, your supposition is correct.

I imagine that, with a variable giving a starting point in the node
tree, the namespace should be picked up automatically, but perhaps this
isn't the case for child elements?

No, it isn't picked up automatically. The name you give is the name it uses. The problem is, that given namespaces, the name you give may not be the name you want to give, even when it looks right. You need to say


<xsl:value-of select="$pageNode/ws:title"/>

The name of the variable does not need to be qualified in any way, but the name of its descendant includes its namespace, and this has to be accounted for in the stylesheet even if in the source, that namespace is given by default and no prefix used.

That's namespaces.

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


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



Current Thread