Added JDBC property element, and failover dependency.
[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:extension>
14                                                 </xs:complexContent>
15                                         </xs:complexType>
16                                 </xs:element>
17                                 <xs:element name="PersistentIDAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
18                                         <xs:complexType>
19                                                 <xs:complexContent>
20                                                         <xs:extension base="resolver:BaseAttributeDefinition">
21                                                                 <xs:sequence>
22                                                                         <xs:element name="Salt">
23                                                                                 <xs:complexType>
24                                                                                         <xs:simpleContent>
25                                                                                                 <xs:extension base="xs:string">
26                                                                                                         <xs:attribute name="keyStorePath" type="xs:string" use="optional"/>
27                                                                                                         <xs:attribute name="keyStoreKeyAlias" type="xs:string" use="optional"/>
28                                                                                                         <xs:attribute name="keyStorePassword" type="xs:string" use="optional"/>
29                                                                                                         <xs:attribute name="keyStoreKeyPassword" type="xs:string" use="optional"/>
30                                                                                                 </xs:extension>
31                                                                                         </xs:simpleContent>
32                                                                                 </xs:complexType>
33                                                                         </xs:element>
34                                                                 </xs:sequence>
35                                                                 <xs:attribute name="sourceName" type="xs:string" use="optional"/>
36                                                                 <xs:attribute name="scope" type="xs:string" use="required"/>
37                                                         </xs:extension>
38                                                 </xs:complexContent>
39                                         </xs:complexType>
40                                 </xs:element>
41                                 <xs:element name="CustomAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
42                                         <xs:complexType>
43                                                 <xs:complexContent>
44                                                         <xs:extension base="resolver:BaseAttributeDefinition">
45                                                                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
46                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
47                                                                 </xs:sequence>
48                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
49                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
50                                                         </xs:extension>
51                                                 </xs:complexContent>
52                                         </xs:complexType>
53                                 </xs:element>
54                                 <xs:element name="CustomDataConnector" minOccurs="0" maxOccurs="unbounded">
55                                         <xs:complexType>
56                                                 <xs:complexContent>
57                                                         <xs:extension base="resolver:BaseResolutionPlugIn">
58                                                                 <xs:sequence>
59                                                                         <xs:element name="FailoverDependency" minOccurs="0">
60                                                                                 <xs:complexType>
61                                                                                         <xs:attribute name="requires" type="xs:string" use="required"/>
62                                                                                 </xs:complexType>
63                                                                         </xs:element>
64                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
65                                                                 </xs:sequence>
66                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
67                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
68                                                         </xs:extension>
69                                                 </xs:complexContent>
70                                         </xs:complexType>
71                                 </xs:element>
72                                 <xs:element name="JNDIDirectoryDataConnector" minOccurs="0" maxOccurs="unbounded">
73                                         <xs:complexType>
74                                                 <xs:complexContent>
75                                                         <xs:extension base="resolver:BaseResolutionPlugIn">
76                                                                 <xs:sequence>
77                                                                         <xs:element name="FailoverDependency" minOccurs="0">
78                                                                                 <xs:complexType>
79                                                                                         <xs:attribute name="requires" type="xs:string" use="required"/>
80                                                                                 </xs:complexType>
81                                                                         </xs:element>
82                                                                         <xs:element name="Search">
83                                                                                 <xs:complexType>
84                                                                                         <xs:sequence minOccurs="0">
85                                                                                                 <xs:element name="Controls">
86                                                                                                         <xs:complexType>
87                                                                                                                 <xs:attribute name="searchScope" type="xs:string" use="optional"/>
88                                                                                                                 <xs:attribute name="timeLimit" type="xs:int" use="optional"/>
89                                                                                                                 <xs:attribute name="returningObjects" type="xs:boolean" use="optional"/>
90                                                                                                                 <xs:attribute name="linkDereferencing" type="xs:boolean" use="optional"/>
91                                                                                                                 <xs:attribute name="countLimit" type="xs:long" use="optional"/>
92                                                                                                         </xs:complexType>
93                                                                                                 </xs:element>
94                                                                                         </xs:sequence>
95                                                                                         <xs:attribute name="filter" type="xs:string" use="required"/>
96                                                                                 </xs:complexType>
97                                                                         </xs:element>
98                                                                         <xs:element name="Property" maxOccurs="unbounded">
99                                                                                 <xs:complexType>
100                                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
101                                                                                         <xs:attribute name="value" type="xs:string" use="required"/>
102                                                                                 </xs:complexType>
103                                                                         </xs:element>
104                                                                 </xs:sequence>
105                                                         </xs:extension>
106                                                 </xs:complexContent>
107                                         </xs:complexType>
108                                 </xs:element>
109                                 <xs:element name="JDBCDataConnector" minOccurs="0" maxOccurs="unbounded">
110                                         <xs:complexType>
111                                                 <xs:complexContent>
112                                                         <xs:extension base="resolver:BaseResolutionPlugIn">
113                                                                 <xs:sequence>
114                                                                         <xs:element name="FailoverDependency" minOccurs="0">
115                                                                                 <xs:complexType>
116                                                                                         <xs:attribute name="requires" type="xs:string" use="required"/>
117                                                                                 </xs:complexType>
118                                                                         </xs:element>
119                                                                         <xs:element name="Query" type="xs:string"/>
120                                                                         <xs:element name="AttributeExtractor" minOccurs="0">
121                                                                                 <xs:complexType>
122                                                                                         <xs:attribute name="class" type="xs:string" use="required"/>
123                                                                                 </xs:complexType>
124                                                                         </xs:element>
125                                                                         <xs:element name="StatementCreator" minOccurs="0">
126                                                                                 <xs:complexType>
127                                                                                         <xs:sequence minOccurs="0" maxOccurs="unbounded">
128                                                                                                 <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
129                                                                                         </xs:sequence>
130                                                                                         <xs:attribute name="class" type="xs:string" use="required"/>
131                                                                                         <xs:anyAttribute namespace="##any" processContents="lax"/>
132                                                                                 </xs:complexType>
133                                                                         </xs:element>
134                                                                         <xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
135                                                                                 <xs:complexType>
136                                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
137                                                                                         <xs:attribute name="value" type="xs:string" use="required"/>
138                                                                                 </xs:complexType>
139                                                                         </xs:element>
140                                                                 </xs:sequence>
141                                                                 <xs:attribute name="dbURL" type="xs:string" use="required"/>
142                                                                 <xs:attribute name="dbDriver" type="xs:string" use="optional"/>
143                                                                 <xs:attribute name="maxActive" type="xs:integer" use="optional"/>
144                                                                 <xs:attribute name="maxIdle" type="xs:integer" use="optional"/>
145                                                         </xs:extension>
146                                                 </xs:complexContent>
147                                         </xs:complexType>
148                                 </xs:element>
149                         </xs:choice>
150                 </xs:complexType>
151         </xs:element>
152         <xs:complexType name="BaseAttributeDefinition">
153                 <xs:complexContent>
154                         <xs:extension base="resolver:BaseResolutionPlugIn">
155                                 <xs:attribute name="lifeTime" type="xs:long" use="optional"/>
156                         </xs:extension>
157                 </xs:complexContent>
158         </xs:complexType>
159         <xs:complexType name="BaseResolutionPlugIn">
160                 <xs:choice minOccurs="0" maxOccurs="unbounded">
161                         <xs:element name="DataConnectorDependency">
162                                 <xs:complexType>
163                                         <xs:attribute name="requires" type="xs:string" use="required"/>
164                                 </xs:complexType>
165                         </xs:element>
166                         <xs:element name="AttributeDependency">
167                                 <xs:complexType>
168                                         <xs:attribute name="requires" type="xs:string" use="required"/>
169                                 </xs:complexType>
170                         </xs:element>
171                 </xs:choice>
172                 <xs:attribute name="id" type="xs:string" use="required"/>
173                 <xs:attribute name="cacheTime" type="xs:string" use="optional"/>
174         </xs:complexType>
175 </xs:schema>