d16a14dcbe948fcfe572d8058017aca50728b7fa
[framework/web/wrt-commons.git] / modules / ace / configuration / bondixml.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3   <xs:element name="policy-set">
4     <xs:complexType>
5       <xs:sequence>
6         <xs:element minOccurs="0" ref="target"/>
7         <xs:choice minOccurs="0" maxOccurs="unbounded">
8           <xs:element ref="policy-set"/>
9           <xs:element ref="policy"/>
10         </xs:choice>
11       </xs:sequence>
12       <xs:attributeGroup ref="policy-set.attlist"/>
13     </xs:complexType>
14   </xs:element>
15   <xs:attributeGroup name="policy-set.attlist">
16     <xs:attribute name="combine" default="deny-overrides">
17       <xs:simpleType>
18         <xs:restriction base="xs:token">
19           <xs:enumeration value="deny-overrides"/>
20           <xs:enumeration value="permit-overrides"/>
21           <xs:enumeration value="first-matching-target"/>
22         </xs:restriction>
23       </xs:simpleType>
24     </xs:attribute>
25     <xs:attribute name="id"/>
26   </xs:attributeGroup>
27   <xs:element name="policy">
28     <xs:complexType>
29       <xs:sequence>
30         <xs:element minOccurs="0" ref="target"/>
31         <xs:element minOccurs="0" maxOccurs="unbounded" ref="rule"/>
32       </xs:sequence>
33       <xs:attributeGroup ref="policy.attlist"/>
34     </xs:complexType>
35   </xs:element>
36   <xs:attributeGroup name="policy.attlist">
37     <xs:attribute name="combine" default="deny-overrides">
38       <xs:simpleType>
39         <xs:restriction base="xs:token">
40           <xs:enumeration value="deny-overrides"/>
41           <xs:enumeration value="permit-overrides"/>
42           <xs:enumeration value="first-applicable"/>
43         </xs:restriction>
44       </xs:simpleType>
45     </xs:attribute>
46     <xs:attribute name="description"/>
47     <xs:attribute name="id"/>
48   </xs:attributeGroup>
49   <xs:element name="rule">
50     <xs:complexType>
51       <xs:sequence>
52         <xs:element minOccurs="0" ref="condition"/>
53       </xs:sequence>
54       <xs:attributeGroup ref="rule.attlist"/>
55     </xs:complexType>
56   </xs:element>
57   <xs:attributeGroup name="rule.attlist">
58     <xs:attribute name="effect" default="permit">
59       <xs:simpleType>
60         <xs:restriction base="xs:token">
61           <xs:enumeration value="permit"/>
62           <xs:enumeration value="prompt-blanket"/>
63           <xs:enumeration value="prompt-session"/>
64           <xs:enumeration value="prompt-oneshot"/>
65           <xs:enumeration value="deny"/>
66         </xs:restriction>
67       </xs:simpleType>
68     </xs:attribute>
69   </xs:attributeGroup>
70   <xs:element name="target">
71     <xs:complexType>
72       <xs:sequence>
73         <xs:element maxOccurs="unbounded" ref="subject"/>
74       </xs:sequence>
75     </xs:complexType>
76   </xs:element>
77   <xs:element name="subject">
78     <xs:complexType>
79       <xs:sequence>
80         <xs:element maxOccurs="unbounded" ref="subject-match"/>
81       </xs:sequence>
82     </xs:complexType>
83   </xs:element>
84   <xs:element name="condition">
85     <xs:complexType>
86       <xs:choice maxOccurs="unbounded">
87         <xs:element ref="condition"/>
88         <xs:element ref="subject-match"/>
89         <xs:element ref="resource-match"/>
90         <xs:element ref="environment-match"/>
91       </xs:choice>
92       <xs:attributeGroup ref="condition.attlist"/>
93     </xs:complexType>
94   </xs:element>
95   <xs:attributeGroup name="condition.attlist">
96     <xs:attribute name="combine" default="and">
97       <xs:simpleType>
98         <xs:restriction base="xs:token">
99           <xs:enumeration value="and"/>
100           <xs:enumeration value="or"/>
101         </xs:restriction>
102       </xs:simpleType>
103     </xs:attribute>
104   </xs:attributeGroup>
105   <xs:attributeGroup name="match-attrs">
106     <xs:attribute name="attr" use="required"/>
107     <xs:attribute name="match"/>
108     <xs:attribute name="func" default="glob">
109       <xs:simpleType>
110         <xs:restriction base="xs:token">
111           <xs:enumeration value="equal"/>
112           <xs:enumeration value="glob"/>
113           <xs:enumeration value="regexp"/>
114         </xs:restriction>
115       </xs:simpleType>
116     </xs:attribute>
117   </xs:attributeGroup>
118   <xs:element name="subject-match">
119     <xs:complexType mixed="true">
120       <xs:attributeGroup ref="subject-match.attlist"/>
121     </xs:complexType>
122   </xs:element>
123   <xs:attributeGroup name="subject-match.attlist">
124     <xs:attributeGroup ref="match-attrs"/>
125   </xs:attributeGroup>
126   <xs:complexType name="match-model" mixed="true">
127     <xs:choice minOccurs="0" maxOccurs="unbounded">
128       <xs:element ref="subject-attr"/>
129       <xs:element ref="resource-attr"/>
130       <xs:element ref="environment-attr"/>
131     </xs:choice>
132   </xs:complexType>
133   <xs:element name="resource-match">
134     <xs:complexType>
135       <xs:complexContent>
136         <xs:extension base="match-model">
137           <xs:attributeGroup ref="resource-match.attlist"/>
138         </xs:extension>
139       </xs:complexContent>
140     </xs:complexType>
141   </xs:element>
142   <xs:attributeGroup name="resource-match.attlist">
143     <xs:attributeGroup ref="match-attrs"/>
144   </xs:attributeGroup>
145   <xs:element name="environment-match">
146     <xs:complexType>
147       <xs:complexContent>
148         <xs:extension base="match-model">
149           <xs:attributeGroup ref="environment-match.attlist"/>
150         </xs:extension>
151       </xs:complexContent>
152     </xs:complexType>
153   </xs:element>
154   <xs:attributeGroup name="environment-match.attlist">
155     <xs:attributeGroup ref="match-attrs"/>
156   </xs:attributeGroup>
157   <xs:attributeGroup name="attr-attrs">
158     <xs:attribute name="attr" use="required"/>
159   </xs:attributeGroup>
160   <xs:element name="subject-attr">
161     <xs:complexType>
162       <xs:attributeGroup ref="subject-attr.attlist"/>
163     </xs:complexType>
164   </xs:element>
165   <xs:attributeGroup name="subject-attr.attlist">
166     <xs:attributeGroup ref="attr-attrs"/>
167   </xs:attributeGroup>
168   <xs:element name="resource-attr">
169     <xs:complexType>
170       <xs:attributeGroup ref="resource-attr.attlist"/>
171     </xs:complexType>
172   </xs:element>
173   <xs:attributeGroup name="resource-attr.attlist">
174     <xs:attributeGroup ref="attr-attrs"/>
175   </xs:attributeGroup>
176   <xs:element name="environment-attr">
177     <xs:complexType>
178       <xs:attributeGroup ref="environment-attr.attlist"/>
179     </xs:complexType>
180   </xs:element>
181   <xs:attributeGroup name="environment-attr.attlist">
182     <xs:attributeGroup ref="attr-attrs"/>
183   </xs:attributeGroup>
184 </xs:schema>