RE: Errors in the XML-Signature spec. examples (Namespace defaulting for attributes)

Hi Don and Gregor,

Actually, there seems to be need for further consideration of Gregor's
point.  I agree, Don, that the namespace spec seems to imply in Section 5.2
that attributes inherit namespace qualification from their parent element,
but it does not come out and say it.

Therefore, I kept reading and seem to have found a contradiction at the end
of Section 5.3.  It gives an example of 'unique' attributes as follows

<!-- is bound to n1 and is the default -->
<x xmlns:n1=""
   xmlns="" >
  <good a="1"     b="2" />
  <good a="1"     n1:a="2" />

The spec says that the attributes in the second occurence of <good> is OK
because default namespaces do not apply to attributes.  So, even though
<good> is in the default namespace and hence has the qualifier, this does not propagate down to qualify the attribute a.

By extension, the attribute href you mentioned in the example of Section 5.2
is not namespace qualified by the HTML URL.


I will be posting this problem to XML names to ask for clarification.

John Boyer
Development Team Leader,
Distributed Processing and XML
PureEdge Solutions Inc.
Creating Binding E-Commerce
v: 250-479-8334, ext. 143  f: 250-479-3772
1-888-517-2675 <>

-----Original Message-----
[]On Behalf Of Donald E. Eastlake
Sent: Friday, August 11, 2000 5:15 AM
To: Gregor Karlinger
Subject: Re: Errors in the XML-Signature spec. examples (Namespace
defaulting for attributes)

Is this really a problem?  I thought that attributes without namespace
prefixes were automatically considered within the context of the
element where they occur.  In effect, the namespace qualified name of
the element is the default "namespace" for attributes of that element.

Take the first exampe in section 5.2 of the Namespaces document which
you point to.  It has an <a> element using the default namespace of  This element has an href attribute.
How are you supposed to understand what that attribute means unless
you consider it to, in some sense, be in the "namespace" of the
element where it occurs?  I.E., that it is part of the "Per Element
Partition" defined in section A.2 of the Namespaces document.

In your example below, just saying "Id" is, in effect, saying
"XMLSignature:Signature:Id" except that syntax is prohibited...

Presumably this is the reason for the odd wording:
"Note that default namespaces do not apply directly to attributes."


From:  "Gregor Karlinger" <>
To:  "XML" <>
Date:  Fri, 11 Aug 2000 12:21:04 +0200
Message-ID:  <>

>Hi Joseph & Merlin,
>while trying to verify Merlins signature examples with our implementation,
>I detected the following problem, which applies to Merlins examples as
>well as to the examples in the XML-Signature specification in chapter 2.
>All the examples are constructed in the following way: A default namespace
>attribute is declared in the Signature element (see line [s01] in chapter
>which should apply to all descendants as well.
>The problem is, that a default namespace does not apply to descendant
>attributes, but only descendant elements
>I suggest to assign the XML-Signature namespace via a explicit namespace
>attribute (line [s01] could look like
>  <XMLSignature:Signature
>    XMLSignature:Id="MyFirstSignature"
>    xmlns:XMLSignature="">
>Regards, Gregor
>Gregor Karlinger
>Phone +43 316 873 5541
>Institute for Applied Information Processing and Communications

Received on Friday, 11 August 2000 12:52:01 UTC