Rework decoder handling in simple resolver, add IdP/SP names to decoder API, hook...
[shibboleth/sp.git] / schemas / shibboleth-2.0-simple-resolver.xsd
index 2e0ac6d..cf3710f 100644 (file)
     </element>
     <complexType name="AttributeResolverType">
         <sequence>
-            <element ref="saml:Attribute" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="resolver:AttributeDecoder" maxOccurs="unbounded"/>
+            <element ref="saml:Attribute" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="allowQuery" type="boolean" default="true"/>
     </complexType>
 
+    <element name="AttributeDecoder">
+        <annotation>
+            <documentation>Instantiates decoders for use by Attribute definitions.</documentation>
+        </annotation>
+        <complexType>
+            <sequence>
+                <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+            </sequence>
+            <attribute name="type" type="resolver:string" use="required"/>
+            <attribute name="id" type="ID" use="required"/>
+            <anyAttribute namespace="##any" processContents="lax"/>
+        </complexType>
+    </element>
+
     <simpleType name="string">
         <restriction base="string">
             <minLength value="1"/>
         </restriction>
     </simpleType>
 
-    <attribute name="decoderType" type="resolver:string"/>
+    <attribute name="decoderId" type="IDREF"/>
 </schema>