Move redirectError property up to application.
[shibboleth/sp.git] / schemas / shibboleth-2.0-attribute-map.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <schema targetNamespace="urn:mace:shibboleth:2.0:attribute-map"
3         xmlns="http://www.w3.org/2001/XMLSchema"
4         xmlns:am="urn:mace:shibboleth:2.0:attribute-map"
5         elementFormDefault="qualified">
6
7     <annotation>
8         <documentation>
9             This schema maps SAML attributes into Shibboleth internal attributes.
10         </documentation>
11     </annotation>
12
13     <simpleType name="string">
14         <restriction base="string">
15             <minLength value="1"/>
16         </restriction>
17     </simpleType>
18     
19     <element name="Attributes">
20         <annotation>
21             <documentation>The set of SAML 1/2 attribute mappings.</documentation>
22         </annotation>
23         <complexType>
24             <sequence>
25                 <element name="Attribute" type="am:AttributeType" maxOccurs="unbounded"/>
26             </sequence>
27         </complexType>
28     </element>
29
30     <complexType name="AttributeType">
31         <annotation>
32             <documentation>Rule for mapping a SAML 1/2 attribute to an internal attribute.</documentation>
33         </annotation>
34         <sequence>
35             <element name="AttributeDecoder" type="am:AttributeDecoderType" minOccurs="0"/>
36         </sequence>
37         <attribute name="id" type="am:string" use="required">
38             <annotation>
39                 <documentation>The internal attribute ID to which this SAML attribute maps.</documentation>
40             </annotation>
41         </attribute>
42         <attribute name="name" type="am:string" use="required">
43             <annotation>
44                 <documentation>The SAML 1 AttributeName or SAML 2 Name of the attribute.</documentation>
45             </annotation>
46         </attribute>
47         <attribute name="nameFormat" type="am:string">
48             <annotation>
49                 <documentation>The SAML 1 Namespace or SAML 2 NameFormat of the attribute.</documentation>
50             </annotation>
51         </attribute>
52     </complexType>
53     
54     <complexType name="AttributeDecoderType" abstract="true">
55         <annotation>
56             <documentation>
57                 Decodes a SAML attribute into its Shibboleth-internal representation.
58             </documentation>
59         </annotation>
60         <attribute name="caseSensitive" type="boolean" default="true">
61             <annotation>
62                 <documentation>
63                     Flag controlling case sensitivity when comparisons to the attribute's values are done.
64                 </documentation>
65             </annotation>
66         </attribute>
67     </complexType>
68     
69     <complexType name="StringAttributeDecoder">
70         <annotation>
71             <documentation>
72                 Decoder for attributes with string values.
73             </documentation>
74         </annotation>
75         <complexContent>
76             <extension base="am:AttributeDecoderType" />
77         </complexContent>
78     </complexType>
79
80     <complexType name="ScopedAttributeDecoder">
81         <annotation>
82             <documentation>
83                 Decoder for attributes with scoped values.
84             </documentation>
85         </annotation>
86         <complexContent>
87             <extension base="am:AttributeDecoderType">
88                 <attribute name="scopeDelimiter" type="am:string" default="@">
89                     <annotation>
90                         <documentation>
91                             The character(s) used to delimit the scoped information from the scope.
92                         </documentation>
93                     </annotation>
94                 </attribute>
95             </extension>
96         </complexContent>
97     </complexType>
98     
99     <complexType name="NameIDAttributeDecoder">
100         <annotation>
101             <documentation>
102                 Decoder for attributes with NameID values.
103             </documentation>
104         </annotation>
105         <complexContent>
106             <extension base="am:AttributeDecoderType">
107                 <attribute name="formatter" type="am:string" default="$Name!!$NameQualifier!!$SPNameQualifier">
108                     <annotation>
109                         <documentation>
110                             The pattern used to generate string versions of the attribute's values.
111                         </documentation>
112                     </annotation>
113                 </attribute>
114             </extension>
115         </complexContent>
116     </complexType>
117
118 </schema>