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"
10 This schema maps SAML attributes into Shibboleth internal attributes.
14 <simpleType name="string">
15 <restriction base="string">
16 <minLength value="1"/>
20 <simpleType name="anyURI">
21 <restriction base="anyURI">
22 <minLength value="1"/>
26 <simpleType name="listOfStrings">
27 <list itemType="am:string"/>
30 <complexType name="PluggableType">
32 <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
34 <attribute name="type" type="am:string" use="required"/>
35 <anyAttribute namespace="##any" processContents="lax"/>
38 <element name="Attributes">
40 <documentation>The set of SAML 1/2 attribute mappings.</documentation>
44 <element name="MetadataProvider" type="am:PluggableType" minOccurs="0"/>
45 <element name="TrustEngine" type="am:PluggableType" minOccurs="0"/>
46 <element name="AttributeFilter" type="am:PluggableType" minOccurs="0"/>
47 <element name="Attribute" type="am:AttributeType" maxOccurs="unbounded"/>
49 <attribute name="metadataPolicyId" type="am:string"/>
53 <complexType name="AttributeType">
55 <documentation>Rule for mapping a SAML 1/2 attribute to an internal attribute.</documentation>
58 <element name="AttributeDecoder" type="am:AttributeDecoderType" minOccurs="0"/>
60 <attribute name="id" type="am:string" use="required">
62 <documentation>The internal attribute ID to which this SAML attribute maps.</documentation>
65 <attribute name="aliases" type="am:listOfStrings">
67 <documentation>Optional aliases for the internal attribute to which this SAML attribute maps.</documentation>
70 <attribute name="name" type="am:string" use="required">
72 <documentation>The SAML 1 AttributeName or SAML 2 Name of the attribute.</documentation>
75 <attribute name="nameFormat" type="am:string">
77 <documentation>The SAML 1 Namespace or SAML 2 NameFormat of the attribute.</documentation>
82 <complexType name="AttributeDecoderType" abstract="true">
85 Decodes a SAML attribute into its Shibboleth-internal representation.
88 <attribute name="caseSensitive" type="boolean">
91 Flag controlling case sensitivity when comparisons to the attribute's values are done.
95 <attribute name="internal" type="boolean">
97 <documentation>Flag controlling whether the resulting attribute should be exported for CGI use.</documentation>
100 <attribute name="hashAlg" type="am:string">
103 Crypto-provider-specific name of hash algorithm to use,
104 turning the decoded result into a simple string.
110 <complexType name="StringAttributeDecoder">
113 Decoder for attributes with string values.
117 <extension base="am:AttributeDecoderType" />
121 <complexType name="ScopedAttributeDecoder">
124 Decoder for attributes with scoped values.
128 <extension base="am:AttributeDecoderType">
129 <attribute name="scopeDelimiter" type="am:string">
132 The character(s) used to delimit the scoped information from the scope.
140 <complexType name="NameIDAttributeDecoder">
143 Decoder for attributes with NameID values.
147 <extension base="am:AttributeDecoderType">
148 <attribute name="formatter" type="am:string">
151 The pattern used to generate string versions of the attribute's values.
155 <attribute name="defaultQualifiers" type="boolean">
158 Flag controlling whether to default in values for NameQualifier/SPNameQualifier if not set.
166 <complexType name="NameIDFromScopedAttributeDecoder">
169 Decoder for attributes with scoped values that produces a NameID attribute with
170 the scope dropped and the NameQualifiers defaulted.
174 <extension base="am:ScopedAttributeDecoder">
175 <attribute name="format" type="am:anyURI">
178 Value to use as the NameID Format.
182 <attribute name="defaultQualifiers" type="boolean">
185 Flag controlling whether to default in values for NameQualifier/SPNameQualifier if not set.
189 <attribute name="formatter" type="am:string">
192 The pattern used to generate string versions of the attribute's values.
200 <complexType name="KeyInfoAttributeDecoder">
203 Decoder for attributes with ds:KeyInfo values.
207 <extension base="am:AttributeDecoderType">
209 <element name="KeyInfoResolver" type="am:PluggableType" minOccurs="0"/>
211 <attribute name="hash" type="boolean">
214 Flag controlling whether to hash keys before base64-encoding them.
218 <attribute name="keyInfoHashAlg" type="am:string">
221 Crypto-provider-specific name of hash algorithm to use.
229 <complexType name="XMLAttributeDecoder">
232 Decoder for directly serializing XML values.
236 <extension base="am:AttributeDecoderType"/>
240 <complexType name="DOMAttributeDecoder">
243 Decoder for extracting information from XML values.
247 <extension base="am:AttributeDecoderType">
249 <element name="Mapping" minOccurs="0">
251 <documentation>Optional transform to turn qualified XML names into string names.</documentation>
254 <attribute name="from" type="QName" use="required"/>
255 <attribute name="to" type="am:string" use="required"/>
259 <attribute name="formatter" type="am:string">
262 The pattern used to generate strings from the XML.