xref: /aosp_15_r20/external/libxml2/test/schemas/derivation-ok-restriction-4-1-err_0.xsd (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker<?xml version="1.0" encoding="ISO-8859-1" ?>
2*7c568831SAndroid Build Coastguard Worker<!--
3*7c568831SAndroid Build Coastguard Worker	Schema Component Constraint: Derivation Valid (Restriction, Complex)
4*7c568831SAndroid Build Coastguard Worker
5*7c568831SAndroid Build Coastguard Worker	4 If there is an {attribute wildcard}, all of the following must be true:
6*7c568831SAndroid Build Coastguard Worker
7*7c568831SAndroid Build Coastguard Worker	4.1 The {base type definition} must also have one.
8*7c568831SAndroid Build Coastguard Worker
9*7c568831SAndroid Build Coastguard Worker	4.2 The complex type definition's {attribute wildcard}'s {namespace constraint}
10*7c568831SAndroid Build Coastguard Worker	must be a subset of the {base type definition}'s {attribute wildcard}'s {namespace
11*7c568831SAndroid Build Coastguard Worker	constraint}, as defined by Wildcard Subset (�3.10.6).
12*7c568831SAndroid Build Coastguard Worker
13*7c568831SAndroid Build Coastguard Worker	4.3 Unless the {base type definition} is the �ur-type definition�, the complex type
14*7c568831SAndroid Build Coastguard Worker	definition's {attribute wildcard}'s {process contents} must be identical to or stronger
15*7c568831SAndroid Build Coastguard Worker	than the {base type definition}'s {attribute wildcard}'s {process contents},
16*7c568831SAndroid Build Coastguard Worker	where strict is stronger than lax is stronger than skip.
17*7c568831SAndroid Build Coastguard Worker-->
18*7c568831SAndroid Build Coastguard Worker<schema xmlns="http://www.w3.org/2001/XMLSchema"
19*7c568831SAndroid Build Coastguard Worker	targetNamespace="http://FOO"
20*7c568831SAndroid Build Coastguard Worker	xmlns:foo="http://FOO"
21*7c568831SAndroid Build Coastguard Worker	>
22*7c568831SAndroid Build Coastguard Worker
23*7c568831SAndroid Build Coastguard Worker	<element name="foo">
24*7c568831SAndroid Build Coastguard Worker		<complexType>
25*7c568831SAndroid Build Coastguard Worker			<sequence>
26*7c568831SAndroid Build Coastguard Worker				<element name="bar.A" type="foo:type.A" />
27*7c568831SAndroid Build Coastguard Worker				<element name="bar.B" type="foo:type.B" />
28*7c568831SAndroid Build Coastguard Worker				<element name="bar.C" type="foo:type.C" />
29*7c568831SAndroid Build Coastguard Worker			</sequence>
30*7c568831SAndroid Build Coastguard Worker		</complexType>
31*7c568831SAndroid Build Coastguard Worker	</element>
32*7c568831SAndroid Build Coastguard Worker
33*7c568831SAndroid Build Coastguard Worker	<complexType name="type.A">
34*7c568831SAndroid Build Coastguard Worker		<complexContent>
35*7c568831SAndroid Build Coastguard Worker			<restriction base="foo:base.type.A">
36*7c568831SAndroid Build Coastguard Worker				<anyAttribute namespace="##any" processContents="skip" />
37*7c568831SAndroid Build Coastguard Worker			</restriction>
38*7c568831SAndroid Build Coastguard Worker		</complexContent>
39*7c568831SAndroid Build Coastguard Worker	</complexType>
40*7c568831SAndroid Build Coastguard Worker
41*7c568831SAndroid Build Coastguard Worker	<complexType name="base.type.A">
42*7c568831SAndroid Build Coastguard Worker		<attribute name="bar" type="string"/>
43*7c568831SAndroid Build Coastguard Worker	</complexType>
44*7c568831SAndroid Build Coastguard Worker
45*7c568831SAndroid Build Coastguard Worker	<complexType name="type.B">
46*7c568831SAndroid Build Coastguard Worker		<complexContent>
47*7c568831SAndroid Build Coastguard Worker			<restriction base="foo:base.type.B">
48*7c568831SAndroid Build Coastguard Worker				<anyAttribute namespace="##any" processContents="skip" />
49*7c568831SAndroid Build Coastguard Worker			</restriction>
50*7c568831SAndroid Build Coastguard Worker		</complexContent>
51*7c568831SAndroid Build Coastguard Worker	</complexType>
52*7c568831SAndroid Build Coastguard Worker
53*7c568831SAndroid Build Coastguard Worker	<complexType name="base.type.B">
54*7c568831SAndroid Build Coastguard Worker		<anyAttribute namespace="http://FOO" processContents="skip" />
55*7c568831SAndroid Build Coastguard Worker	</complexType>
56*7c568831SAndroid Build Coastguard Worker
57*7c568831SAndroid Build Coastguard Worker	<complexType name="type.C">
58*7c568831SAndroid Build Coastguard Worker		<complexContent>
59*7c568831SAndroid Build Coastguard Worker			<restriction base="foo:base.type.C">
60*7c568831SAndroid Build Coastguard Worker				<anyAttribute namespace="##any" processContents="skip" />
61*7c568831SAndroid Build Coastguard Worker			</restriction>
62*7c568831SAndroid Build Coastguard Worker		</complexContent>
63*7c568831SAndroid Build Coastguard Worker	</complexType>
64*7c568831SAndroid Build Coastguard Worker
65*7c568831SAndroid Build Coastguard Worker	<complexType name="base.type.C">
66*7c568831SAndroid Build Coastguard Worker		<anyAttribute namespace="##any" processContents="lax" />
67*7c568831SAndroid Build Coastguard Worker	</complexType>
68*7c568831SAndroid Build Coastguard Worker
69*7c568831SAndroid Build Coastguard Worker</schema>
70