Add extension schemas.
[shibboleth/cpp-opensaml.git] / schemas / sstc-saml-delegation.xsd
diff --git a/schemas/sstc-saml-delegation.xsd b/schemas/sstc-saml-delegation.xsd
new file mode 100644 (file)
index 0000000..30c73dc
--- /dev/null
@@ -0,0 +1,40 @@
+<schema\r
+    targetNamespace="urn:oasis:names:tc:SAML:2.0:conditions:delegation"\r
+    xmlns:del="urn:oasis:names:tc:SAML:2.0:conditions:delegation"\r
+    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"\r
+    xmlns="http://www.w3.org/2001/XMLSchema"\r
+    elementFormDefault="unqualified"\r
+    attributeFormDefault="unqualified"\r
+    blockDefault="substitution"\r
+    version="2.0">\r
+    <annotation>\r
+        <documentation>\r
+            Document identifier: sstc-saml-delegation\r
+            Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security\r
+            Revision history:\r
+            V1.0 (February 2009):\r
+              Initial version.\r
+        </documentation>\r
+    </annotation>\r
+    <import namespace="urn:oasis:names:tc:SAML:2.0:assertion"\r
+        schemaLocation="saml-schema-assertion-2.0.xsd"/>\r
+    <complexType name="DelegationRestrictionType">\r
+        <complexContent>\r
+            <extension base="saml:ConditionAbstractType">\r
+                <sequence>\r
+                    <element ref="del:Delegate" maxOccurs="unbounded"/>\r
+                </sequence>\r
+            </extension>\r
+        </complexContent>\r
+    </complexType>\r
+    <element name="Delegate" type="del:DelegateType"/>\r
+    <complexType name="DelegateType">\r
+        <choice>\r
+            <element ref="saml:BaseID"/>\r
+            <element ref="saml:NameID"/>\r
+            <element ref="saml:EncryptedID"/>\r
+        </choice>\r
+        <attribute name="DelegationInstant" type="dateTime" use="optional"/>\r
+        <attribute name="ConfirmationMethod" type="anyURI" use="optional"/>\r
+    </complexType>\r
+</schema>\r