This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 2616 - Error in XML mapping for target namespace of local attributes, sec. 3.2.2
Summary: Error in XML mapping for target namespace of local attributes, sec. 3.2.2
Status: RESOLVED FIXED
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.0/1.1 both
Hardware: PC Linux
: P4 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard: medium, easy
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2005-12-22 23:21 UTC by C. M. Sperberg-McQueen
Modified: 2006-10-21 20:48 UTC (History)
0 users

See Also:


Attachments

Description C. M. Sperberg-McQueen 2005-12-22 23:21:43 UTC
The XML mapping rules for attribute source declarations
which occur within complexType or attributeGroup elements
specify that if the attribute is qualified, the value
of its {target namespace} property comes from "the actual 
value of the targetNamespace [attribute] of the parent 
<schema> element information item, or absent if there 
is none".

Since such an attribute declaration can never have a 
parent element of type xsd:schema, there can never be 
a targetNamespace attribute belonging to such a parent
schema element.  It follows that all local attributes 
declared as form = qualified are required by 1.0 and the
current draft of 1.1 to be unqualified.

Both 1.0 and 1.1 should be corrected to refer to the
ancestor schema element, rather than the parent.
(The editors should probably scan for other instances 
of this, since it looks like a copy-paste error.)
Comment 1 C. M. Sperberg-McQueen 2005-12-22 23:32:57 UTC
The phrase " the ·actual value· of the targetNamespace 
[attribute] of the parent <schema> element information 
item, or ·absent· if there is none" also appears 
unnecessarily complex.  If there is no targetNamespace
attribute, its value is absent, is it not?  And if 
so, then we can safely say simply "the ·actual value· 
of the targetNamespace [attribute] of the ancestor
<schema> element information item" for this part of
the mapping rule.
Comment 2 Dave Peterson 2005-12-23 02:57:08 UTC
(In reply to comment #1)
> The phrase " the ·actual value· of the targetNamespace 
> [attribute] of the parent <schema> element information 
> item, or ·absent· if there is none" also appears 
> unnecessarily complex.  If there is no targetNamespace
> attribute, its value is absent, is it not? 

This may be an accurate quote from SQ, but the current
style is "...or absent if...", where "absent" is the preterminal/
constant named 'absent'.  So I'd read the words you object
to as simply telling me what value use if there is no such
attribute.  Seems perfectly reasonable to me.
Comment 3 C. M. Sperberg-McQueen 2006-10-14 14:35:05 UTC
A proposal to resolve this issue has been placed at 
http://www.w3.org/XML/Group/2004/06/xmlschema-1/structures.cleanup-1.200610.html
(member-only link) for review and action by the WG.
Comment 4 C. M. Sperberg-McQueen 2006-10-21 20:19:49 UTC
The proposal mentioned in comment #3 has been approved by the WG
and integrated into the status-quo text of the spec.  It should be
included in due course in the next public working draft.