Added option to Simple Attribute Definition PlugIn to force values to lower case...
[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" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:resolver="urn:mace:shibboleth:resolver:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
3         <xs:element name="AttributeResolver">
4                 <xs:complexType>
5                         <xs:choice minOccurs="1" maxOccurs="unbounded">
6                                 <xs:element name="SimpleAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
7                                         <xs:complexType>
8                                                 <xs:complexContent>
9                                                         <xs:extension base="resolver:BaseAttributeDefinition">
10                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
11                                                                 <xs:attribute name="smartScope" type="xs:string" use="optional"/>
12                                                                 <xs:attribute name="valueHandler" type="xs:string" use="optional"/>
13                                                                 <xs:attribute name="allowEmpty" type="xs:boolean" use="optional"/>
14                                                                 <xs:attribute name="downCase" type="xs:boolean" use="optional"/>
15                                                         </xs:extension>
16                                                 </xs:complexContent>
17                                         </xs:complexType>
18                                 </xs:element>
19                                 <xs:element name="PersistentIDAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
20                                         <xs:complexType>
21                                                 <xs:complexContent>
22                                                         <xs:extension base="resolver:BaseAttributeDefinition">
23                                                                 <xs:sequence>
24                                                                         <xs:element name="Salt">
25                                                                                 <xs:complexType>
26                                                                                         <xs:simpleContent>
27                                                                                                 <xs:extension base="xs:string">
28                                                                                                         <xs:attribute name="keyStorePath" type="xs:string" use="optional"/>
29                                                                                                         <xs:attribute name="keyStoreKeyAlias" type="xs:string" use="optional"/>
30                                                                                                         <xs:attribute name="keyStorePassword" type="xs:string" use="optional"/>
31                                                                                                         <xs:attribute name="keyStoreKeyPassword" type="xs:string" use="optional"/>
32                                                                                                 </xs:extension>
33                                                                                         </xs:simpleContent>
34                                                                                 </xs:complexType>
35                                                                         </xs:element>
36                                                                 </xs:sequence>
37                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
38                                                                 <xs:attribute name="scope" type="xs:string" use="required"/>
39                                                         </xs:extension>
40                                                 </xs:complexContent>
41                                         </xs:complexType>
42                                 </xs:element>
43                                 <xs:element name="CustomAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
44                                         <xs:complexType>
45                                                 <xs:complexContent>
46                                                         <xs:extension base="resolver:BaseAttributeDefinition">
47                                                                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
48                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
49                                                                 </xs:sequence>
50                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
51                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
52                                                         </xs:extension>
53                                                 </xs:complexContent>
54                                         </xs:complexType>
55                                 </xs:element>
56                                 <xs:element name="CustomDataConnector" minOccurs="0" maxOccurs="unbounded">
57                                         <xs:complexType>
58                                                 <xs:complexContent>
59                                                         <xs:extension base="resolver:BaseDataConnector">
60                                                                 <xs:sequence>
61                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
62                                                                 </xs:sequence>
63                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
64                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
65                                                         </xs:extension>
66                                                 </xs:complexContent>
67                                         </xs:complexType>
68                                 </xs:element>
69                                 <xs:element name="JNDIDirectoryDataConnector" minOccurs="0" maxOccurs="unbounded">
70                                         <xs:complexType>
71                                                 <xs:complexContent>
72                                                         <xs:extension base="resolver:BaseDataConnector">
73                                                                 <xs:sequence>
74                                                                         <xs:element name="Search">
75                                                                                 <xs:complexType>
76                                                                                         <xs:sequence minOccurs="0">
77                                                                                                 <xs:element name="Controls">
78                                                                                                         <xs:complexType>
79                                                                                                                 <xs:attribute name="searchScope" type="xs:string" use="optional"/>
80                                                                                                                 <xs:attribute name="timeLimit" type="xs:int" use="optional"/>
81                                                                                                                 <xs:attribute name="returningObjects" type="xs:boolean" use="optional"/>
82                                                                                                                 <xs:attribute name="linkDereferencing" type="xs:boolean" use="optional"/>
83                                                                                                                 <xs:attribute name="countLimit" type="xs:long" use="optional"/>
84                                                                                                         </xs:complexType>
85                                                                                                 </xs:element>
86                                                                                         </xs:sequence>
87                                                                                         <xs:attribute name="filter" type="xs:string" use="required"/>
88                                                                                 </xs:complexType>
89                                                                         </xs:element>
90                                                                         <xs:element name="Property" maxOccurs="unbounded">
91                                                                                 <xs:complexType>
92                                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
93                                                                                         <xs:attribute name="value" type="xs:string" use="required"/>
94                                                                                 </xs:complexType>
95                                                                         </xs:element>
96                                                                 </xs:sequence>
97                                                         </xs:extension>
98                                                 </xs:complexContent>
99                                         </xs:complexType>
100                                 </xs:element>
101                                 <xs:element name="JDBCDataConnector" minOccurs="0" maxOccurs="unbounded">
102                                         <xs:complexType>
103                                                 <xs:complexContent>
104                                                         <xs:extension base="resolver:BaseDataConnector">
105                                                                 <xs:sequence>
106                                                                         <xs:element name="Query" type="xs:string"/>
107                                                                         <xs:element name="AttributeExtractor" minOccurs="0">
108                                                                                 <xs:complexType>
109                                                                                         <xs:attribute name="class" type="xs:string" use="required"/>
110                                                                                 </xs:complexType>
111                                                                         </xs:element>
112                                                                         <xs:element name="StatementCreator" minOccurs="0">
113                                                                                 <xs:complexType>
114                                                                                         <xs:sequence minOccurs="0" maxOccurs="unbounded">
115                                                                                                 <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
116                                                                                         </xs:sequence>
117                                                                                         <xs:attribute name="class" type="xs:string" use="required"/>
118                                                                                         <xs:anyAttribute namespace="##any" processContents="lax"/>
119                                                                                 </xs:complexType>
120                                                                         </xs:element>
121                                                                         <xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
122                                                                                 <xs:complexType>
123                                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
124                                                                                         <xs:attribute name="value" type="xs:string" use="required"/>
125                                                                                 </xs:complexType>
126                                                                         </xs:element>
127                                                                 </xs:sequence>
128                                                                 <xs:attribute name="dbURL" type="xs:string" use="required"/>
129                                                                 <xs:attribute name="dbDriver" type="xs:string" use="optional"/>
130                                                                 <xs:attribute name="validationQuery" type="xs:string" use="optional" default="select 1"/>
131                                                                 <xs:attribute name="maxActive" type="xs:integer" use="optional"/>
132                                                                 <xs:attribute name="maxIdle" type="xs:integer" use="optional"/>
133                                                                 <xs:attribute name="maxWait" type="xs:integer" use="optional"/>
134                                                                 <xs:attribute name="minResultSet" type="xs:integer" use="optional"/>
135                                                                 <xs:attribute name="maxResultSet" type="xs:integer" use="optional"/>
136                                                                 <xs:attribute name="retryInterval" type="xs:integer" use="optional"/>
137                                                         </xs:extension>
138                                                 </xs:complexContent>
139                                         </xs:complexType>
140                                 </xs:element>
141                         </xs:choice>
142                 </xs:complexType>
143         </xs:element>
144         <xs:complexType name="BaseAttributeDefinition">
145                 <xs:complexContent>
146                         <xs:extension base="resolver:BaseResolutionPlugIn">
147                                 <xs:attribute name="lifeTime" type="xs:long" use="optional"/>
148                         </xs:extension>
149                 </xs:complexContent>
150         </xs:complexType>
151         <xs:complexType name="BaseDataConnector">
152                 <xs:complexContent>
153                         <xs:extension base="resolver:BaseResolutionPlugIn">
154                                 <xs:sequence>
155                                         <xs:element name="FailoverDependency" minOccurs="0">
156                                                 <xs:complexType>
157                                                         <xs:attribute name="requires" type="xs:string" use="required"/>
158                                                 </xs:complexType>
159                                         </xs:element>
160                                 </xs:sequence>
161                         </xs:extension>
162                 </xs:complexContent>
163         </xs:complexType>
164         <xs:complexType name="BaseResolutionPlugIn">
165                 <xs:choice minOccurs="0" maxOccurs="unbounded">
166                         <xs:element name="DataConnectorDependency">
167                                 <xs:complexType>
168                                         <xs:attribute name="requires" type="xs:string" use="required"/>
169                                 </xs:complexType>
170                         </xs:element>
171                         <xs:element name="AttributeDependency">
172                                 <xs:complexType>
173                                         <xs:attribute name="requires" type="xs:string" use="required"/>
174                                 </xs:complexType>
175                         </xs:element>
176                 </xs:choice>
177                 <xs:attribute name="id" type="xs:string" use="required"/>
178                 <xs:attribute name="cacheTime" type="xs:string" use="optional"/>
179                 <xs:attribute name="propagateErrors" type="xs:boolean" use="optional" default="true"/>
180         </xs:complexType>
181 </xs:schema>