This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Matching nodes in the default namespace


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]