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="";>
   <book id="bk101">
     <author>Some author</author>
     <title>Some Title</title>

so that is the same input to XSL as

    <c:catalog xmlns:c="";>
       <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:template match="catalog">

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"
       <xsl:template match="c:catalog">

even if your source file is using ""; 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 | shoot a mime, would you use
XML Q&A: | a silencer?" (Steven Wright)

XSL-List info and archive:

Current Thread