| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- Copyright 2004 The Apache Software Foundation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. --> |
| |
| <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> |