b0847203611f93028e344ff24736920b6a97d9d6
[java-idp.git] / src / schemas / shibboleth-arp-1.0.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Test (Test) -->
3 <xs:schema targetNamespace="urn:mace:shibboleth:arp:1.0" xmlns:arp="urn:mace:shibboleth:arp:1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
4         <xs:simpleType name="RequireType">
5                 <xs:restriction base="xs:string">
6                         <xs:enumeration value="deny"/>
7                         <xs:enumeration value="permit"/>
8                 </xs:restriction>
9         </xs:simpleType>
10         <xs:complexType name="AttributeType">
11                 <xs:sequence>
12                         <xs:element name="AnyValue" minOccurs="0">
13                                 <xs:complexType>
14                                         <xs:attribute name="release" type="arp:RequireType" use="required"/>
15                                 </xs:complexType>
16                         </xs:element>
17                         <xs:element name="Value" minOccurs="0" maxOccurs="unbounded">
18                                 <xs:complexType mixed="true">
19                                         <xs:sequence minOccurs="0">
20                                                 <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
21                                         </xs:sequence>
22                                         <xs:attribute name="matchFunction" type="xs:anyURI" default="urn:mace:shibboleth:arp:matchFunction:stringValue"/>
23                                         <xs:attribute name="release" type="arp:RequireType" use="required"/>
24                                 </xs:complexType>
25                         </xs:element>
26                 </xs:sequence>
27                 <xs:attribute name="name" type="xs:anyURI" use="required"/>
28                 <xs:attribute name="identifier" type="xs:anyURI" use="optional"/>
29         </xs:complexType>
30         <xs:element name="AttributeReleasePolicy">
31                 <xs:complexType>
32                         <xs:sequence>
33                                 <xs:element name="Description" type="xs:string" minOccurs="0"/>
34                                 <xs:sequence>
35                                         <xs:element name="Rule" minOccurs="0" maxOccurs="unbounded">
36                                                 <xs:complexType>
37                                                         <xs:sequence>
38                                                                 <xs:element name="Description" type="xs:string" minOccurs="0"/>
39                                                                 <xs:element name="Target">
40                                                                         <xs:complexType>
41                                                                                 <xs:choice>
42                                                                                         <xs:element name="AnyTarget">
43                                                                                                 <xs:complexType/>
44                                                                                         </xs:element>
45                                                                                         <xs:sequence>
46                                                                                                 <xs:element name="Requester">
47                                                                                                         <xs:complexType>
48                                                                                                                 <xs:simpleContent>
49                                                                                                                         <xs:extension base="xs:string">
50                                                                                                                                 <xs:attribute name="matchFunction" type="xs:anyURI" default="urn:mace:shibboleth:arp:matchFunction:exactShar"/>
51                                                                                                                         </xs:extension>
52                                                                                                                 </xs:simpleContent>
53                                                                                                         </xs:complexType>
54                                                                                                 </xs:element>
55                                                                                                 <xs:choice>
56                                                                                                         <xs:element name="Resource">
57                                                                                                                 <xs:complexType>
58                                                                                                                         <xs:simpleContent>
59                                                                                                                                 <xs:extension base="xs:string">
60                                                                                                                                         <xs:attribute name="matchFunction" type="xs:anyURI" default="urn:mace:shibboleth:arp:matchFunction:resourceTree"/>
61                                                                                                                                 </xs:extension>
62                                                                                                                         </xs:simpleContent>
63                                                                                                                 </xs:complexType>
64                                                                                                         </xs:element>
65                                                                                                         <xs:element name="AnyResource">
66                                                                                                                 <xs:complexType/>
67                                                                                                         </xs:element>
68                                                                                                 </xs:choice>
69                                                                                         </xs:sequence>
70                                                                                 </xs:choice>
71                                                                         </xs:complexType>
72                                                                 </xs:element>
73                                                                 <xs:sequence>
74                                                                         <xs:element name="Attribute" type="arp:AttributeType" minOccurs="0" maxOccurs="unbounded"/>
75                                                                         <xs:element name="AttributeReference" minOccurs="0" maxOccurs="unbounded">
76                                                                                 <xs:complexType>
77                                                                                         <xs:attribute name="identifier" type="xs:anyURI" use="required"/>
78                                                                                 </xs:complexType>
79                                                                         </xs:element>
80                                                                 </xs:sequence>
81                                                         </xs:sequence>
82                                                         <xs:attribute name="identifier" type="xs:anyURI" use="optional"/>
83                                                 </xs:complexType>
84                                         </xs:element>
85                                         <xs:element name="RuleReference" minOccurs="0" maxOccurs="unbounded">
86                                                 <xs:complexType>
87                                                         <xs:attribute name="identifier" type="xs:anyURI" use="required"/>
88                                                 </xs:complexType>
89                                         </xs:element>
90                                 </xs:sequence>
91                                 <xs:element name="Attribute" type="arp:AttributeType" minOccurs="0" maxOccurs="unbounded"/>
92                         </xs:sequence>
93                 </xs:complexType>
94         </xs:element>
95 </xs:schema>