148 lines
5.4 KiB
XML
148 lines
5.4 KiB
XML
|
<xsd:schema
|
||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||
|
xmlns="http://xbean/scomp/derivation/AttributeWCExtension"
|
||
|
targetNamespace="http://xbean/scomp/derivation/AttributeWCExtension"
|
||
|
xmlns:base="http://xbean/scomp/namespace/AttributeWC"
|
||
|
xmlns:simple="http://xbean/scomp/attribute/GlobalAttrDefault"
|
||
|
attributeFormDefault="qualified"
|
||
|
>
|
||
|
|
||
|
<xsd:import namespace="http://xbean/scomp/attribute/GlobalAttrDefault"
|
||
|
schemaLocation="../attribute/GlobalAttrDefault.xsd"/>
|
||
|
|
||
|
<xsd:complexType name="BaseNoWCT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="simple:GlobalAttrDefaultT">
|
||
|
<xsd:anyAttribute namespace="##targetNamespace" processContents="strict"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
|
||
|
<!--processContent Restrictions
|
||
|
1. strict==>lax AnyLaxT
|
||
|
2. strict==>skip AnySkipT
|
||
|
3. lax==>strict AnyStrictT
|
||
|
4. lax==>skip OtherListSkipT
|
||
|
5. skip==>strict OtherListStrictT
|
||
|
6. skip==>lax OtherListLaxT
|
||
|
-->
|
||
|
|
||
|
<!--Resticting any w/ anything: result should be any-->
|
||
|
<xsd:complexType name="AnyLaxT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:AnyStrictT">
|
||
|
<xsd:anyAttribute namespace="##local" processContents="lax"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="AnySkipT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:AnyStrictT">
|
||
|
<xsd:anyAttribute namespace="http://apache.org" processContents="skip"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="AnyStrictT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:AnyLaxT">
|
||
|
<xsd:anyAttribute namespace="##other"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
|
||
|
<xsd:complexType name="OtherListLaxT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherSkipT">
|
||
|
<xsd:anyAttribute namespace="##local" processContents="lax"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="OtherListSkipT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherLaxT">
|
||
|
<xsd:anyAttribute namespace="##targetNamespace" processContents="skip"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="OtherListStrictT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherSkipT">
|
||
|
<xsd:anyAttribute namespace="http://foobar
|
||
|
http://xbean/scomp/attribute/GlobalAttrFixed"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
<!--since targetNS of these 2 schemas is different, the effect should be ANY-->
|
||
|
<xsd:complexType name="OtherOthertLaxT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherSkipT">
|
||
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="OtherOtherSkipT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherLaxT">
|
||
|
<xsd:anyAttribute namespace="##other" processContents="skip"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="OtherOtherStrictT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherSkipT">
|
||
|
<xsd:anyAttribute namespace="##other"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
|
||
|
<xsd:complexType name="UriListLaxT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherSkipT">
|
||
|
<xsd:anyAttribute namespace="##local" processContents="lax"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="UriListSkipT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherStrictT">
|
||
|
<xsd:anyAttribute namespace="##targetNamespace" processContents="skip"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
<xsd:complexType name="UriListStrictT">
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="base:OtherStrictT">
|
||
|
<xsd:anyAttribute namespace="http://xbean/scomp/attribute/GlobalAttrFixed"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
|
||
|
<xsd:element name="BaseNoWC" type="BaseNoWCT"/>
|
||
|
<xsd:element name="AnyLax" type="AnyLaxT"/>
|
||
|
<xsd:element name="AnySkip" type="AnySkipT"/>
|
||
|
<xsd:element name="AnyStrict" type="AnyStrictT"/>
|
||
|
<xsd:element name="OtherListLax" type="OtherListLaxT"/>
|
||
|
<xsd:element name="OtherListSkip" type="OtherListSkipT"/>
|
||
|
<xsd:element name="OtherListStrict" type="OtherListStrictT"/>
|
||
|
<xsd:element name="OtherOtherLax" type="OtherOthertLaxT"/>
|
||
|
<xsd:element name="OtherOtherSkip" type="OtherOtherSkipT"/>
|
||
|
<xsd:element name="OtherOtherStrict" type="OtherOtherStrictT"/>
|
||
|
<xsd:element name="UriListLax" type="UriListLaxT"/>
|
||
|
<xsd:element name="UriListSkip" type="UriListSkipT"/>
|
||
|
<xsd:element name="UriListStrict" type="UriListStrictT"/>
|
||
|
|
||
|
|
||
|
<xsd:attribute name="testAttr"/>
|
||
|
</xsd:schema>
|