bug303566_1.xsd 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?xml version="1.0"?>
  2. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  3. <xsd:simpleType name="codeType">
  4. <xsd:restriction base="xsd:string">
  5. <xsd:pattern value="[A-Z]+"/>
  6. </xsd:restriction>
  7. </xsd:simpleType>
  8. <xsd:element name="Test">
  9. <xsd:complexType>
  10. <xsd:sequence>
  11. <xsd:element ref="Country"
  12. maxOccurs="unbounded"/>
  13. </xsd:sequence>
  14. </xsd:complexType>
  15. </xsd:element>
  16. <xsd:element name="Country">
  17. <xsd:complexType>
  18. <xsd:sequence>
  19. <xsd:element ref="City"
  20. maxOccurs="unbounded"/>
  21. </xsd:sequence>
  22. <xsd:attribute name="code"
  23. type="codeType"
  24. use="required"/>
  25. </xsd:complexType>
  26. <xsd:key name="CountryDummyKey">
  27. <xsd:selector xpath="."/>
  28. <xsd:field xpath="@code"/>
  29. </xsd:key>
  30. <xsd:keyref name="PartRefCountryDummy"
  31. refer="CountryDummyKey">
  32. <xsd:selector xpath=".//Part"/>
  33. <xsd:field xpath="@country"/>
  34. </xsd:keyref>
  35. </xsd:element>
  36. <xsd:element name="City">
  37. <xsd:complexType>
  38. <xsd:sequence>
  39. <xsd:element ref="Part"
  40. minOccurs="2"
  41. maxOccurs="2"/>
  42. </xsd:sequence>
  43. <xsd:attribute name="name"
  44. type="xsd:string"
  45. use="required"/>
  46. <xsd:attribute name="code"
  47. type="xsd:string"
  48. use="required"/>
  49. </xsd:complexType>
  50. </xsd:element>
  51. <xsd:element name="Part">
  52. <xsd:complexType>
  53. <xsd:attribute name="country"
  54. type="codeType"
  55. use="required"/>
  56. </xsd:complexType>
  57. </xsd:element>
  58. </xsd:schema>