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