- From: <paul.downey@bt.com>
- Date: Tue, 19 Sep 2006 14:10:30 +0100
- To: <public-xsd-databinding@w3.org>
I took an ACTION-65 to craft a chameleon (chamaeleon in English :) schema for ISSUE-57 - xs:include pattern. Given "include" might be basic, but including a schema without a targetNamespace will be "advanced" (ISSUE-27). Should this be a separate ISSUE? As with our Relative include and other import and include examples, we need to develop a technique to reference Schemas with symbols not used elsewhere - otherwise we have a clash when we build the examples.xsd and examples.wsdl catch-alls. I therefore suggest adding a "name" attribute to our <ex:types> element which can be used to construct a relative sub-schema document. We'll need to do some magic to mangle relative paths when generating the all-in-one example.xsd and example.wsdl: """ <ex:example xml:id="ChameleonInclude" element="ex:chameleonInclude"> <ex:types name="ChameleonIncluded"> <xs:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="ChameleonCollection"> <xs:sequence> <xs:element name="item1" type="ex:ChameleonItem"/> <xs:element name="item2" type="ex:ChameleonItem"/> </xs:sequence> </xs:complexType> <xs:complexType name="ChameleonItem"> <xs:sequence> <xs:element name="name" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> </ex:types> <ex:typedef> <xs:include schemaLocation="ChameleonIncluded.xsd"/> <xs:element name="chameleonInclude" type="ex:ChameleonCollection"/> </ex:typedef> <ex:instance xml:id="ChameleonInclude01"> <ex:chameleonInclude> <ex:item1> <ex:name>green</ex:name> </ex:item1> <ex:item2> <ex:name>black</ex:name> </ex:item2> </ex:chameleonInclude> </ex:instance> </ex:example> """ I can commit this later when I'm outside this stupid firewall, assuming the WG agrees .. Paul
Received on Tuesday, 19 September 2006 13:10:41 UTC