[Bug 11076] New: Element Declarations Consistent: comparing type tables

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

           Summary: Element Declarations Consistent: comparing type tables
           Product: XML Schema
           Version: 1.1 only
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Structures: XSD Part 1
        AssignedTo: David_E3@VERIFONE.com
        ReportedBy: mike@saxonica.com
         QAContact: www-xml-schema-comments@w3.org
                CC: cmsmcq@blackmesatech.com


Element Declarations Consistent (section 3.8.6.3) contains the rule:

All their {type table}s are either all ·absent· or else all are present and
have the same sequence of {alternatives} and the same {default type
definition}.

What does "same" mean? Is this an appeal to "component identity" covered by G.2
clause 4: "The identity of components is still underspecified (although a
number of points have been clarified, e.g. by the specification of the {scope}
property), with the result that some schemas can be interpreted either as
conformant or as non-conformant, depending on the interpretation of the
specification's appeals to component identity."

If so, it appears to be different from other cases where the specification
relies on component identity. In most such cases, a minimal definition of
identity is that two components are identical if they are derived from the same
declaration in a particular schema document. In this case, there is no way that
the type tables for two different element declarations can be derived from the
same source. So it seems this rule is inviting a "deep equality" test of some
kind. If we are expecting any kind of interoperability, it would seem necessary
to articulate the way in which this test is carried out. It's not easy: do we
mandate, for example, that XPath expressions are compared in their lexical form
as written, with no normalization? Do we require that the base URI is the same
even if the processor knows it is not used?

In the interests of interoperability, I would be inclined to replace the above
rule by "All their {type table}s are ·absent·".

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Saturday, 16 October 2010 22:10:51 UTC