roles.xsd 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.geoserver.org/security/roles" xmlns:gsr="http://www.geoserver.org/security/roles" elementFormDefault="qualified">
  3. <element name="roleRegistry" type="gsr:RoleRegistryType">
  4. <key name="RoleKey">
  5. <selector xpath="gsr:roleList/gsr:role"/>
  6. <field xpath="@id"/>
  7. </key>
  8. <keyref name="ParentKey" refer="gsr:RoleKey">
  9. <selector xpath="gsr:roleList/gsr:role"/>
  10. <field xpath="@parentID"/>
  11. </keyref>
  12. <keyref name="UserRoleKey" refer="gsr:RoleKey">
  13. <selector xpath="gsr:userList/gsr:userRoles/gsr:roleRef"/>
  14. <field xpath="@roleID"/>
  15. </keyref>
  16. <keyref name="GroupRoleKey" refer="gsr:RoleKey">
  17. <selector xpath="gsr:groupList/gsr:groupRoles/gsr:roleRef"/>
  18. <field xpath="@roleID"/>
  19. </keyref>
  20. </element>
  21. <complexType name="RoleType">
  22. <sequence>
  23. <element name="property" type="gsr:RolePropertyType" minOccurs="0" maxOccurs="unbounded"/>
  24. </sequence>
  25. <attribute name="id" type="string" use="required"></attribute>
  26. <attribute name="parentID" type="string" use="optional"></attribute>
  27. </complexType>
  28. <complexType name="RoleRefType">
  29. <attribute name="roleID" type="string" use="required"></attribute>
  30. </complexType>
  31. <complexType name="RoleRegistryType">
  32. <sequence>
  33. <element name="roleList" type="gsr:RoleListType" minOccurs="1" maxOccurs="1"></element>
  34. <element name="userList" type="gsr:UserRolesType" minOccurs="1" maxOccurs="1"></element>
  35. <element name="groupList" type="gsr:GroupRolesType" minOccurs="1" maxOccurs="1"></element>
  36. </sequence>
  37. <attribute name="version" type="gsr:VersionType" use="required" ></attribute>
  38. </complexType>
  39. <complexType name="RoleListType">
  40. <sequence>
  41. <element name="role" type="gsr:RoleType" minOccurs="0" maxOccurs="unbounded"></element>
  42. </sequence>
  43. </complexType>
  44. <complexType name="UserRoleRefListType">
  45. <sequence>
  46. <element name="roleRef" type="gsr:RoleRefType" minOccurs="0"
  47. maxOccurs="unbounded">
  48. </element>
  49. </sequence>
  50. <attribute name="username" type="string" use="required"></attribute>
  51. </complexType>
  52. <complexType name="GroupRoleRefListType">
  53. <sequence>
  54. <element name="roleRef" type="gsr:RoleRefType" minOccurs="0"
  55. maxOccurs="unbounded">
  56. </element>
  57. </sequence>
  58. <attribute name="groupname" type="string" use="required"></attribute>
  59. </complexType>
  60. <complexType name="GroupRolesType">
  61. <sequence>
  62. <element name="groupRoles" type="gsr:GroupRoleRefListType" minOccurs="0"
  63. maxOccurs="unbounded">
  64. </element>
  65. </sequence>
  66. </complexType>
  67. <complexType name="UserRolesType">
  68. <sequence>
  69. <element name="userRoles" type="gsr:UserRoleRefListType" minOccurs="0"
  70. maxOccurs="unbounded">
  71. </element>
  72. </sequence>
  73. </complexType>
  74. <complexType name="RolePropertyType">
  75. <simpleContent>
  76. <extension base="string">
  77. <attribute name="name" type="string" use="required"></attribute>
  78. </extension>
  79. </simpleContent>
  80. </complexType>
  81. <simpleType name="VersionType" >
  82. <restriction base="string">
  83. <enumeration value="1.0"></enumeration>
  84. </restriction>
  85. </simpleType>
  86. </schema>