|
|
|
|
<?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 (<28>3.10.6).
|
|
|
|
|
|
|
|
|
|
4.3 Unless the {base type definition} is the <20>ur-type definition<6F>, 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>
|