<?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>4104</bug_id>
          
          <creation_ts>2006-12-20 18:54:49 +0000</creation_ts>
          <short_desc>Transitive chameleon includes</short_desc>
          <delta_ts>2007-02-23 19:01:25 +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.0/1.1 both</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 2000</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>resolved</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noah Mendelsohn">noah_mendelsohn</reporter>
          <assigned_to name="C. M. Sperberg-McQueen">cmsmcq</assigned_to>
          
          
          <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>13264</commentid>
    <comment_count>0</comment_count>
    <who name="Noah Mendelsohn">noah_mendelsohn</who>
    <bug_when>2006-12-20 18:54:49 +0000</bug_when>
    <thetext>I was just reviewing the discussion of chameleon includes at [1].  It says:

2 One of the following must be true:
2.1 SII has a targetNamespace [attribute], and its ·actual value· is identical to the ·actual value· of the targetNamespace [attribute] of SII (which must have such an [attribute]).
2.2 Neither SII nor SII have a targetNamespace [attribute].
2.3 SII has no targetNamespace [attribute] (but SII does).
3 The appropriate case among the following must be true:
3.1 If clause 2.1 or clause 2.2 above is satisfied, then the schema corresponding to SII must include not only definitions or declarations corresponding to the appropriate members of its own [children], but also components identical to all the ·schema components· of I.
3.2 If clause 2.3 above is satisfied, then the schema corresponding to the &lt;include&gt;d item&apos;s parent &lt;schema&gt; must include not only definitions or declarations corresponding to the appropriate members of its own [children], but also components identical to all the ·schema components· of I, except that anywhere the ·absent· target namespace name would have appeared, the ·actual value· of the targetNamespace [attribute] of SII is used. In particular, it replaces ·absent· in the following places:
3.2.1 The {target namespace} of named schema components, both at the top level and (in the case of nested type definitions and nested attribute and element declarations whose code was qualified) nested within definitions;
3.2.2 The {namespace constraint} of a wildcard, whether negated or not;

Clause 2.3 seems to have effect only in the case that the including schema document has an explicit targetNamespace attribute.  The result seems to be that if the included chameleon schema document itself issues an include, that grandchild schema document will not be subject to chameleon processing, even if it lacks a targetNamespace attribute.

Is this intentional?  If not, then probably it&apos;s a bug that should be addressed.

Noah

[1] http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/#compound-schema</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14062</commentid>
    <comment_count>1</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2007-02-22 20:53:50 +0000</bug_when>
    <thetext>There does seem to be a bug here, but it&apos;s the use of the
phrase &quot;the schema corresponding to the &lt;include&gt;d item&apos;s 
parent &lt;schema&gt;&quot; instead of &quot;the schema corresponding to
SII&apos;&quot; or &quot;the schema corresponding to the &lt;include&gt;ing
item&apos;s parent &lt;schema&gt;&quot;.

Clause 3.2 calls for including, and performing namespace
munging on, not only those components corresponding to
source declarations in schema document SII, but all components
in I, the schema corresponding to SII.  If SII contains
&lt;xsd:include&gt; elements pointing to other schema documents
without a target namespace, the components derived from 
the source declarations in those schema documents are
part of schema I, and are thus subject to namespace munging
just like those whose source declarations are in I.

The wording looks like an error only when the reader fails
to observe that the rule defines the result of chameleon 
include not in terms of the set of source declarations 
from which components are to be constructed, but in terms 
of the schema constructed from the included schema document.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14081</commentid>
    <comment_count>2</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2007-02-23 19:01:25 +0000</bug_when>
    <thetext>During today&apos;s call, the Working Group decided against taking action on
this issue, and to close it with the disposition INVALID.  That means
that we do not expect any change in the 1.1 spec to address the
concern raised here, because we believe that no real issue is raised.
(In view of the tight time frame, this decision
may be reopened and revisited on next week&apos;s call.)

Accordingly, I&apos;m marking this issue as resolved.  

Noah, as the originator of this issue, you can signal your agreement
with (or at least: acquiescence in) this decision by marking the
issue CLOSED, or you can indicate your dissatisfaction with the
decision by changing the status to REOPENED.  If we don&apos;t hear
from you in a couple of weeks, we&apos;ll assume you acquiesce and the
issue will be marked CLOSED.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>