blob: c7400ac96737bbde80175d042c18c81e3207e5c8 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
Schema Component Constraint: Derivation Valid (Restriction, Complex)
4 If there is an {attribute wildcard}, all of the following must be true:
4.1 The {base type definition} must also have one.
4.2 The complex type definition's {attribute wildcard}'s {namespace constraint}
must be a subset of the {base type definition}'s {attribute wildcard}'s {namespace
constraint}, as defined by Wildcard Subset (§3.10.6).
4.3 Unless the {base type definition} is the ·ur-type definition·, the complex type
definition's {attribute wildcard}'s {process contents} must be identical to or stronger
than the {base type definition}'s {attribute wildcard}'s {process contents},
where strict is stronger than lax is stronger than skip.
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://FOO"
xmlns:foo="http://FOO"
>
<element name="foo">
<complexType>
<sequence>
<element name="bar.A" type="foo:type.A" />
<element name="bar.B" type="foo:type.B" />
<element name="bar.C" type="foo:type.C" />
</sequence>
</complexType>
</element>
<complexType name="type.A">
<complexContent>
<restriction base="foo:base.type.A">
<anyAttribute namespace="##any" processContents="skip" />
</restriction>
</complexContent>
</complexType>
<complexType name="base.type.A">
<attribute name="bar" type="string"/>
</complexType>
<complexType name="type.B">
<complexContent>
<restriction base="foo:base.type.B">
<anyAttribute namespace="##any" processContents="skip" />
</restriction>
</complexContent>
</complexType>
<complexType name="base.type.B">
<anyAttribute namespace="http://FOO" processContents="skip" />
</complexType>
<complexType name="type.C">
<complexContent>
<restriction base="foo:base.type.C">
<anyAttribute namespace="##any" processContents="skip" />
</restriction>
</complexContent>
</complexType>
<complexType name="base.type.C">
<anyAttribute namespace="##any" processContents="lax" />
</complexType>
</schema>