<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>17574</bug_id>
          
          <creation_ts>2012-06-22 08:55:30 +0000</creation_ts>
          <short_desc>[XSD 1.1] xs:override transformation and xs:import</short_desc>
          <delta_ts>2012-06-29 16:25:15 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XML Schema</product>
          <component>Structures: XSD Part 1</component>
          <version>1.1 only</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>needsDrafting</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Kay">mike</reporter>
          <assigned_to name="David Ezell">David_E3</assigned_to>
          <cc>cmsmcq</cc>
          
          <qa_contact name="XML Schema comments list">www-xml-schema-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>69340</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2012-06-22 08:55:30 +0000</bug_when>
    <thetext>This arises from a bug report submitted against Saxon by Priscilla Walmsley.

The schema includes something like this:

&lt;xs:schema xmlns:new=&quot;ns.new&quot;&gt;
&lt;xs:import namespace=&quot;ns.new&quot;/&gt;
&lt;xs:override schemaLocation=&quot;old.xsd&quot;&gt;
  &lt;xs:complexType name=&quot;P&quot;&gt;
    &lt;xs:sequence&gt;
       &lt;xs:element ref=&quot;new:Q&quot;/&gt;
    &lt;/xs:sequence&gt;
  &lt;/xs:complexType&gt;
&lt;/xs:override&gt;
&lt;/xs:schema&gt;

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 &quot;overriding&quot; schema document as well as those from the &quot;overridden&quot; 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 &quot;perform-override&quot; (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&apos;s test case can be found at https://dev.saxonica.com/community/issues/1505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69545</commentid>
    <comment_count>1</comment_count>
      <attachid>1149</attachid>
    <who name="Michael Kay">mike</who>
    <bug_when>2012-06-29 16:23:59 +0000</bug_when>
    <thetext>Created attachment 1149
This is the version of override.xsl I am using in Saxon with my attempt to fix this bug

For info I am attaching the copy of override.xsl that I am currently using in Saxon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69546</commentid>
    <comment_count>2</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2012-06-29 16:25:15 +0000</bug_when>
    <thetext>MSM: I think MK&apos;s reported behavior is probably a good way forward:
...: copy imports from overriding to output, if the namespace in question is not already imported in the overridden schema document.
...: I might have made the overriding schema document win in case of conflict, but I can live with it either way.

WG believes this is a spec error.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1149</attachid>
            <date>2012-06-29 16:23:59 +0000</date>
            <delta_ts>2012-06-29 16:23:59 +0000</delta_ts>
            <desc>This is the version of override.xsl I am using in Saxon with my attempt to fix this bug</desc>
            <filename>override.xsl</filename>
            <type>text/xml</type>
            <size>4430</size>
            <attacher name="Michael Kay">mike</attacher>
            
              <data encoding="base64">PCEtLSBUcmFuc2Zvcm1hdGlvbiBmb3IgaGFuZGxpbmcgeHM6b3ZlcnJpZGUgaW4gc2NoZW1hIHBy
b2Nlc3NvciAtLT4KPCEtLSBDb3BpZWQgZnJvbSBBcHBlbmRpeCBGLjIgb2YgdGhlIFhTRCAxLjEg
Q2FuZGlkYXRlIFJlY29tbWVuZGF0aW9uIGRhdGVkIDIxIEp1bHkgMjAxMSAtLT4KPCEtLSBNb2Rp
ZmllZCB0byByZW1vdmUgc2NoZW1hLWF3YXJlbmVzcywgYW5kIHRvIHRha2UgdGhlIHNvdXJjZSBk
b2N1bWVudCBhcyBwcmluY2lwYWwgaW5wdXQgLS0+CjwhLS0gTW9kaWZpZWQgdG8gc2V0IEB4bWw6
YmFzZSBvbiBuZXcgeHM6b3ZlcnJpZGUgZWxlbWVudHMgLS0+Cgo8eHNsOnRyYW5zZm9ybSB2ZXJz
aW9uPSIyLjAiIAogIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNm
b3JtIgogIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKICB4bWxu
czpmPSJodHRwOi8vd3d3LnczLm9yZy8yMDA4LzA1L1hNTFNjaGVtYS1taXNjIgogIGV4Y2x1ZGUt
cmVzdWx0LXByZWZpeGVzPSJmIj4KICAgCiAgPHhzbDpwYXJhbSBuYW1lPSJvdmVycmlkZUVsZW1l
bnQiIGFzPSJlbGVtZW50KHhzOm92ZXJyaWRlKSIvPgogIDx4c2w6cGFyYW0gbmFtZT0ib3ZlcnJp
ZGRlblNjaGVtYSIgYXM9ImVsZW1lbnQoeHM6c2NoZW1hKSIgc2VsZWN0PSIvKiIvPgogIDx4c2w6
cGFyYW0gbmFtZT0ieG1sQmFzZSIgYXM9InhzOmFueVVSSSIgc2VsZWN0PSJiYXNlLXVyaSgvKSIv
PgogIAogIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgogICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl
cyBzZWxlY3Q9IiRvdmVycmlkZGVuU2NoZW1hIi8+CiAgICAgIDwhLS08eHNsOm1lc3NhZ2U+CiAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iJG92ZXJyaWRkZW5TY2hlbWEiLz4K
ICAgICAgPC94c2w6bWVzc2FnZT4tLT4KICA8L3hzbDp0ZW1wbGF0ZT4KICAKICA8eHNsOnRlbXBs
YXRlIG1hdGNoPSJlbGVtZW50KHhzOnNjaGVtYSkiPgogICAgPHhzbDpjb3B5PgogICAgICA8eHNs
OmNvcHktb2Ygc2VsZWN0PSJAKiIvPgogICAgICA8IS0tIE1ISyBhZGRpdGlvbiAoYnVnIDE3NTc0
OiBhZGQgaW1wb3J0IGRlY2xhcmF0aW9ucyBmcm9tIHRoZSBvdmVycmlkaW5nIHN0eWxlc2hlZXQg
aWYgbmVjZXNzYXJ5IC0tPgogICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IiRvdmVy
cmlkZUVsZW1lbnQvLi4veHM6aW1wb3J0W25vdChAbmFtZXNwYWNlID0gY3VycmVudCgpL3hzOmlt
cG9ydC9AbmFtZXNwYWNlKV0iLz4KICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgogICAgPC94
c2w6Y29weT4KICA8L3hzbDp0ZW1wbGF0ZT4KCiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZWxlbWVu
dCh4czpyZWRlZmluZSkiPgogICAgPHhzbDpjb3B5PgogICAgICA8eHNsOmNvcHktb2Ygc2VsZWN0
PSJAKiIvPgogICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+CiAgICA8L3hzbDpjb3B5PgogIDwv
eHNsOnRlbXBsYXRlPgogIAogIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImVsZW1lbnQoeHM6aW1wb3J0
KSIgcHJpb3JpdHk9IjUiPgogICAgPHhzbDpjb3B5PgogICAgICA8eHNsOmNvcHktb2Ygc2VsZWN0
PSJAKiBleGNlcHQgQHNjaGVtYUxvY2F0aW9uIi8+CiAgICAgIDwhLS0gTUhLIGFkZGl0aW9uOiBt
YWtlIHNjaGVtYUxvY2F0aW9uIGFic29sdXRlIC0tPgogICAgICA8eHNsOmlmIHRlc3Q9ImV4aXN0
cyhAc2NoZW1hTG9jYXRpb24pIj4KICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJzY2hlbWFM
b2NhdGlvbiIgc2VsZWN0PSJyZXNvbHZlLXVyaShAc2NoZW1hTG9jYXRpb24sIGJhc2UtdXJpKC4p
KSIvPgogICAgICA8L3hzbDppZj4KICAgIDwveHNsOmNvcHk+CiAgPC94c2w6dGVtcGxhdGU+CgoK
CiAgPCEtLSogcmVwbGFjZSBjaGlsZHJlbiBvZiB4czpzY2hlbWEsIHhzOnJlZGVmaW5lLCBhbmQg
eHM6b3ZlcnJpZGUKICAgICAgKiB3aGljaCBtYXRjaCBjaGlsZHJlbiBvZiAkb3ZlcnJpZGVFbGVt
ZW50LiAgUmV0YWluIG90aGVycy4KICAgICAgKi0tPgogIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImVs
ZW1lbnQoeHM6c2NoZW1hKS8qIHwgZWxlbWVudCh4czpyZWRlZmluZSkvKiB8IGVsZW1lbnQoeHM6
b3ZlcnJpZGUpLyoiCiAgICBwcmlvcml0eT0iMyI+CiAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im9y
aWdpbmFsIiBzZWxlY3Q9Ii4iLz4KICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icmVwbGFjZW1lbnQi
CiAgICAgIHNlbGVjdD0iJG92ZXJyaWRlRWxlbWVudC8qCiAgICAgICAgICAgICAgICBbbm9kZS1u
YW1lKC4pPW5vZGUtbmFtZSgkb3JpZ2luYWwpIAogICAgICAgICAgICAgICAgIGFuZCAKICAgICAg
ICAgICAgICAgICBmOmNvbXBvbmVudE5hbWUoLik9Zjpjb21wb25lbnROYW1lKCRvcmlnaW5hbCld
Ii8+CiAgICA8eHNsOmNvcHktb2Ygc2VsZWN0PSIoJHJlcGxhY2VtZW50LCAkb3JpZ2luYWwpWzFd
Ii8+CiAgPC94c2w6dGVtcGxhdGU+CgogIDwhLS0qIHJlcGxhY2UgeHM6aW5jbHVkZSBlbGVtZW50
cyB3aXRoIG92ZXJyaWRlcwogICAgICAqLS0+CiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZWxlbWVu
dCh4czppbmNsdWRlKSIgcHJpb3JpdHk9IjUiPgogICAgPHhzbDplbGVtZW50IG5hbWU9InhzOm92
ZXJyaWRlIj4KICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ieG1sOmJhc2UiIHNlbGVjdD0iKEB4
bWw6YmFzZSwgJHhtbEJhc2UpWzFdIi8+CiAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IkBzY2hl
bWFMb2NhdGlvbiwgJG92ZXJyaWRlRWxlbWVudC8qIi8+CiAgICA8L3hzbDplbGVtZW50PgogIDwv
eHNsOnRlbXBsYXRlPgoKICA8IS0tKiBjaGFuZ2UgeHM6b3ZlcnJpZGUgZWxlbWVudHM6ICBjaGls
ZHJlbiB3aGljaCBtYXRjaCAKICAgICAgKiBjaGlsZHJlbiBvZiAkb3ZlcnJpZGVFbGVtZW50IGFy
ZSByZXBsYWNlZCwgb3RoZXJzIGFyZQogICAgICAqIGtlcHQsIGFuZCBhdCB0aGUgZW5kIGFsbCBj
aGlsZHJlbiBvZiAkb3ZlcnJpZGVFbGVtZW50CiAgICAgICogbm90IGFscmVhZHkgaW5zZXJ0ZWQg
YXJlIGFkZGVkLgogICAgICAqLS0+CiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZWxlbWVudCh4czpv
dmVycmlkZSkiCiAgICBwcmlvcml0eT0iNSI+CiAgICA8eHNsOmVsZW1lbnQgbmFtZT0ieHM6b3Zl
cnJpZGUiPgogICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJzY2hlbWFMb2NhdGlvbiIgc2VsZWN0
PSJAc2NoZW1hTG9jYXRpb24iLz4KICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ieG1sOmJhc2Ui
IHNlbGVjdD0iKEB4bWw6YmFzZSwgJHhtbEJhc2UpWzFdIi8+CiAgICAgIDx4c2w6YXBwbHktdGVt
cGxhdGVzLz4KICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIkb3ZlcnJpZGVFbGVt
ZW50LyoiIG1vZGU9ImNvcHktdW5tYXRjaGVkIj4KCSAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0i
b3ZlcnJpZGRlbk92ZXJyaWRlIiBzZWxlY3Q9Ii4iLz4KICAgICAgPC94c2w6YXBwbHktdGVtcGxh
dGVzPgogICAgPC94c2w6ZWxlbWVudD4KICA8L3hzbDp0ZW1wbGF0ZT4KCiAgPHhzbDp0ZW1wbGF0
ZSBtYXRjaD0iKiIgbW9kZT0iY29weS11bm1hdGNoZWQiPgogICAgPHhzbDpwYXJhbSBuYW1lPSJv
dmVycmlkZGVuT3ZlcnJpZGUiPjwveHNsOnBhcmFtPgogICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJv
dmVycmlkaW5nIiBzZWxlY3Q9Ii4iLz4KICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ib3ZlcnJpZGRl
biIgc2VsZWN0PSIkb3ZlcnJpZGRlbk92ZXJyaWRlLypbCgkgICAgbm9kZS1uYW1lKC4pID0gbm9k
ZS1uYW1lKCRvdmVycmlkaW5nKSBhbmQKCSAgICBmOmNvbXBvbmVudE5hbWUoLikgPSBmOmNvbXBv
bmVudE5hbWUoJG92ZXJyaWRpbmcpIF0iLz4KICAgICAgPHhzbDpjaG9vc2U+CiAgICAgIDx4c2w6
d2hlbiB0ZXN0PSJjb3VudCgkb3ZlcnJpZGRlbikgPiAwIj4KCSAgICA8IS0tKiBkbyBub3RoaW5n
OyB0aGlzIGVsZW1lbnQgaGFzIGFscmVhZHkgYmVlbiBjb3BpZWQgKi0tPgogICAgICA8L3hzbDp3
aGVuPgogICAgICA8eHNsOndoZW4gdGVzdD0iY291bnQoJG92ZXJyaWRkZW4pID0gMCI+CgkgICAg
PCEtLSogY29weSB0aGlzIGVsZW1lbnQsIGl0IGlzbid0IGFscmVhZHkgdGhlcmUgKi0tPgoJICAg
IDx4c2w6Y29weS1vZiBzZWxlY3Q9Ii4iLz4KICAgICAgPC94c2w6d2hlbj4KICAgIDwveHNsOmNo
b29zZT4KICA8L3hzbDp0ZW1wbGF0ZT4KICAKCiAgPHhzbDpmdW5jdGlvbiBuYW1lPSJmOmNvbXBv
bmVudE5hbWUiIGFzPSJ4czpRTmFtZSI+CiAgICA8eHNsOnBhcmFtIG5hbWU9ImNvbXBvbmVudCIg
YXM9ImVsZW1lbnQoKSIvPgogICAgPHhzbDpzZXF1ZW5jZSBzZWxlY3Q9IiBRTmFtZSgkY29tcG9u
ZW50L2FuY2VzdG9yOjp4czpzY2hlbWEvQHRhcmdldE5hbWVzcGFjZSwgJGNvbXBvbmVudC9AbmFt
ZSkiLz4KICA8L3hzbDpmdW5jdGlvbj4KCjwveHNsOnRyYW5zZm9ybT4=
</data>

          </attachment>
      

    </bug>

</bugzilla>