[Bug 17574] New: [XSD 1.1] xs:override transformation and xs:import

https://www.w3.org/Bugs/Public/show_bug.cgi?id=17574

           Summary: [XSD 1.1] xs:override transformation and xs:import
           Product: XML Schema
           Version: 1.1 only
          Platform: PC
        OS/Version: All
            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


This arises from a bug report submitted against Saxon by Priscilla Walmsley.

The schema includes something like this:

<xs:schema xmlns:new="ns.new">
<xs:import namespace="ns.new"/>
<xs:override schemaLocation="old.xsd">
  <xs:complexType name="P">
    <xs:sequence>
       <xs:element ref="new:Q"/>
    </xs:sequence>
  </xs:complexType>
</xs:override>
</xs:schema>

The result of applying the override.xsl transformation is a schema document
that contains a reference to the name new:Q but does not contain any xs:import
declaration for the ns.new namespace (because there was no reference to this
namespace in the overridden schema document).

I have fixed the problem by changing the override.xsl transformation so that it
copies any xs:import declarations from the "overriding" schema document as well
as those from the "overridden" document. However, this is a little crude
because there is potential for conflict if both documents contain imports for
the same namespace, potentially with different schemaLocations.

In passing I noticed that the override.xsl I am using is a little different
from that in the specification. The one in the specification appears to expect
the transformation to proceed by executing the named template
"perform-override" (though this is nowhere mentioned). The parameters
overrideElement and overriddenSchema are given as parameters to this named
template rather than as global stylesheet parameters. The standard invocation
mechanism for XSLT, however, does not allow parameters to be supplied to a
named entry template, only to global stylesheet parameters.

Priscilla's test case can be found at
https://dev.saxonica.com/community/issues/1505

-- 
Configure bugmail: https://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 Friday, 22 June 2012 08:55:33 UTC