Update gitignore to account for subdirs / missing files.
[shibboleth/cpp-opensaml.git] / schemas / saml-schema-authn-context-softwarepki-2.0.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <xs:schema targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI"
4   xmlns:xs="http://www.w3.org/2001/XMLSchema" 
5   xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI"
6   finalDefault="extension"
7   blockDefault="substitution"
8   version="2.0">
9
10   <xs:redefine schemaLocation="saml-schema-authn-context-types-2.0.xsd">
11
12     <xs:annotation>
13       <xs:documentation> 
14         Class identifier: urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI
15         Document identifier: saml-schema-authn-context-softwarepki-2.0
16         Location: http://docs.oasis-open.org/security/saml/v2.0/
17         Revision history:
18           V2.0 (March, 2005):
19             New authentication context class schema for SAML V2.0. 
20       </xs:documentation>
21     </xs:annotation>
22
23     <xs:complexType name="AuthnContextDeclarationBaseType">
24       <xs:complexContent>
25         <xs:restriction base="AuthnContextDeclarationBaseType">
26           <xs:sequence>
27             <xs:element ref="Identification" minOccurs="0"/>
28             <xs:element ref="TechnicalProtection"/>
29             <xs:element ref="OperationalProtection" minOccurs="0"/>
30             <xs:element ref="AuthnMethod"/>
31             <xs:element ref="GoverningAgreements" minOccurs="0"/>
32             <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
33           </xs:sequence>
34           <xs:attribute name="ID" type="xs:ID" use="optional"/>
35         </xs:restriction>
36       </xs:complexContent>
37     </xs:complexType>
38
39     <xs:complexType name="AuthnMethodBaseType">
40       <xs:complexContent>
41         <xs:restriction base="AuthnMethodBaseType">
42           <xs:sequence>
43             <xs:element ref="PrincipalAuthenticationMechanism"/>
44             <xs:element ref="Authenticator"/>
45             <xs:element ref="AuthenticatorTransportProtocol" minOccurs="0"/>
46             <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
47           </xs:sequence>
48         </xs:restriction>
49       </xs:complexContent>
50     </xs:complexType>    
51     
52     <xs:complexType name="TechnicalProtectionBaseType">
53       <xs:complexContent>
54         <xs:restriction base="TechnicalProtectionBaseType">
55           <xs:sequence>
56             <xs:choice>
57               <xs:element ref="PrivateKeyProtection"/>
58             </xs:choice>
59           </xs:sequence>
60         </xs:restriction>
61       </xs:complexContent>
62     </xs:complexType>
63
64     <xs:complexType name="PrincipalAuthenticationMechanismType">
65       <xs:complexContent>
66         <xs:restriction base="PrincipalAuthenticationMechanismType">
67           <xs:sequence>
68             <xs:element ref="ActivationPin"/>
69             <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
70           </xs:sequence>
71         </xs:restriction>
72       </xs:complexContent>
73     </xs:complexType>
74     
75     <xs:complexType name="AuthenticatorBaseType">
76       <xs:complexContent>
77         <xs:restriction base="AuthenticatorBaseType">
78           <xs:sequence>
79             <xs:choice>
80               <xs:element ref="DigSig"/>
81               <xs:element ref="AsymmetricDecryption"/>
82               <xs:element ref="AsymmetricKeyAgreement"/>
83             </xs:choice>
84             <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
85           </xs:sequence>
86         </xs:restriction>
87       </xs:complexContent>
88     </xs:complexType>
89
90     <xs:complexType name="PrivateKeyProtectionType">
91       <xs:complexContent>
92         <xs:restriction base="PrivateKeyProtectionType">
93           <xs:sequence>
94             <xs:element ref="KeyActivation"/>
95             <xs:element ref="KeyStorage"/>
96             <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
97           </xs:sequence>
98         </xs:restriction>
99       </xs:complexContent>
100     </xs:complexType>
101
102     <xs:complexType name="KeyActivationType">
103       <xs:complexContent>
104         <xs:restriction base="KeyActivationType">
105           <xs:sequence>
106             <xs:element ref="ActivationPin"/>
107             <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
108           </xs:sequence>
109         </xs:restriction>
110       </xs:complexContent>
111     </xs:complexType>
112     
113     <xs:complexType name="KeyStorageType">
114       <xs:complexContent>
115         <xs:restriction base="KeyStorageType">
116           <xs:attribute name="medium" use="required">
117             <xs:simpleType>
118               <xs:restriction base="mediumType">
119                 <xs:enumeration value="memory"/>
120               </xs:restriction>
121             </xs:simpleType>
122           </xs:attribute>
123         </xs:restriction>
124       </xs:complexContent>
125     </xs:complexType>
126
127   </xs:redefine>
128
129 </xs:schema>