Extend Trust checking to the SSL session to the AA
[java-idp.git] / src / schemas / shibboleth-resolver-1.0.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema targetNamespace="urn:mace:shibboleth:resolver:1.0" 
3         xmlns:xs="http://www.w3.org/2001/XMLSchema" 
4         xmlns:resolver="urn:mace:shibboleth:resolver:1.0" 
5         xmlns:credentials="urn:mace:shibboleth:credentials:1.0" 
6         elementFormDefault="qualified" attributeFormDefault="unqualified">
7         <xs:import namespace="urn:mace:shibboleth:credentials:1.0" 
8                 schemaLocation="credentials.xsd"/>
9         <xs:element name="AttributeResolver">
10                 <xs:complexType>
11                         <xs:choice minOccurs="1" maxOccurs="unbounded">
12                                 <xs:element name="SimpleAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
13                                         <xs:complexType>
14                                                 <xs:complexContent>
15                                                         <xs:extension base="resolver:BaseAttributeDefinition">
16                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
17                                                                 <xs:attribute name="smartScope" type="xs:string" use="optional"/>
18                                                                 <xs:attribute name="valueHandler" type="xs:string" use="optional"/>
19                                                                 <xs:attribute name="allowEmpty" type="xs:boolean" use="optional"/>
20                                                                 <xs:attribute name="downCase" type="xs:boolean" use="optional"/>
21                                                         </xs:extension>
22                                                 </xs:complexContent>
23                                         </xs:complexType>
24                                 </xs:element>
25                                 <xs:element name="PersistentIDAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
26                                         <xs:complexType>
27                                                 <xs:complexContent>
28                                                         <xs:extension base="resolver:BaseAttributeDefinition">
29                                                                 <xs:sequence>
30                                                                         <xs:element name="Salt">
31                                                                                 <xs:complexType>
32                                                                                         <xs:simpleContent>
33                                                                                                 <xs:extension base="xs:string">
34                                                                                                         <xs:attribute name="keyStorePath" type="xs:string" use="optional"/>
35                                                                                                         <xs:attribute name="keyStoreKeyAlias" type="xs:string" 
36                                                                                                                 use="optional"/>
37                                                                                                         <xs:attribute name="keyStorePassword" type="xs:string" 
38                                                                                                                 use="optional"/>
39                                                                                                         <xs:attribute name="keyStoreKeyPassword" type="xs:string" 
40                                                                                                                 use="optional"/>
41                                                                                                 </xs:extension>
42                                                                                         </xs:simpleContent>
43                                                                                 </xs:complexType>
44                                                                         </xs:element>
45                                                                 </xs:sequence>
46                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
47                                                                 <xs:attribute name="scope" type="xs:string" use="required"/>
48                                                         </xs:extension>
49                                                 </xs:complexContent>
50                                         </xs:complexType>
51                                 </xs:element>
52                                 <xs:element name="RegExAttributeDefinition">
53                                         <xs:complexType>
54                                                 <xs:complexContent>
55                                                         <xs:extension base="resolver:BaseAttributeDefinition">
56                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
57                                                                 <xs:attribute name="regex" type="xs:string" use="required"/>
58                                                                 <xs:attribute name="replacement" type="xs:string" use="required"/>
59                                                                 <xs:attribute name="ignoreCase" type="xs:boolean" use="optional" default="false"/>
60                                                                 <xs:attribute name="partialMatch" type="xs:boolean" use="optional" default="false"/>
61                                                         </xs:extension>
62                                                 </xs:complexContent>
63                                         </xs:complexType>
64                                 </xs:element>
65                                 <xs:element name="FormattedAttributeDefinition">
66                                         <xs:complexType>
67                                                 <xs:complexContent>
68                                                         <xs:extension base="resolver:BaseAttributeDefinition">
69                                                                 <xs:sequence>
70                                                                         <xs:element name="Source" type="resolver:FormatType"/>
71                                                                         <xs:element name="Target" type="resolver:FormatType"/>
72                                                                 </xs:sequence>
73                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
74                                                                 <xs:attribute name="skipIfSameFormat" type="xs:boolean" use="optional" default="false"/>
75                                                         </xs:extension>
76                                                 </xs:complexContent>
77                                         </xs:complexType>
78                                 </xs:element>
79                                 <xs:element name="CompositeAttributeDefinition">
80                                         <xs:complexType>
81                                                 <xs:complexContent>
82                                                         <xs:extension base="resolver:BaseAttributeDefinition">
83                                                                 <xs:attribute name="format" type="xs:string" use="optional"/>
84                                                                 <xs:attribute name="orderedSourceNames" type="xs:string" use="required"/>
85                                                         </xs:extension>
86                                                 </xs:complexContent>
87                                         </xs:complexType>
88                                 </xs:element>
89                                 <xs:element name="MappedAttributeDefinition">
90                                         <xs:complexType>
91                                                 <xs:complexContent>
92                                                         <xs:extension base="resolver:BaseAttributeDefinition">
93                                                                 <xs:sequence>
94                                                                         <xs:element name="ValueMap" maxOccurs="unbounded">
95                                                                                 <xs:complexType>
96                                                                                         <xs:attribute name="value" type="xs:string" use="required"/>
97                                                                                         <xs:attribute name="keyset" type="xs:string" use="required"/>
98                                                                                         <xs:attribute name="separator" type="xs:string" use="optional" default=","/>
99                                                                                 </xs:complexType>
100                                                                         </xs:element>
101                                                                 </xs:sequence>
102                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
103                                                                 <xs:attribute name="ignoreCase" type="xs:boolean" use="optional" default="false"/>
104                                                                 <xs:attribute name="defaultValue" type="xs:string" use="optional"/>
105                                                                 <xs:attribute name="regex" type="xs:boolean" use="optional" default="false"/>
106                                                         </xs:extension>
107                                                 </xs:complexContent>
108                                         </xs:complexType>
109                                 </xs:element>
110                                 <xs:element name="CustomAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
111                                         <xs:complexType>
112                                                 <xs:complexContent>
113                                                         <xs:extension base="resolver:BaseAttributeDefinition">
114                                                                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
115                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" 
116                                                                                 maxOccurs="unbounded"/>
117                                                                 </xs:sequence>
118                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
119                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
120                                                         </xs:extension>
121                                                 </xs:complexContent>
122                                         </xs:complexType>
123                                 </xs:element>
124                                 <xs:element name="CustomDataConnector" minOccurs="0" maxOccurs="unbounded">
125                                         <xs:complexType>
126                                                 <xs:complexContent>
127                                                         <xs:extension base="resolver:BaseDataConnector">
128                                                                 <xs:sequence>
129                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" 
130                                                                                 maxOccurs="unbounded"/>
131                                                                 </xs:sequence>
132                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
133                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
134                                                         </xs:extension>
135                                                 </xs:complexContent>
136                                         </xs:complexType>
137                                 </xs:element>
138                                 <xs:element name="JNDIDirectoryDataConnector" minOccurs="0" maxOccurs="unbounded">
139                                         <xs:complexType>
140                                                 <xs:complexContent>
141                                                         <xs:extension base="resolver:BaseDataConnector">
142                                                                 <xs:sequence>
143                                                                         <xs:element ref="credentials:Credential" minOccurs="0" maxOccurs="1"/>
144                                                                         <xs:element name="Search">
145                                                                                 <xs:complexType>
146                                                                                         <xs:sequence minOccurs="0">
147                                                                                                 <xs:element name="Controls">
148                                                                                                         <xs:complexType>
149                                                                                                                 <xs:attribute name="searchScope" type="xs:string" 
150                                                                                                                         use="optional"/>
151                                                                                                                 <xs:attribute name="timeLimit" type="xs:int" use="optional"/>
152                                                                                                                 <xs:attribute name="returningObjects" type="xs:boolean" 
153                                                                                                                         use="optional"/>
154                                                                                                                 <xs:attribute name="linkDereferencing" type="xs:boolean" 
155                                                                                                                         use="optional"/>
156                                                                                                                 <xs:attribute name="countLimit" type="xs:long" use="optional"/>
157                                                                                                         </xs:complexType>
158                                                                                                 </xs:element>
159                                                                                         </xs:sequence>
160                                                                                         <xs:attribute name="filter" type="xs:string" use="required"/>
161                                                                                 </xs:complexType>
162                                                                         </xs:element>
163                                                                         <xs:element name="Property" maxOccurs="unbounded">
164                                                                                 <xs:complexType>
165                                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
166                                                                                         <xs:attribute name="value" type="xs:string" use="required"/>
167                                                                                 </xs:complexType>
168                                                                         </xs:element>
169                                                                 </xs:sequence>
170                                                                 <xs:attribute name="useStartTls" type="xs:boolean" use="optional" default="false"/>
171                                                         </xs:extension>
172                                                 </xs:complexContent>
173                                         </xs:complexType>
174                                 </xs:element>
175                                 <xs:element name="JDBCDataConnector" minOccurs="0" maxOccurs="unbounded">
176                                         <xs:complexType>
177                                                 <xs:complexContent>
178                                                         <xs:extension base="resolver:BaseDataConnector">
179                                                                 <xs:sequence>
180                                                                         <xs:element name="Query" type="xs:string"/>
181                                                                         <xs:element name="AttributeExtractor" minOccurs="0">
182                                                                                 <xs:complexType>
183                                                                                         <xs:attribute name="class" type="xs:string" use="required"/>
184                                                                                 </xs:complexType>
185                                                                         </xs:element>
186                                                                         <xs:element name="StatementCreator" minOccurs="0">
187                                                                                 <xs:complexType>
188                                                                                         <xs:sequence minOccurs="0" maxOccurs="unbounded">
189                                                                                                 <xs:any namespace="##any" processContents="lax" minOccurs="0" 
190                                                                                                         maxOccurs="unbounded"/>
191                                                                                         </xs:sequence>
192                                                                                         <xs:attribute name="class" type="xs:string" use="required"/>
193                                                                                         <xs:anyAttribute namespace="##any" processContents="lax"/>
194                                                                                 </xs:complexType>
195                                                                         </xs:element>
196                                                                         <xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
197                                                                                 <xs:complexType>
198                                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
199                                                                                         <xs:attribute name="value" type="xs:string" use="required"/>
200                                                                                 </xs:complexType>
201                                                                         </xs:element>
202                                                                 </xs:sequence>
203                                                                 <xs:attribute name="dbURL" type="xs:string" use="required"/>
204                                                                 <xs:attribute name="dbDriver" type="xs:string" use="optional"/>
205                                                                 <xs:attribute name="validationQuery" type="xs:string" use="optional" 
206                                                                         default="select 1"/>
207                                                                 <xs:attribute name="maxActive" type="xs:integer" use="optional"/>
208                                                                 <xs:attribute name="maxIdle" type="xs:integer" use="optional"/>
209                                                                 <xs:attribute name="maxWait" type="xs:integer" use="optional"/>
210                                                                 <xs:attribute name="minResultSet" type="xs:integer" use="optional"/>
211                                                                 <xs:attribute name="maxResultSet" type="xs:integer" use="optional"/>
212                                                                 <xs:attribute name="retryInterval" type="xs:integer" use="optional"/>
213                                                         </xs:extension>
214                                                 </xs:complexContent>
215                                         </xs:complexType>
216                                 </xs:element>
217                         </xs:choice>
218                 </xs:complexType>
219         </xs:element>
220         <xs:complexType name="BaseAttributeDefinition">
221                 <xs:complexContent>
222                         <xs:extension base="resolver:BaseResolutionPlugIn">
223                                 <xs:attribute name="lifeTime" type="xs:long" use="optional"/>
224                         </xs:extension>
225                 </xs:complexContent>
226         </xs:complexType>
227         <xs:complexType name="BaseDataConnector">
228                 <xs:complexContent>
229                         <xs:extension base="resolver:BaseResolutionPlugIn">
230                                 <xs:sequence>
231                                         <xs:element name="FailoverDependency" minOccurs="0">
232                                                 <xs:complexType>
233                                                         <xs:attribute name="requires" type="xs:string" 
234                                                                 use="required"/>
235                                                 </xs:complexType>
236                                         </xs:element>
237                                 </xs:sequence>
238                         </xs:extension>
239                 </xs:complexContent>
240         </xs:complexType>
241         <xs:complexType name="BaseResolutionPlugIn">
242                 <xs:choice minOccurs="0" maxOccurs="unbounded">
243                         <xs:element name="DataConnectorDependency">
244                                 <xs:complexType>
245                                         <xs:attribute name="requires" type="xs:string" 
246                                                 use="required"/>
247                                 </xs:complexType>
248                         </xs:element>
249                         <xs:element name="AttributeDependency">
250                                 <xs:complexType>
251                                         <xs:attribute name="requires" type="xs:string" 
252                                                 use="required"/>
253                                 </xs:complexType>
254                         </xs:element>
255                 </xs:choice>
256                 <xs:attribute name="id" type="xs:string" use="required"/>
257                 <xs:attribute name="cacheTime" type="xs:string" use="optional"/>
258                 <xs:attribute name="propagateErrors" type="xs:boolean" use="optional" 
259                         default="true"/>
260         </xs:complexType>
261         <xs:complexType name="FormatType">
262  <xs:attribute name="format" type="xs:string" use="required"/>
263  <xs:attribute name="pattern" type="xs:string" use="required"/>
264 </xs:complexType>
265 </xs:schema>