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 4133 - Microsoft "schema" test set, schG3
Summary: Microsoft "schema" test set, schG3
Status: NEW
Alias: None
Product: XML Schema Test Suite
Classification: Unclassified
Component: Microsoft tests (show other bugs)
Version: 2006-11-06
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: Henry S. Thompson
QA Contact: XML Schema Test Suite mailing list
URL:
Whiteboard: Pending MH review
Keywords: queried
Depends on:
Blocks:
 
Reported: 2007-01-02 16:24 UTC by Michael Kay
Modified: 2012-01-20 20:50 UTC (History)
2 users (show)

See Also:


Attachments

Description Michael Kay 2007-01-02 16:24:36 UTC
In the Microsoft "schema" test set, 

<test group="schG3" name="schG3.v"/>

the instance is described in the metadata as valid.

The catalog (and xsi:schemaLocation) invoke schG3_a.xsd with targetNS ns_a; this imports schG3_b.xsd with targetNS ns_b. This in turn contains:

<xsd:import namespace="ns-a" schemaLocation="schG3_c.xsd" />

Because schemaLocation is a hint, and a schema for ns_a is already available, the processor is not obliged to load schG3_c.xsd. If the processor decides not to do so, then no element declaration will be available for {ns_a}foo, and validation will therefore fail.
Comment 1 Michael Kay 2007-01-02 16:27:20 UTC
Test schG6 can produce differing results for the same reasons. The conflict between two schema documents will be detected only if the schema location hints are followed.
Comment 2 Michael Kay 2007-01-02 16:35:09 UTC
Test schG11 can produce differing results for the same reasons. The conflict
between two schema documents will be detected only if the schema location hints
are followed.
Comment 3 Michael Kay 2007-01-02 16:37:57 UTC
Test schG12 can produce differing results for the same reasons. Validation of the instance will succeed only if all location hints on xs:import are followed.
Comment 4 Henry S. Thompson 2010-01-29 15:24:35 UTC
C.f. 4131
I suggested those tests should be removed, but maybe what we should do for 
those and these is use the proposed new 'implDep' annotation. . .
Comment 5 David Ezell 2010-05-28 15:57:35 UTC
WG asked MH to consider this bug as part of the schemaLocation ACTION 2010-05-07.2.
Comment 6 C. M. Sperberg-McQueen 2012-01-20 20:50:41 UTC
Long ago (September 2010) I was asked to check the status of this issue, but have only done so now.

The current status is that test groups schG3, schG6, schG11, and schG12 are still in the state described in the bug report; each of them has only a single expected result.

If the WG adopts the proposals in bug 15650 (rules for schemaLocation information in tests and for schemaDocument information in metadata) and bug 15651 (a modified version of the proposal made by Mary Holstege in June 2010), we can modify the metadata for schG3 as shown below (and analogously for the other test groups in question).

1 Replace the existing schemaDocument element with three:

    <schemaDocument xlink:href="../msData/schema/schG3_a.xsd" 
      role="initial" namespace="ns-a"/>
    <schemaDocument xlink:href="../msData/schema/schG3_b.xsd" 
      role="schema-import" namespace="ns-b"/>
    <schemaDocument xlink:href="../msData/schema/schG3_c.xsd" 
      role="schema-import" namespace="ns-a"/>

2 Replace the instanceTest with

  <instanceTest name="schG3.v">
    <instanceDocument xlink:href="../msData/schema/schG3.xml"/>
    <expected version="import-schema-loc-follow" validity="valid"/>
    <expected version="import-schema-loc-ignore" validity="invalid"/>
    <prior date="2012-01-20" status="stable">
      <xs:annotation><xs:documentation>
         Add qualifiers to expected results.
      </xs:documentation></xs:annotation>
    </prior>
    <prior date="2007-01-02" status="queried">
      <xs:annotation><xs:documentation>
         See bug 4133; results of test depend on schema location
         behavior.
      </xs:documentation></xs:annotation>
    </prior>
    <prior date="2006-07-16" status="accepted"/>
  </instanceTest>