• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<xsd:schema xmlns:foo="http://FOO" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:import="http://IMPORT"
3	targetNamespace="http://FOO" elementFormDefault="qualified">
4	<xsd:import namespace="http://IMPORT" schemaLocation="anyAttr.importA.1_0.xsd"/>
5	<xsd:import schemaLocation="anyAttr.importB.1_0.xsd"/>
6	<xsd:element name="foo">
7		<xsd:complexType>
8		    <xsd:sequence>
9				<!-- Attribute Wildcard Union -->
10				<xsd:element name="derive.1_1" type="foo:type.1_1"/>
11				<xsd:element name="derive.1_4" type="foo:type.1_4"/>
12
13				<xsd:element name="derive.2_1" type="foo:type.2_1"/>
14
15				<xsd:element name="derive.3_1" type="foo:type.3_1"/>
16
17				<xsd:element name="derive.4_1" type="foo:type.4_1"/>
18
19				<xsd:element name="derive.5_1_a" type="foo:type.5_1_a"/>
20				<xsd:element name="derive.5_1_b" type="foo:type.5_1_b"/>
21				<xsd:element name="derive.5_2_a" type="foo:type.5_2_a"/>
22				<xsd:element name="derive.5_2_b" type="foo:type.5_2_b"/>
23				<xsd:element name="derive.5_4_a" type="foo:type.5_4_a"/>
24				<xsd:element name="derive.5_4_b" type="foo:type.5_4_b"/>
25				<xsd:element name="derive.6_1"   type="foo:type.6_1"/>
26				<xsd:element name="derive.6_2"   type="foo:type.6_2"/>
27			</xsd:sequence>
28		</xsd:complexType>
29	</xsd:element>
30
31	<!-- Attribute Wildcard Union -->
32
33	<!-- 1. If O1 and O2 are the same value, then that value must be the value. -->
34	<xsd:complexType name="type.1_1">
35		<xsd:complexContent>
36			<xsd:extension base="foo:type.base.1_1">
37				<xsd:anyAttribute namespace="##any" processContents="lax"/>
38			</xsd:extension>
39		</xsd:complexContent>
40	</xsd:complexType>
41	<xsd:complexType name="type.base.1_1">
42		<xsd:attributeGroup ref="foo:attrGr.1_1"/>
43		<xsd:anyAttribute namespace="##any" processContents="lax"/>
44	</xsd:complexType>
45	<xsd:attributeGroup name="attrGr.1_1">
46		<xsd:anyAttribute namespace="##any" processContents="lax"/>
47	</xsd:attributeGroup>
48
49	<xsd:complexType name="type.1_4">
50		<xsd:complexContent>
51			<xsd:extension base="foo:type.base.1_4">
52				<xsd:anyAttribute namespace="http://BAR ##local http://FOO" processContents="lax"/>
53			</xsd:extension>
54		</xsd:complexContent>
55	</xsd:complexType>
56    <xsd:complexType name="type.base.1_4">
57		<xsd:attributeGroup ref="foo:attrGr.1_4"/>
58		<xsd:anyAttribute namespace="##local http://BAR   ##targetNamespace " processContents="lax"/>
59	</xsd:complexType>
60	<xsd:attributeGroup name="attrGr.1_4">
61		<xsd:anyAttribute namespace="  http://FOO  http://BAR ##local"/>
62	</xsd:attributeGroup>
63
64	<!-- 2. If either O1 or O2 is any, then any must be the value. -->
65	<xsd:complexType name="type.2_1">
66		<xsd:complexContent>
67			<xsd:extension base="foo:type.base.2_1">
68				<xsd:anyAttribute namespace="##any" processContents="lax"/>
69			</xsd:extension>
70		</xsd:complexContent>
71	</xsd:complexType>
72	<xsd:complexType name="type.base.2_1">
73		<xsd:attributeGroup ref="foo:attrGr.2_1"/>
74		<xsd:anyAttribute namespace="##any" processContents="lax"/>
75	</xsd:complexType>
76	<xsd:attributeGroup name="attrGr.2_1">
77		<xsd:anyAttribute namespace="##local ##targetNamespace"/>
78	</xsd:attributeGroup>
79
80	<!-- 3. If both O1 and O2 are sets of (namespace names or �absent�),
81		then the union of those sets must be the value. -->
82	<xsd:complexType name="type.3_1">
83		<xsd:complexContent>
84			<xsd:extension base="foo:type.base.3_1">
85				<xsd:anyAttribute namespace="##targetNamespace http://DOO" processContents="lax"/>
86			</xsd:extension>
87		</xsd:complexContent>
88	</xsd:complexType>
89	<xsd:complexType name="type.base.3_1">
90		<xsd:attributeGroup ref="foo:attrGr.3_1"/>
91		<xsd:anyAttribute namespace="##local" processContents="lax"/>
92	</xsd:complexType>
93	<xsd:attributeGroup name="attrGr.3_1">
94		<xsd:anyAttribute namespace="##local ##targetNamespace http://BAR"/>
95	</xsd:attributeGroup>
96	<!-- 4 If the two are negations of different values (namespace
97	 names or �absent�), then a pair of not and �absent� must be the value. -->
98	<xsd:complexType name="type.4_1">
99		<xsd:complexContent>
100			<xsd:extension base="imp.type.base.derive.4_1">
101				<xsd:anyAttribute namespace="##other" processContents="lax"/>
102			</xsd:extension>
103		</xsd:complexContent>
104	</xsd:complexType>
105	<!-- 5 If either O1 or O2 is a pair of not and a namespace name and
106	  the other is a set of (namespace names or �absent�) (call this set S),
107	  then The appropriate case among the following must be true: -->
108	<!-- 5.1 If the set S includes both the negated namespace name and
109	  �absent�, then any must be the value. -->
110	<xsd:complexType name="type.5_1_a">
111		<xsd:complexContent>
112			<xsd:extension base="foo:type.base.5_1_a">
113				<xsd:anyAttribute namespace="##local ##targetNamespace" processContents="lax"/>
114			</xsd:extension>
115		</xsd:complexContent>
116	</xsd:complexType>
117	<xsd:complexType name="type.base.5_1_a">
118		<xsd:anyAttribute namespace="##other" processContents="lax"/>
119	</xsd:complexType>
120
121	<xsd:complexType name="type.5_1_b">
122		<xsd:complexContent>
123			<xsd:extension base="foo:type.base.5_1_b">
124				<xsd:anyAttribute namespace="##other" processContents="lax"/>
125			</xsd:extension>
126		</xsd:complexContent>
127	</xsd:complexType>
128	<xsd:complexType name="type.base.5_1_b">
129		<xsd:anyAttribute namespace="##local ##targetNamespace" processContents="lax"/>
130	</xsd:complexType>
131
132	<!-- 5.2 If the set S includes the negated namespace name but not �absent�,
133	  then a pair of not and �absent� must be the value. -->
134	<xsd:complexType name="type.5_2_a">
135		<xsd:complexContent>
136			<xsd:extension base="foo:type.base.5_2_a">
137				<xsd:anyAttribute namespace="##targetNamespace http://BAR" processContents="lax"/>
138			</xsd:extension>
139		</xsd:complexContent>
140	</xsd:complexType>
141	<xsd:complexType name="type.base.5_2_a">
142		<xsd:anyAttribute namespace="##other" processContents="lax"/>
143	</xsd:complexType>
144
145	<xsd:complexType name="type.5_2_b">
146		<xsd:complexContent>
147			<xsd:extension base="foo:type.base.5_2_b">
148				<xsd:anyAttribute namespace="##other" processContents="lax"/>
149			</xsd:extension>
150		</xsd:complexContent>
151	</xsd:complexType>
152	<xsd:complexType name="type.base.5_2_b">
153		<xsd:anyAttribute namespace="##targetNamespace http://BAR" processContents="lax"/>
154	</xsd:complexType>
155	<!-- 5.3 If the set S includes �absent� but not the negated namespace name,
156	  then the union is not expressible. -->
157	<!--
158	<xsd:complexType name="type.5_3_a">
159		<xsd:complexContent>
160			<xsd:extension base="foo:type.base.5_3_a">
161				<xsd:anyAttribute namespace="##local http://BAR" processContents="lax"/>
162			</xsd:extension>
163		</xsd:complexContent>
164	</xsd:complexType>
165	<xsd:complexType name="type.base.5_3_a">
166		<xsd:anyAttribute namespace="##other" processContents="lax"/>
167	</xsd:complexType>
168
169	<xsd:complexType name="type.5_3_b">
170		<xsd:complexContent>
171			<xsd:extension base="foo:type.base.5_3_b">
172				<xsd:anyAttribute namespace="##other" processContents="lax"/>
173			</xsd:extension>
174		</xsd:complexContent>
175	</xsd:complexType>
176	<xsd:complexType name="type.base.5_3_b">
177		<xsd:anyAttribute namespace="##local http://BAR" processContents="lax"/>
178	</xsd:complexType>
179	-->
180	<!-- 5.4 If the set S does not include either the negated namespace name
181		or �absent�, then whichever of O1 or O2 is a pair of not and a namespace
182		name must be the value. -->
183	<xsd:complexType name="type.5_4_a">
184		<xsd:complexContent>
185			<xsd:extension base="foo:type.base.5_4_a">
186				<xsd:anyAttribute namespace="http://BAR" processContents="lax"/>
187			</xsd:extension>
188		</xsd:complexContent>
189	</xsd:complexType>
190	<xsd:complexType name="type.base.5_4_a">
191		<xsd:anyAttribute namespace="##other" processContents="lax"/>
192	</xsd:complexType>
193
194	<xsd:complexType name="type.5_4_b">
195		<xsd:complexContent>
196			<xsd:extension base="foo:type.base.5_4_b">
197				<xsd:anyAttribute namespace="##other" processContents="lax"/>
198			</xsd:extension>
199		</xsd:complexContent>
200	</xsd:complexType>
201	<xsd:complexType name="type.base.5_4_b">
202		<xsd:anyAttribute namespace="http://BAR" processContents="lax"/>
203	</xsd:complexType>
204	<!-- 6 If either O1 or O2 is a pair of not and �absent� and the other is a
205	  set of (namespace names or �absent�) (again, call this set S), then The
206	  appropriate case among the following must be true: -->
207	<!-- 6.1 If the set S includes �absent�, then any must be the value. -->
208	<xsd:complexType name="type.6_1">
209		<xsd:complexContent>
210			<xsd:extension base="imp.type.base.derive.6">
211				<xsd:anyAttribute namespace="##local http://BAR" processContents="lax"/>
212			</xsd:extension>
213		</xsd:complexContent>
214	</xsd:complexType>
215	<!-- 6.2 If the set S does not include �absent�, then a pair of not and �absent�
216	  must be the value. -->
217	<xsd:complexType name="type.6_2">
218		<xsd:complexContent>
219			<xsd:extension base="imp.type.base.derive.6">
220				<xsd:anyAttribute namespace="http://BAR http://DOO" processContents="lax"/>
221			</xsd:extension>
222		</xsd:complexContent>
223	</xsd:complexType>
224
225</xsd:schema>
226
227
228