Import of attribute resolver code.
[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="CustomAttributeDefinition" minOccurs="0" maxOccurs="unbounded">
18                                         <xs:complexType>
19                                                 <xs:complexContent>
20                                                         <xs:extension base="resolver:BaseAttributeDefinition">
21                                                                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
22                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
23                                                                 </xs:sequence>
24                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
25                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
26                                                         </xs:extension>
27                                                 </xs:complexContent>
28                                         </xs:complexType>
29                                 </xs:element>
30                                 <xs:element name="CustomDataConnector" minOccurs="0" maxOccurs="unbounded">
31                                         <xs:complexType>
32                                                 <xs:complexContent>
33                                                         <xs:extension base="resolver:BaseResolutionPlugIn">
34                                                                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
35                                                                         <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
36                                                                 </xs:sequence>
37                                                                 <xs:attribute name="class" type="xs:string" use="required"/>
38                                                                 <xs:anyAttribute namespace="##any" processContents="lax"/>
39                                                         </xs:extension>
40                                                 </xs:complexContent>
41                                         </xs:complexType>
42                                 </xs:element>
43                                 <xs:element name="JNDIDirectoryDataConnector" minOccurs="0" maxOccurs="unbounded">
44                                         <xs:complexType>
45                                                 <xs:complexContent>
46                                                         <xs:extension base="resolver:BaseResolutionPlugIn">
47                                                                 <xs:sequence>
48                                                                         <xs:element name="Search">
49                                                                                 <xs:complexType>
50                                                                                         <xs:sequence minOccurs="0">
51                                                                                                 <xs:element name="Controls">
52                                                                                                         <xs:complexType>
53                                                                                                                 <xs:attribute name="searchScope" type="xs:string" use="optional"/>
54                                                                                                                 <xs:attribute name="timeLimit" type="xs:int" use="optional"/>
55                                                                                                                 <xs:attribute name="returningObjects" type="xs:boolean" use="optional"/>
56                                                                                                                 <xs:attribute name="linkDereferencing" type="xs:boolean" use="optional"/>
57                                                                                                                 <xs:attribute name="countLimit" type="xs:long" use="optional"/>
58                                                                                                         </xs:complexType>
59                                                                                                 </xs:element>
60                                                                                         </xs:sequence>
61                                                                                         <xs:attribute name="filter" type="xs:string" use="required"/>
62                                                                                 </xs:complexType>
63                                                                         </xs:element>
64                                                                         <xs:sequence>
65                                                                                 <xs:element name="Property" maxOccurs="unbounded">
66                                                                                         <xs:complexType>
67                                                                                                 <xs:attribute name="name" type="xs:string" use="required"/>
68                                                                                                 <xs:attribute name="value" type="xs:string" use="required"/>
69                                                                                         </xs:complexType>
70                                                                                 </xs:element>
71                                                                         </xs:sequence>
72                                                                 </xs:sequence>
73                                                         </xs:extension>
74                                                 </xs:complexContent>
75                                         </xs:complexType>
76                                 </xs:element>
77                         </xs:choice>
78                 </xs:complexType>
79         </xs:element>
80         <xs:complexType name="BaseAttributeDefinition">
81                 <xs:complexContent>
82                         <xs:extension base="resolver:BaseResolutionPlugIn">
83                                 <xs:choice minOccurs="0" maxOccurs="unbounded">
84                                         <xs:element name="DataConnectorDependency">
85                                                 <xs:complexType>
86                                                         <xs:attribute name="requires" type="xs:string" use="required"/>
87                                                 </xs:complexType>
88                                         </xs:element>
89                                         <xs:element name="AttributeDependency">
90                                                 <xs:complexType>
91                                                         <xs:attribute name="requires" type="xs:string" use="optional"/>
92                                                 </xs:complexType>
93                                         </xs:element>
94                                 </xs:choice>
95                                 <xs:attribute name="lifeTime" type="xs:long" use="optional"/>
96                         </xs:extension>
97                 </xs:complexContent>
98         </xs:complexType>
99         <xs:complexType name="BaseResolutionPlugIn">
100                 <xs:attribute name="id" type="xs:string" use="required"/>
101                 <xs:attribute name="cacheTime" type="xs:string" use="optional"/>
102         </xs:complexType>
103 </xs:schema>