Re: [xsl] Namespace problem

Subject: Re: [xsl] Namespace problem
From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx>
Date: Tue, 26 Feb 2002 14:50:27 -0500
Eric,

Your xml file has a default namespace, http://purl.org/rss/1.0/.  Therefore,
the "item" element is in that namespace.  For the xslt processor to match
it, it needs to know it should look for the "item" element ***in that
namespace***.  To do that, you need to declare the namespace in the
stylesheet, using an arbitrary prefix (it cannot be the default namespace
because the template needs to match a name with a prefix).  You use that
prefix with the element's name.  Here is an example using your xml file:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
 xmlns:xx='http://purl.org/rss/1.0/'
 exclude-result-prefixes='xx'>

<xsl:template match="/">
<result>
        <xsl:value-of select='count(//xx:item)'/> "item" element(s)
</result>
</xsl:template>

<xsl:template match='*'/>
</xsl:stylesheet>


Here are the results of running this stylesheet on your file:

  <result> 1 "item" element(s)</result>

Cheers,

Tom P

[Eric Vitiello]

I'm trying to apply a simple transformation to the file below, and for some
reason I'm unable to get any nodes returned.  I think it may be a namespace
issue.  I'm totally stumped, and losing hair.

apply this XPath:  //item

should return a nodeset of items


the XML:



<?xml version="1.0"?>
<rdf:RDF
xmlns:dc="http://purl.org/dc/elements/1.1/";
xmlns:html="http://www.w3.org/1999/xhtml";
xmlns="http://purl.org/rss/1.0/";
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/";>

<channel rdf:about="http://www.perceive.net/";>
<title>Perceive Designs</title>
<link>http://www.perceive.net</link>
<description>Your perception of design and technology</description>
<lastBuildDate>Tue, 26 Feb 2002 13:26:00 GMT</lastBuildDate>
<docs>http://www.perceive.net</docs>
<managingEditor>eric@xxxxxxxxxxxx (Eric Vitiello)</managingEditor>
<webMaster>webmaster@xxxxxxxxxxxx (Perceive Designs Webmaster</webMaster>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
</channel>

<item>
<title>FamilyML DTD Released</title>
<link>http://www.vitiello.org/familyml.htm</link>
<description>
<p>The DTD used in created in the <a href="http://www.vitiello.org";>Vitiello
Family Tree</a> has finally been released to the public. You can read about
the FamilyML specification and download the DTD at the <a
href="http://www.vitiello.org/familyml.htm";>Vitiello Family Tree
Website</a>.  The Current version of the DTD, 0.5 may be linked directly to
at: <a
href="http://www.vitiello.org/dtd/0.5/family-tree.dtd";>http://www.vitiello.o
rg/dtd/0.5/family-tree.dtd</a></p>
</description>
<dc:date>2002-02-22</dc:date>
<dc:language>en</dc:language>
<dc:source></dc:source>
<dc:creator></dc:creator>
</item>
</rdf:RDF>






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


Current Thread