|
|
|
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
|
|
|
|
<!--
|
|
|
|
|
Schema Component Constraint: Derivation Valid (Extension)
|
|
|
|
|
|
|
|
|
|
1.3 If it has an {attribute wildcard}, the complex type definition must
|
|
|
|
|
also have one, and the base type definition's {attribute wildcard}'s
|
|
|
|
|
{namespace constraint} must be a subset of the complex type definition's
|
|
|
|
|
{attribute wildcard}'s {namespace constraint}, as defined by Wildcard Subset (<28>3.10.6).
|
|
|
|
|
-->
|
|
|
|
|
<schema xmlns="http://www.w3.org/2001/XMLSchema"
|
|
|
|
|
targetNamespace="http://FOO"
|
|
|
|
|
xmlns:foo="http://FOO"
|
|
|
|
|
elementFormDefault="qualified">
|
|
|
|
|
|
|
|
|
|
<element name="foo">
|
|
|
|
|
<complexType>
|
|
|
|
|
<sequence>
|
|
|
|
|
<element name="bar.A" type="foo:type.A" />
|
|
|
|
|
<element name="bar.B" type="foo:type.B" />
|
|
|
|
|
</sequence>
|
|
|
|
|
</complexType>
|
|
|
|
|
</element>
|
|
|
|
|
|
|
|
|
|
<complexType name="type.A">
|
|
|
|
|
<complexContent>
|
|
|
|
|
<!-- This is OK, since the complete wildcard
|
|
|
|
|
is the wildcard of the base type. -->
|
|
|
|
|
<extension base="foo:base.type.A" />
|
|
|
|
|
</complexContent>
|
|
|
|
|
</complexType>
|
|
|
|
|
|
|
|
|
|
<complexType name="base.type.A">
|
|
|
|
|
<anyAttribute namespace="##any" processContents="skip" />
|
|
|
|
|
</complexType>
|
|
|
|
|
|
|
|
|
|
<complexType name="type.B">
|
|
|
|
|
<complexContent>
|
|
|
|
|
<extension base="foo:base.type.B">
|
|
|
|
|
<!-- This is OK, since the complete wildcard is a union
|
|
|
|
|
of "##any" and "http://FOO" = "##any". Thus the complete
|
|
|
|
|
wildcard is equal to that one in the base class. -->
|
|
|
|
|
<anyAttribute namespace="http://FOO" processContents="skip" />
|
|
|
|
|
</extension>
|
|
|
|
|
</complexContent>
|
|
|
|
|
</complexType>
|
|
|
|
|
|
|
|
|
|
<complexType name="base.type.B">
|
|
|
|
|
<anyAttribute namespace="##any" processContents="skip" />
|
|
|
|
|
</complexType>
|
|
|
|
|
|
|
|
|
|
</schema>
|