pres-rules.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema targetNamespace="urn:ietf:params:xml:ns:pres-rules"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns:cr="urn:ietf:params:xml:ns:common-policy"
  5. xmlns:pr="urn:ietf:params:xml:ns:pres-rules"
  6. elementFormDefault="qualified" attributeFormDefault="unqualified">
  7. <xs:import namespace="urn:ietf:params:xml:ns:common-policy"/>
  8. <xs:simpleType name="booleanPermission">
  9. <xs:restriction base="xs:boolean"/>
  10. </xs:simpleType>
  11. <xs:element name="service-uri-scheme" type="xs:token"/>
  12. <xs:element name="class" type="xs:token"/>
  13. <xs:element name="occurrence-id" type="xs:token"/>
  14. <xs:element name="service-uri" type="xs:anyURI"/>
  15. <xs:complexType name="provideServicePermission">
  16. <xs:choice>
  17. <xs:element name="all-services">
  18. <xs:complexType/>
  19. </xs:element>
  20. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  21. <xs:choice>
  22. <xs:element ref="pr:service-uri"/>
  23. <xs:element ref="pr:service-uri-scheme"/>
  24. <xs:element ref="pr:occurrence-id"/>
  25. <xs:element ref="pr:class"/>
  26. <xs:any namespace="##other" processContents="lax"/>
  27. </xs:choice>
  28. </xs:sequence>
  29. </xs:choice>
  30. </xs:complexType>
  31. <xs:element name="provide-services"
  32. type="pr:provideServicePermission"/>
  33. <xs:element name="deviceID" type="xs:anyURI"/>
  34. <xs:complexType name="provideDevicePermission">
  35. <xs:choice>
  36. <xs:element name="all-devices">
  37. <xs:complexType/>
  38. </xs:element>
  39. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  40. <xs:choice>
  41. <xs:element ref="pr:deviceID"/>
  42. <xs:element ref="pr:occurrence-id"/>
  43. <xs:element ref="pr:class"/>
  44. <xs:any namespace="##other" processContents="lax"/>
  45. </xs:choice>
  46. </xs:sequence>
  47. </xs:choice>
  48. </xs:complexType>
  49. <xs:element name="provide-devices"
  50. type="pr:provideDevicePermission"/>
  51. <xs:complexType name="providePersonPermission">
  52. <xs:choice>
  53. <xs:element name="all-persons">
  54. <xs:complexType/>
  55. </xs:element>
  56. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  57. <xs:choice>
  58. <xs:element ref="pr:occurrence-id"/>
  59. <xs:element ref="pr:class"/>
  60. <xs:any namespace="##other" processContents="lax"/>
  61. </xs:choice>
  62. </xs:sequence>
  63. </xs:choice>
  64. </xs:complexType>
  65. <xs:element name="provide-persons"
  66. type="pr:providePersonPermission"/>
  67. <xs:element name="provide-activities"
  68. type="pr:booleanPermission"/>
  69. <xs:element name="provide-class"
  70. type="pr:booleanPermission"/>
  71. <xs:element name="provide-deviceID"
  72. type="pr:booleanPermission"/>
  73. <xs:element name="provide-mood"
  74. type="pr:booleanPermission"/>
  75. <xs:element name="provide-place-is"
  76. type="pr:booleanPermission"/>
  77. <xs:element name="provide-place-type"
  78. type="pr:booleanPermission"/>
  79. <xs:element name="provide-privacy"
  80. type="pr:booleanPermission"/>
  81. <xs:element name="provide-relationship"
  82. type="pr:booleanPermission"/>
  83. <xs:element name="provide-status-icon"
  84. type="pr:booleanPermission"/>
  85. <xs:element name="provide-sphere"
  86. type="pr:booleanPermission"/>
  87. <xs:element name="provide-time-offset"
  88. type="pr:booleanPermission"/>
  89. <xs:element name="provide-user-input">
  90. <xs:simpleType>
  91. <xs:restriction base="xs:string">
  92. <xs:enumeration value="false"/>
  93. <xs:enumeration value="bare"/>
  94. <xs:enumeration value="thresholds"/>
  95. <xs:enumeration value="full"/>
  96. </xs:restriction>
  97. </xs:simpleType>
  98. </xs:element>
  99. <xs:element name="provide-note" type="pr:booleanPermission"/>
  100. <xs:element name="sub-handling">
  101. <xs:simpleType>
  102. <xs:restriction base="xs:token">
  103. <xs:enumeration value="block"/>
  104. <xs:enumeration value="confirm"/>
  105. <xs:enumeration value="polite-block"/>
  106. <xs:enumeration value="allow"/>
  107. </xs:restriction>
  108. </xs:simpleType>
  109. </xs:element>
  110. <xs:complexType name="unknownBooleanPermission">
  111. <xs:simpleContent>
  112. <xs:extension base="pr:booleanPermission">
  113. <xs:attribute name="name" type="xs:string" use="required"/>
  114. <xs:attribute name="ns" type="xs:string" use="required"/>
  115. </xs:extension>
  116. </xs:simpleContent>
  117. </xs:complexType>
  118. <xs:element name="provide-unknown-attribute"
  119. type="pr:unknownBooleanPermission"/>
  120. <xs:element name="provide-all-attributes">
  121. <xs:complexType/>
  122. </xs:element>
  123. </xs:schema>