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 5148 - inconsistent target ns description
Summary: inconsistent target ns description
Status: CLOSED FIXED
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.1 only
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard: terminology cluster
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2007-10-08 17:06 UTC by John Arwe
Modified: 2008-10-14 20:40 UTC (History)
0 users

See Also:


Attachments

Description John Arwe 2007-10-08 17:06:20 UTC
In some places, e.g. but not limited to 3.6.2 and 3.7.2, {target ns} is described as "The ·actual value· of the targetNamespace [attribute] of the ancestor schema element information item."

In other places, e.g. 3.4.2, the same property is described differently
"The ·actual value· of the targetNamespace [attribute] of the <schema> ancestor element information item if present, otherwise ·absent·."

They should be consistent.  Which is correct depends upon whether or not absent is considered an actual value (I suspect it is not).
Comment 1 C. M. Sperberg-McQueen 2007-12-27 01:07:43 UTC
Thank you for the comment.  

The current text of the spec is a bit coy regarding 'absent' values.  The
definition of the term does in fact present it as a (special) value, but it's
unlike normal values:  it's not a member of any of the sets of possible
values specified for any property, and the spec wants to maintain a dignified
agnosticism about whether an implementation actually stores a value (or a
bit pattern representing a value), or stores nothing at all.  In short, 'absent'
is a special case in much the same way that NULL is a special case in SQL.

Part of the awkwardness in the passages you cite stems from the fact that
while 'absent' is a possible property value, it is (as you suspect) not 
strictly speaking an 'actual value'; those responsible for drafting the spec
may not always have had that distinction properly in mind.  

It might be simpler for the reader, and involve no loss of correctness, to
say once and for all in some appropriate place that when the value of a
property is described as being the actual value of some element or attribute,
and the element or attribute in question does not appear and thus lacks
any actual value, then the property gets the value 'absent'.  That would
allow a number of sentences in the spec to become shorter and easier to
read.

But at the moment, I am speaking only for myself, and not on behalf of the
Working Group.
Comment 2 Sandy Gao 2008-10-08 15:42:56 UTC
On 2008-09-26, the working group adopted a proposal to address this issue by using the following formulation consistently:

"The ·actual value· of the targetNamespace [attribute] of the <schema> ancestor element information item if present, otherwise ·absent·."

The proposal (along with changes for other bugs) can be found at (member-only):
http://www.w3.org/XML/Group/2004/06/xmlschema-1/structures.editorial0809.html

John, if you are satisfied with this resolution, please indicate so by changing the bug's status to CLOSED.  If you're not happy, please say why and REOPEN it instead.  Thanks.