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 3219 - Choice of XML 1.0 vs XML 1.1 datatypes
Summary: Choice of XML 1.0 vs XML 1.1 datatypes
Status: CLOSED WORKSFORME
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Datatypes: XSD Part 2 (show other bugs)
Version: 1.1 only
Hardware: PC Windows XP
: P1 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard: cluster: XML version
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-09 09:29 UTC by Michael Kay
Modified: 2008-06-13 20:19 UTC (History)
0 users

See Also:


Attachments

Description Michael Kay 2006-05-09 09:29:39 UTC
(personal comment: this comment was not endorsed by the QT groups, though the subject obviously requires discussion)

The choice of whether datatypes dependent on XML use the 1.0 or 1.1
definitions is stated in the Status section to be implementation-defined,
but section 1.3 says it should be under user-control (by means external to
the schema itself). Firstly, this is contradictory.

In my view it would be better if this were defined within the
schema, perhaps using a new facet. This would ensure that different software
processors making use of the same schema did not apply different
interpretations, and therefore (for example) that a document considered
valid by its sender would not be considered invalid by its recipient. It's the job of the schema to say exactly which strings are valid for a given type and which aren't. 

The Note suggesting that the choice might be driven by the version label on the
input document is inappropriate for some QT contexts, where there is no
relevant input document, or where the XML declaration is no longer
available.
Comment 1 C. M. Sperberg-McQueen 2007-09-19 03:29:24 UTC
It may or may not still command consensus, but it appears that the editors
were instructed in January 2006, when the WG decided to support XML 1.1,
to prepare a wording proposal to make the choice of 1.0 or 1.1 datatypes
visible in the PSVI.

As far as I can tell, the editors did not discharge that action, and 
from a formal point of view the action was implicitly canceled by the 
WG's decision to publish the Last Call working draft of Datatypes. 
I mention it here only in order to provide a pointer to the relevant
part of the minutes of 27 January, in case members of the WG wish to
refresh their memories of the earlier discussion
(http://www.w3.org/2006/01/27-xmlschema-minutes.html#item09) 
[member-only link].
Comment 2 C. M. Sperberg-McQueen 2008-06-06 00:25:02 UTC
(Speaking for myself) I do not see the contradiction alleged in section
1.3.  It is implementation-defined whether an implementation supports
the 1.0 or the 1.1 types, and also implementation-defined how the decision
is made, if both is supported.  The spec recommends that unless there is
strong reason to do otherwise, an implementation that supports both 1.0
and 1.1 types should make the decision by allowing the user (by which I
mean the invoker of the validation process) to specify which to use. 
This does not seem to involve any contradiction to me.

Q1 May a processor support only the 1.0 types? 
A1 Yes.

Q2 May a processor support only the 1.1 types? 
A2 Yes.

Q3 May a processor support both 1.0 and 1.1 types? 
A3 Yes.

Q4 May a processor support neither the 1.0 nor the 1.1 types? 
A4 No.  The spec says 1.0, or 1.1, or both.  If later we get
an XML 1.2 or 2.0 in which the types are different yet again,
some implementations will support those types, regardless of
what the spec says, but we have preserved the right of language
lawyers everywhere to wag their fingers and say it's not conformant
to support any versions of NCName etc. but those in XML 1.0
and 1.1.

Q5 If a processor supports only the 1.0 types, or only the 1.1 types,
how shall the choice between 1.0 and 1.1 types be made?  
A5 By a user choosing to use the processor, or choosing not to use
it in favor of a different processor that supports the desired
version of the datatypes.

Q6 If a processor supports both the 1.0 and the 1.1 types, how 
shall the choice between the 1.0 and the 1.1 types be made?
A6 In any way specified by the implementation.  It is recommended,
via a SHOULD, that the choice be under user control, which means
(as I take it) that whatever the default is, the user SHOULD be
able to say "forget the default, use the N.N types".  If the
user doesn't exercise that control, the default will be whatever
the implementation defines it to be, whether that is always 1.0,
always 1.1, always whatever declaration is found in the first document
to be encountered, 1.0 on even-numbered and 1.1 on odd-numbered days,
or determined by challenging the user to a quick game of five-card
stud and using the 1.0 types if and only if the queen of spaces is
in the winning hand.

I agree that making the choice depend on the version label in
the input document(s) (the 'version label method') is inappropriate 
for some contexts; that is why some members of the Working Group objected 
to the proposal to specify that processors are required to use the
version label method in choosing which types to use, or to specify that
the default choice of types must be determined by the version label method.
Those WG members managed to prevent the spec from requiring or recommending
the use of the version label method, but were not able to command consensus 
for eliminating all mention of it.  Some observers might say we ought to
forbid use of the version label method, but I don't believe anyone actually
argued that position in the WG at the time, and I don't support it now.
Even if I did, I don't believe it would command consensus in the WG.

Under the circumstances, I propose to close this issue as one or the
other of WONTFIX (with respect to the proposal to place the choice of
types under schema control), LATER (with respect to the same proposal),
or WORKSFORME (with respect to the proposition that the rule in the spec is
contradictory or not fully considered).
Comment 3 C. M. Sperberg-McQueen 2008-06-13 18:56:08 UTC
The XML Schema WG discused this issue on its call of 13 June 2008, and
agreed to close it as WORKSFORME.  We stopped short of endorsing the
arguments given in comment #2, but it's likely that they or something 
like them provided the rationale for the decision for at least some
members of the WG.

Michael, since you indicated on the call that you could live with this
resolution, I hope you will indicate so by closing the issue, or
signal a change of heart by reopening it.  Thanks.