<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:ext:sc:shared"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:ext:sc:shared"
  finalDefault="extension"
  blockDefault="substitution"
  version="2.0">

  <annotation>
    <documentation>
      Document title: Shared Credential - Shared class
      Document identifier: sstc-saml-authn-context-ext-shared.xsd
      Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
      Revision history:
      V2.0 (September 2006)
    </documentation>
  </annotation>
  
<redefine schemaLocation="sstc-saml-context-ext-sc.xsd">

<xs:annotation>
	<xs:documentation>This class is defined by a fixed value of '1' for the SharedCredential extension, indicating that the credential was shared.
	</xs:documentation>
</xs:annotation>

<complexType name="SharedCredentialType">
  <complexContent>
    <restriction base="SharedCredentialType">
  	    <simpleContent>
		 <extension  base="xs:boolean" fixed="1"/>
	    </simpleContent>
	  </restriction>
	</complexContent>
</complexType>

</redefine>

<redefine schemaLocation="saml-schema-authn-context-types-2.0.xsd">

<xs:annotation>
	<xs:documentation>There MUST be an Extension element in the PrincipalAuthenticationMechanism
	</xs:documentation>
</xs:annotation>

    <xs:complexType name="AuthnContextDeclarationBaseType">
      <xs:complexContent>
        <xs:restriction base="AuthnContextDeclarationBaseType">
          <xs:sequence>
            <xs:element ref="Identification" minOccurs="0"/>
            <xs:element ref="TechnicalProtection" minOccurs="0"/>
            <xs:element ref="OperationalProtection" minOccurs="0"/>
            <xs:element ref="AuthnMethod"/>
            <xs:element ref="GoverningAgreements" minOccurs="0"/>
            <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="ID" type="xs:ID" use="optional"/>
        </xs:restriction>
      </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="AuthnMethodBaseType">
      <xs:complexContent>
        <xs:restriction base="AuthnMethodBaseType">
          <xs:sequence>
            <xs:element ref="PrincipalAuthenticationMechanism" minOccurs="0"/>
            <xs:element ref="Authenticator"/>
            <xs:element ref="AuthenticatorTransportProtocol" minOccurs="0"/>
            <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:restriction>
      </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="PrincipalAuthenticationMechanismType">
      <xs:complexContent>
        <xs:restriction base="PrincipalAuthenticationMechanismType">
          <xs:sequence>
            <xs:element ref="Extension" minOccurs="1"/>
          </xs:sequence>
        </xs:restriction>
      </xs:complexContent>
    </xs:complexType>

</redefine>

</schema>
