Re: Matching nodes in the default namespace

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



Current Thread