blob: 7655a8e09314a1ae3dab44443d10f4e582bdfd81 [file] [log] [blame]
Daniel Veillard50355f02004-06-08 17:52:16 +00001<?xml version="1.0" encoding="ISO-8859-1" ?>
2<!--
3 Schema Component Constraint: Derivation Valid (Extension)
4
5 1.3 If it has an {attribute wildcard}, the complex type definition must
6 also have one, and the base type definition's {attribute wildcard}'s
7 {namespace constraint} must be a subset of the complex type definition's
8 {attribute wildcard}'s {namespace constraint}, as defined by Wildcard Subset (ยง3.10.6).
9-->
10<schema xmlns="http://www.w3.org/2001/XMLSchema"
11 targetNamespace="http://FOO"
12 xmlns:foo="http://FOO"
13 elementFormDefault="qualified">
14
15 <element name="foo">
16 <complexType>
17 <sequence>
18 <element name="bar.A" type="foo:type.A" />
19 <element name="bar.B" type="foo:type.B" />
20 </sequence>
21 </complexType>
22 </element>
23
24 <complexType name="type.A">
25 <complexContent>
26 <!-- This is OK, since the complete wildcard
27 is the wildcard of the base type. -->
28 <extension base="foo:base.type.A" />
29 </complexContent>
30 </complexType>
31
32 <complexType name="base.type.A">
33 <anyAttribute namespace="##any" processContents="skip" />
34 </complexType>
35
36 <complexType name="type.B">
37 <complexContent>
38 <extension base="foo:base.type.B">
39 <!-- This is OK, since the complete wildcard is a union
40 of "##any" and "http://FOO" = "##any". Thus the complete
41 wildcard is equal to that one in the base class. -->
42 <anyAttribute namespace="http://FOO" processContents="skip" />
43 </extension>
44 </complexContent>
45 </complexType>
46
47 <complexType name="base.type.B">
48 <anyAttribute namespace="##any" processContents="skip" />
49 </complexType>
50
51</schema>