Re: [xsl] Attributes with default namespaces? XSLT Rec question..

Subject: Re: [xsl] Attributes with default namespaces? XSLT Rec question..
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 13 Nov 2008 11:58:46 -0500
At 2008-11-13 17:50 +0100, Geert Josten wrote:
A question about the XSLT recommendation..

I think you'll find the answer in the Namespaces in XML recommendation.


If you add the following to your XSLT stylesheet:
        <test xmlns="http://test";>
                <xsl:attribute name="test"/>
        </test>

What namespace should that attribute receive?

Namespaces in XML states that attributes without prefixes are in no namespace, not in the default namespace:


http://www.w3.org/TR/2006/REC-xml-names11-20060816/#uniqAttrs

Should the result be:
        <test xmlns="http://test"; test=""/>

Yes ... because the element is in the default namespace and the attribute is in no namespace.


The XSLT 2.0 recommendation states:
        "If the namespace attribute is not present, then the lexical Qname
         is expanded into an expanded-QName using the namespace declarations
         in effect for the xsl:attribute element, not including any default
         namespace declaration."

Makes sense since unprefixed attributes are in no namespace.


The xsl:attribute has no namespace attribute, and the lexical Qname contains no prefix. But since de default namespace declaration should not be included in resolving/expanding the Qname, I would expect the latter result should appear.

Not when you take into consideration that unprefixed attributes are in no namespace.


 However, the latter is not valid according to:
        (http://www.w3.org/TR/REC-xml-names/#ns-decl, 2nd paragraph or so)

..nor does any of the common implementations give that result, the all return the first..

As they should.


Am I misinterpreting the XSLT recommendation?

No, you are unaware of the constraints of the namespaces recommendation.


I hope this helps.

. . . . . . . Ken

--
Upcoming XSLT/XSL-FO hands-on courses:      Wellington, NZ 2009-01
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video sample lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg
Video course overview:  http://www.youtube.com/watch?v=VTiodiij6gE
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread