Clarification for use of xs:include

part 1 section 3.1.2 states:
"Inside an embedded XML schema, the xs:import and xs:include element information items MAY be used to refer to other XML schemas embedded in the same WSDL description, provided that an appropriate value is specified for their schemaLocation attribute information items. The semantics of such element information items are governed solely by the XML Schema specification [XML Schema:  <http://www.w3.org/TR/2004/WD-wsdl20-20040803/#XMLSchemaP1> Structures]." It doesn't say anything about what's the "appropriate value" and implies that it's the question for schema spec. 
 
I searched our mail archival, there were many messages exchanged about this but seems no conclusion was drawn about what the "appropriate value" should be for @schemalocations in the following example?  
 
<type>
    <xs:schema targetNamespace = "a"> ....</schema>
 
    <xs:schema targetNamespace = "b">
        <xs:import namespace = "a" schemalocation = "???"/> ...
    </schema>
 
    <xs:schema targetNamespace = "a"> 
        <xs:include  schemalocation = "???"/> ...
    </schema>
 
<type>
 
Some suggested that for the xs:import in "b", the @schemalocation should not present (it's optional anyway).  But nothing has been said about the case for the second "a" which xs:includes the first "a". is it legal (the spec quoted above implies yes)? if so, what's the right value for xs:include@schemaLocation(not it's a required attribute ) ?  
 
Any one can help? Since this a confusing area, I am thinking to include something in the Primer.

Best Regards,
Kevin Liu


 

Received on Thursday, 9 September 2004 22:11:02 UTC