[Bug 5151] pseudo-normative qualifications used in apparently normative contexts

http://www.w3.org/Bugs/Public/show_bug.cgi?id=5151





------- Comment #3 from cmsmcq@w3.org  2008-05-09 04:04 -------
Some notes on these change proposals may be in order.

1 names are unique

    2.5 "Within a given symbol space, names are unique," are -> MUST
    be (this is covered with a MUST in 3.1.1)

Thanks.


2 all processors have 

    2.6 "All schema processors have appropriate attribute
    declarations" MUST have

Thanks.


3 Propertis in the PSVI

    3.1.1 "Any property not defined as optional is always present"
    MUST be

    3.1.1 "not present are taken to have ·absent· as their value"
    MUST have

These passages are describing the PSVI, not the API or data
structure through which a (conforming) procesor exposes the PSVI.
Although in 1.0 the PSVI is sometimes treated as an abstraction and
sometimes as shorthand for the API or data structure that exposes
that abstraction, we are trying to be more consistent in 1.1.  The
PSVI is information which arises during assessment, and to which we
give names.  The description of the PSVI does have normative force
because processors are required to expose it accurately if they
expose it at all, but these sentences are speaking not of the
normative requirement on processors but on the nature of the
abstraction which they may represent.  The use of MUST seems wrong
here, so I am not making any changes to these sentences.


4 "One of the following"

    3.2.2 "and one of the following is true" one ?== exactly one, at
    least one, at most one?  global comment, many instances of this
    case exist

    3.4.2 CTD w/ complex content {content type} 2.1 "if one of the
    following is true" ... at least?  exactly?

    3.4.2 CTD w/ complex content item 5 [Def:] wildcard element "and
    one of the following" >=1?

    3.4.3 item 2.1 "is one of the following" exactly one?

    3.4.4 "E and T satisfy this constraint if and only if one of the
    following is true"
    3.4.6 Schema Component Constraint: Derivation Valid (Extension)
    item 1.4,

    3.4.6 Schema Component Constraint: Derivation Valid (Extension)
    item 1.4.3.2

    3.4.6 Schema Component Constraint: Derivation Valid (Extension)
    item 1.4.3.2.2.3

    3.4.6 Schema Component Constraint: Derivation Valid
    (Restriction, Complex) item 2,

    3.4.6 Schema Component Constraint: Derivation Valid
    (Restriction, Complex) item 2.2.2,

    3.4.6 Schema Component Constraint: Derivation Valid
    (Restriction, Complex) item 2.3.2,

    3.4.6 Schema Component Constraint: Derivation Valid
    (Restriction, Complex) item 2.4.1

    3.4.6 Schema Component Constraint: Type Derivation OK (Complex)
    item 2

    3.9.4.2 Validation Rule: Element Sequence Accepted (Particle)
    items 2.3, 3

    3.10.4 Wildcard allows Namespace Name "one of the following must
    be true:"

This question has arisen elsewhere; clearly the current boilerplate
wording is problematic.  In many cases, the items in the following
list are mutually exclusive, so that it doesn't really matter
whether "one" means "at least one" or "exactly one" (it can't really
mean "at most one", can it?).  I would be happy to change the words
to try to avoid having the question arise for attentive readers, but
saying "at least one" or "exactly one" suggests that more than one
of the items in the following list might be true.  When that is not
the case, the extra words would be misleading or confusing.

    At least one of the following MUST be true:
    1 x < 1.
    2 x > 10.

In the wording proposal I am preparing, I have left alone those
lists where it is fairly obvious that the items are mutually
exclusive, and changed the wording where "at least one" or "one or
more" is meant.  I hope that suffices.

    3.3.2, {target ns}, Element Decl "and one of the following" at
    least one

This is one of those case where they can't both be true.

    3.7.2 {model group} "among the [children] (there must be one)."
    exactly one

Thanks.


5 MUST vs "is" or "apply" ...

    3.2.3 "all of the following also apply" apply -> MUST be true
    (global)

    3.2.6 "all of the following are true" MUST be (global)

    3.4.3 "also apply" MUST be true

    4.2.2 Schema Representation Constraint: Inclusion Constraints
    and Semantics "also apply" MUST be true

    4.2.3 Schema Representation Constraint: Redefinition Constraints
    and Semantics "also apply" MUST be true

    4.2.4.2 Schema Representation Constraint: Import Constraints and
    Semantics "also apply" MUST be true

    3.6.3 Constraints on XML Representations of Attribute Group
    Definitions, Schema Representation Constraint: Attribute Group
    Definition Representation OK, "also apply" MUST be true

XSD 1.0 had a number of lists of the form

    All of the following MUST be true:
    1 The blort MUST be green.
    2 The granfalloon MUST be blue.

It is clear (on reflection) that in such cases the requirement is
that the following propositions be true:

    (P1) The blort is green.
    (P2) The granfalloon is blue.

But the wording of 1.0 (and the wording you suggest) says something
slightly different: it MUST be the case that P1 and P2 MUST be true.
This seems to be a statement in modal logic, making it the
responsibility of the schema procesor to ensure that P1 and P2 are
logically necessary, rather than contingent.  But processors can
seldom control which possible worlds they are run in; perhaps the
conformance requirement is on the possible world, that it be one in
which P1 and P2 are logically necessary rather than contingent.

To avoid this, the spec has been systematically revised to ensure
(modulo failures of consistency) that all lists of conformance
requirements take either the form

    It MUST be the case that all of the following are true:
    1 The blort is green.
    2 The granfalloon is blue.

or the form

    It is the case that all of the following are true:
    1 The blort MUST be green.
    2 The granfalloon MUST be blue.

The change you suggest would put us back in the modal logic
business, and as an editor of the spec I respectfully decline to go
back there.


6 is performed / MUST be performed

    4.2.2 "in which case no corresponding inclusion is performed." 
    -> "in which case the corresponding inclusion MUST NOT be
    performed.

Thank you.


7 The approriate case

    3.3.2, {target ns}, Element Decl "appropriate case" ...do not
    remember the semantic for "case" being defined, but given that
    different languages have this keyword with subtly different
    semantics (does one bail after satisfying one of the conditions
    or continue to evaluate the rest), probably one you need to
    define in 1.5 etc.  I took it to me stop after first true.

In this case, it's clear on examination that only one of the items
can be true at a time.


8 One or two components

    4.2.3 Schema Representation Constraint: Individual Component
    Redefinition "Corresponding to each non-<annotation> member of
    the [children] of a <redefine> there are one or two schema
    components in the <redefine>ing schema:" needs to be re-cast
    into RFC2119 style.  It seems like it wants the appropriate CASE
    amongst the following.

You may be right.  But the XSD 1.0 component story so thoroughly
confuses me that I am loath to try to revise this passage.

Received on Friday, 9 May 2008 04:05:16 UTC