blob: 3b46bb614ffdf0490f8af15fb6d6a65d5b6aef01 [file] [log] [blame]
<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>