dssc.xml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  3. xmlns:dssc="urn:ietf:params:xml:ns:dssc"
  4. xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
  5. targetNamespace="urn:ietf:params:xml:ns:dssc"
  6. elementFormDefault="qualified"
  7. attributeFormDefault="unqualified">
  8. <xs:import namespace="http://www.w3.org/XML/1998/namespace"
  9. schemaLocation="http://www.w3.org/2001/xml.xsd"/>
  10. <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
  11. schemaLocation="xmldsig-core-schema.xsd"/>
  12. <xs:element name="SecuritySuitabilityPolicy"
  13. type="dssc:SecuritySuitabilityPolicyType"/>
  14. <xs:complexType name="SecuritySuitabilityPolicyType">
  15. <xs:sequence>
  16. <xs:element ref="dssc:PolicyName"/>
  17. <xs:element ref="dssc:Publisher"/>
  18. <xs:element name="PolicyIssueDate" type="xs:dateTime"/>
  19. <xs:element name="NextUpdate" type="xs:dateTime" minOccurs="0"/>
  20. <xs:element name="Usage" type="xs:string" minOccurs="0"/>
  21. <xs:element ref="dssc:Algorithm" maxOccurs="unbounded"/>
  22. <xs:element ref="ds:Signature" minOccurs="0"/>
  23. </xs:sequence>
  24. <xs:attribute name="version" type="xs:string" default="1"/>
  25. <xs:attribute name="lang" default="en"/>
  26. <xs:attribute name="id" type="xs:ID"/>
  27. </xs:complexType>
  28. <xs:element name="PolicyName" type="dssc:PolicyNameType"/>
  29. <xs:complexType name="PolicyNameType">
  30. <xs:sequence>
  31. <xs:element ref="dssc:Name"/>
  32. <xs:element ref="dssc:ObjectIdentifier" minOccurs="0"/>
  33. <xs:element ref="dssc:URI" minOccurs="0"/>
  34. </xs:sequence>
  35. </xs:complexType>
  36. <xs:element name="Publisher" type="dssc:PublisherType"/>
  37. <xs:complexType name="PublisherType">
  38. <xs:sequence>
  39. <xs:element ref="dssc:Name"/>
  40. <xs:element name="Address" type="xs:string" minOccurs="0"/>
  41. <xs:element ref="dssc:URI" minOccurs="0"/>
  42. </xs:sequence>
  43. </xs:complexType>
  44. <xs:element name="Name" type="xs:string"/>
  45. <xs:element name="ObjectIdentifier">
  46. <xs:simpleType>
  47. <xs:restriction base="xs:string">
  48. <xs:pattern value="(\d+\.)+\d+"/>
  49. </xs:restriction>
  50. </xs:simpleType>
  51. </xs:element>
  52. <xs:element name="URI" type="xs:anyURI"/>
  53. <xs:element name="Algorithm" type="dssc:AlgorithmType"/>
  54. <xs:complexType name="AlgorithmType">
  55. <xs:sequence>
  56. <xs:element ref="dssc:AlgorithmIdentifier"/>
  57. <xs:element ref="dssc:Evaluation" maxOccurs="unbounded"/>
  58. <xs:element ref="dssc:Information" minOccurs="0"/>
  59. <xs:any namespace="##other" minOccurs="0"/>
  60. </xs:sequence>
  61. </xs:complexType>
  62. <xs:element name="AlgorithmIdentifier"
  63. type="dssc:AlgorithmIdentifierType"/>
  64. <xs:complexType name="AlgorithmIdentifierType">
  65. <xs:sequence>
  66. <xs:element ref="dssc:Name"/>
  67. <xs:element ref="dssc:ObjectIdentifier" maxOccurs="unbounded"/>
  68. <xs:element ref="dssc:URI" minOccurs="0" maxOccurs="unbounded"/>
  69. </xs:sequence>
  70. </xs:complexType>
  71. <xs:element name="Validity" type="dssc:ValidityType"/>
  72. <xs:complexType name="ValidityType">
  73. <xs:sequence>
  74. <xs:element name="Start" type="xs:date" minOccurs="0"/>
  75. <xs:element name="End" type="xs:date" minOccurs="0"/>
  76. </xs:sequence>
  77. </xs:complexType>
  78. <xs:element name="Information" type="dssc:InformationType"/>
  79. <xs:complexType name="InformationType">
  80. <xs:sequence>
  81. <xs:element name="Text" type="xs:string" maxOccurs="unbounded"/>
  82. </xs:sequence>
  83. </xs:complexType>
  84. <xs:element name="Evaluation" type="dssc:EvaluationType"/>
  85. <xs:complexType name="EvaluationType">
  86. <xs:sequence>
  87. <xs:element ref="dssc:Parameter" minOccurs="0"
  88. maxOccurs="unbounded"/>
  89. <xs:element ref="dssc:Validity"/>
  90. <xs:any namespace="##other" minOccurs="0"/>
  91. </xs:sequence>
  92. </xs:complexType>
  93. <xs:element name="Parameter" type="dssc:ParameterType"/>
  94. <xs:complexType name="ParameterType">
  95. <xs:sequence>
  96. <xs:element name="Min" type="xs:int" minOccurs="0"/>
  97. <xs:element name="Max" type="xs:int" minOccurs="0"/>
  98. <xs:any namespace="##other" minOccurs="0"/>
  99. </xs:sequence>
  100. <xs:attribute name="name" type="xs:string" use="required"/>
  101. </xs:complexType>
  102. </xs:schema>