Added singleAssertion option.
[java-idp.git] / src / schemas / shibboleth-idpconfig-1.0.xsd
index 9e830c8..2e3dad8 100644 (file)
 
        <xs:import namespace="urn:mace:shibboleth:credentials:1.0" schemaLocation="credentials.xsd"/>
        <xs:import namespace="urn:mace:shibboleth:namemapper:1.0" schemaLocation="namemapper.xsd"/>
-       
-       <xs:element name="IdPConfig" type="idp:IdPConfigType"/>
-       <xs:element name="ShibbolethOriginConfig" type="idp:IdPConfigType"/>
-       
+
        <xs:simpleType name="LevelType">
                <xs:restriction base="xs:string">
                        <xs:enumeration value="OFF"/>
 
        <xs:complexType name="LogWithLevels">
                <xs:attribute name="location" type="xs:anyURI" use="required" />
-               <xs:attribute name="level" type="idp:LevelType" use="optional" default="WARN" />
-       </xs:complexType>
-
-       <xs:complexType name="Log">
-               <xs:attribute name="location" type="xs:anyURI" use="required"/>
+               <xs:attribute name="level" type="idp:LevelType" use="optional" />
        </xs:complexType>
 
        <xs:simpleType name="Log4JConfigType">
                </xs:restriction>
        </xs:simpleType>
 
-               <xs:complexType name="IdPConfigType">
-                       <xs:sequence>
+               <xs:element name="IdPConfig">
+                       <xs:complexType>
                                <xs:sequence>
-                                       <xs:element name="RelyingParty" maxOccurs="unbounded">
+                                       <xs:sequence>
+                                               <xs:element name="RelyingParty" maxOccurs="unbounded">
+                                                       <xs:complexType>
+                                                               <xs:sequence minOccurs="0" maxOccurs="unbounded">
+                                                                       <xs:element name="NameID">
+                                                                               <xs:complexType>
+                                                                                       <xs:attribute name="nameMapping" type="xs:string" use="required"/>
+                                                                               </xs:complexType>
+                                                                       </xs:element>
+                                                               </xs:sequence>
+                                                               <xs:attribute name="name" type="xs:string" use="required"/>
+                                                               <xs:attribute name="providerId" type="xs:anyURI" use="optional"/>
+                                                               <xs:attribute name="signingCredential" type="xs:string" use="optional"/>
+                                                               <xs:attribute name="AAUrl" type="xs:anyURI" use="optional"/>
+                                                               <xs:attribute name="passThruErrors" type="xs:boolean" use="optional"/>
+                                                               <xs:attribute name="forceAttributePush" type="xs:boolean" use="optional"/>
+                                                               <xs:attribute name="signAssertions" type="xs:boolean" use="optional"/>
+                                                               <xs:attribute name="forceAttributeNoPush" type="xs:boolean" use="optional"/>
+                                                               <xs:attribute name="singleAssertion" type="xs:boolean" use="optional"/>
+                                                               <xs:attribute name="defaultToPOSTProfile" type="xs:boolean" use="optional"/>
+                                                               <xs:attribute name="schemaHack" type="xs:boolean" use="optional"/>
+                                                               <xs:attribute name="defaultAuthMethod" type="xs:string" use="optional"/>
+                                                               <xs:attribute name="preferredArtifactType" type="xs:integer" use="optional"/>
+                                                               <xs:attribute name="defaultTarget" type="xs:string" use="optional"/>
+                                                       </xs:complexType>
+                                               </xs:element>
+                                       </xs:sequence>
+                                       <xs:element name="ReleasePolicyEngine" minOccurs="0">
                                                <xs:complexType>
-                                                       <xs:sequence minOccurs="0">
-                                                               <xs:element name="HSNameFormat">
+                                                       <xs:sequence>
+                                                               <xs:element name="ArpRepository">
                                                                        <xs:complexType>
-                                                                               <xs:attribute name="nameMapping" type="xs:string" use="required"/>
+                                                                               <xs:sequence>
+                                                                                       <xs:any namespace="##any" processContents="lax" minOccurs="0" 
+                                                                                               maxOccurs="unbounded"/>
+                                                                               </xs:sequence>
+                                                                               <xs:attribute name="implementation" type="xs:string" use="required"/>
+                                                                               <xs:anyAttribute namespace="##any" processContents="lax"/>
                                                                        </xs:complexType>
                                                                </xs:element>
                                                        </xs:sequence>
-                                                       <xs:attribute name="name" type="xs:string" use="required"/>
-                                                       <xs:attribute name="providerId" type="xs:anyURI" use="optional"/>
-                                                       <xs:attribute name="signingCredential" type="xs:string" use="optional"/>
-                                                       <xs:attribute name="AAUrl" type="xs:anyURI" use="optional"/>
-                                                       <xs:attribute name="passThruErrors" type="xs:boolean" use="optional"/>
-                                                       <xs:attribute name="forceAttributePush" type="xs:boolean" use="optional"/>
-                                                       <xs:attribute name="signAssertions" type="xs:boolean" use="optional"/>
-                                                       <xs:attribute name="forceAttributeNoPush" type="xs:boolean" use="optional"/>
-                                                       <xs:attribute name="defaultToPOSTProfile" type="xs:boolean" use="optional"/>
-                                                       <xs:attribute name="defaultAuthMethod" type="xs:string" use="optional"/>
-                                                       <xs:attribute name="preferredArtifactType" type="xs:integer" use="optional"/>
-                                                       <xs:attribute name="defaultTarget" type="xs:string" use="optional"/>
                                                </xs:complexType>
                                        </xs:element>
-                               </xs:sequence>
-                               <xs:element name="ReleasePolicyEngine" minOccurs="0">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element name="ArpRepository">
-                                                               <xs:complexType>
-                                                                       <xs:sequence>
-                                                                               <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-                                                                       </xs:sequence>
-                                                                       <xs:attribute name="implementation" type="xs:string" use="required"/>
-                                                                       <xs:anyAttribute namespace="##any" processContents="lax"/>
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:sequence>
-                                       </xs:complexType>
-                               </xs:element>
-
-                               <xs:element name="Logging" minOccurs="0" maxOccurs="1">
-                                       <xs:complexType>
-                                               <xs:choice>
+                                       <xs:element name="Logging" minOccurs="0" maxOccurs="1">
+                                               <xs:complexType>
+                                                       <xs:choice>
+                                                               <xs:sequence>
+                                                                       <xs:element name="ErrorLog" type="idp:LogWithLevels" minOccurs="0" maxOccurs="1" />
+                                                                       <xs:element name="TransactionLog" type="idp:LogWithLevels" minOccurs="0" 
+                                                                               maxOccurs="1" />
+                                                               </xs:sequence>
+                                                               <xs:element name="Log4JConfig">
+                                                                       <xs:complexType>
+                                                                               <xs:attribute name="type" type="idp:Log4JConfigType" use="optional" 
+                                                                                       default="properties" />
+                                                                               <xs:attribute name="location" type="xs:anyURI" use="required" />
+                                                                       </xs:complexType>
+                                                               </xs:element>
+                                                       </xs:choice>
+                                               </xs:complexType>
+                                       </xs:element>
+                                       <xs:sequence>
+                                               <xs:element ref="namemapper:NameMapping" maxOccurs="unbounded"/>
+                                       </xs:sequence>
+                                       <xs:element name="ArtifactMapper" minOccurs="0" maxOccurs="1">
+                                               <xs:complexType>
                                                        <xs:sequence>
-                                                               <xs:element name="ErrorLog" type="idp:LogWithLevels" minOccurs="0" maxOccurs="1" />
-                                                               <xs:element name="TransactionLog" type="idp:Log" minOccurs="0" maxOccurs="1" />
+                                                               <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                                                        </xs:sequence>
-                                                       <xs:element name="Log4JConfig">
-                                                               <xs:complexType>
-                                                                       <xs:attribute name="type" type="idp:Log4JConfigType" use="optional" default="properties" />
-                                                                       <xs:attribute name="location" type="xs:anyURI" use="required" />
-                                                               </xs:complexType>
-                                                       </xs:element>
-                                               </xs:choice>
-                                       </xs:complexType>
-                               </xs:element>
-
-                               <xs:sequence>
-                                       <xs:element ref="namemapper:NameMapping" maxOccurs="unbounded"/>
+                                                       <xs:attribute name="implementation" type="xs:string" use="required"/>
+                                                       <xs:anyAttribute namespace="##any" processContents="lax"/>
+                                               </xs:complexType>
+                                       </xs:element>
+                                       <xs:element ref="credentials:Credentials"/>
+                                       <xs:element name="ProtocolHandler" minOccurs="0" maxOccurs="unbounded">
+                                               <xs:complexType>
+                                                       <xs:sequence>
+                                                               <xs:element name="Location" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
+                                                               <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+                                                       </xs:sequence>
+                                                       <xs:attribute name="implementation" type="xs:string" use="required" />
+                                                       <xs:anyAttribute namespace="##any" processContents="lax"/>
+                                               </xs:complexType>
+                                       </xs:element>
+                                       <xs:element name="MetadataProvider" minOccurs="0" maxOccurs="unbounded">
+                                               <xs:complexType>
+                                                       <xs:sequence>
+                                                               <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+                                                       </xs:sequence>
+                                                       <xs:attribute name="type" type="xs:string" use="required" />
+                                                       <xs:anyAttribute namespace="##any" processContents="lax"/>
+                                               </xs:complexType>
+                                       </xs:element>
                                </xs:sequence>
-                               
-                               <xs:element name="ArtifactMapper" minOccurs="0" maxOccurs="1">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-                                               </xs:sequence>
-                                               <xs:attribute name="implementation" type="xs:string" use="required"/>
-                                               <xs:anyAttribute namespace="##any" processContents="lax"/>
-                                       </xs:complexType>
-                               </xs:element>
-
-                               <xs:element ref="credentials:Credentials"/>
-
-                               <xs:element name="ProtocolHandler" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element name="Location" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded" />
-                                                       <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-                                               </xs:sequence>
-                                               <xs:attribute name="implementation" type="xs:string" use="required" />
-                                               <xs:anyAttribute namespace="##any" processContents="lax"/>
-                                       </xs:complexType>
-                               </xs:element>
-
-                               <xs:element name="FederationProvider" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-                                               </xs:sequence>
-                                               <xs:attribute name="type" type="xs:string" use="required" />
-                                               <xs:anyAttribute namespace="##any" processContents="lax"/>
-                                       </xs:complexType>
-                               </xs:element>
-                               
-                       </xs:sequence>
-
-                       <xs:attribute name="resolverConfig" type="xs:string" use="optional" default="/conf/resolver.xml"/>
-                       <xs:attribute name="AAUrl" type="xs:anyURI" use="optional"/>
-                       <xs:attribute name="providerId" type="xs:anyURI" use="required"/>
-                       <xs:attribute name="defaultRelyingParty" type="xs:anyURI" use="required"/>
-                       <xs:attribute name="defaultAuthMethod" type="xs:string" use="optional" default="urn:oasis:names:tc:SAML:1.0:am:unspecified"/>
-                       <xs:attribute name="passThruErrors" type="xs:boolean" use="optional" default="false"/>
-                       <xs:attribute name="authHeaderName" type="xs:string" use="optional"/>
-                       <xs:attribute name="maxHSThreads" type="xs:integer" use="optional"/>
-               </xs:complexType>
+                               <xs:attribute name="resolverConfig" type="xs:string" use="optional" default="/conf/resolver.xml"/>
+                               <xs:attribute name="AAUrl" type="xs:anyURI" use="optional"/>
+                               <xs:attribute name="providerId" type="xs:anyURI" use="required"/>
+                               <xs:attribute name="defaultRelyingParty" type="xs:anyURI" use="required"/>
+                               <xs:attribute name="defaultAuthMethod" type="xs:string" use="optional" 
+                                       default="urn:oasis:names:tc:SAML:1.0:am:unspecified"/>
+                               <xs:attribute name="passThruErrors" type="xs:boolean" use="optional" default="false"/>
+                               <xs:attribute name="authHeaderName" type="xs:string" use="optional"/>
+                               <xs:attribute name="maxSigningThreads" type="xs:integer" use="optional"/>
+                       </xs:complexType>
+               </xs:element>
 
 </xs:schema>