Subject: Re: Matching nodes in the default namespace
From: "John E. Simpson" <simpson@xxxxxxxxxxx>
Date: Thu, 28 Sep 2000 17:23:03 -0400
|
Thanks, David. Still a little confused, though....
At 08:00 PM 09/28/2000 +0000, David Carlisle wrote:
Here's the XML:
<catalog xmlns="http://www.example.com/catalog/">
<book id="bk101">
<author>Some author</author>
<title>Some Title</title>
...
so that is the same input to XSL as
<c:catalog xmlns:c="http://www.example.com/catalog/">
<c:book id="bk101">
<c:author>Some author</c:author>
<c:title>Some Title</c:title>
Sure, I can understand that it's "the same" logically. But it's not the
same *lexically*, is it? I mean lexically when referred to by the XSLT
processor:
"c:" != ""
And here's test.xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40" >
....
<xsl:template match="catalog">
<xsl:apply-templates/>
</xsl:template>
and thatmatches an element called catalog in the null namespace (or as
the namespace rec calls it, not in a namespace at all)
You want to match
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40"
xmlns:c="http://www.example.com/catalog/"
exclude-result-prefixes="c">
....
<xsl:template match="c:catalog">
<xsl:apply-templates/>
</xsl:template>
even if your source file is using "http://www.example.com/catalog/" as
the default namespace.
I tried this and, as you know, it works. Amazing. I would *never* have
expected an attribute named "exclude-result-prefixes" to, as it were,
affect the way the source tree is perceived in match/select expressions;
literal result elements, yes, but not match/select expressions.
Thank you once again. Subtle indeed are the ways of the language.
==========================================================
John E. Simpson | "If you were going to
http://www.flixml.org | shoot a mime, would you use
XML Q&A: http://www.xml.com | a silencer?" (Steven Wright)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|