cos-ct-extends-1-3_0.xsd 1.6 KB

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