- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 14 Sep 2005 19:24:34 +0000
- To: www-xml-schema-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2224
Summary: R-232: Vacuous Redefinition
Product: XML Schema
Version: 1.0
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: XSD Part 1: Structures
AssignedTo: ht@w3.org
ReportedBy: sandygao@ca.ibm.com
QAContact: www-xml-schema-comments@w3.org
In June 2003, the XML Schema WG briefly discussed cases like the following:
XSD1:
<schema ...>
<complexType name="CT">
...
</schema>
XSD2:
<schema ...>
<redefine schemaLocation="XSD1">
<!-- CT in XSD2 is vacuous restriction of CT in XSD1 *-->
<complexType name="CT">
<restriction base="CT"/>
</complexType>
</redefine>
</schema>
XSD3:
<schema ...>
<import schemaLocation="XSD1"/>
<import schemaLocation="XSD2"/>
</schema>
Several questions arise:
1. is this legal or not, in XML Schema 1.0?
2. regardless of the answer to (1), SHOULD this be legal in XML Schema?
One position one could take is that since the CT of XSD1 and the CT of XSD2 are
as similar as one can make them (same name, same extension), the double import
really should be legal.
Another possible position is that if one wanted them to be identical one would
not have redefined CD in XSD2 -- just as vacuous restrictions can be used to
block certain substitutions by imposing a certain structure on the type
hierarchy, so the vacuous restriction here should be allowed, and should not be
treated differently from a non-vacuous restriction.
When this came up in June, some WG members offered an analysis of this case
which led them to conclude that the example is not legal; I never understood
the details. Can anyone expound?
Depending on what the WG decides to do, this topic might turn into an error
report on 1.0 or a requirement for 1.1, or a no-action-needed.
See:
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2003JulSep/0062.html
Received on Wednesday, 14 September 2005 19:24:39 UTC