Sync'd up with C version.
authorcantor <cantor@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Mon, 9 Jun 2003 20:46:50 +0000 (20:46 +0000)
committercantor <cantor@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Mon, 9 Jun 2003 20:46:50 +0000 (20:46 +0000)
git-svn-id: https://subversion.switch.ch/svn/shibboleth/java-idp/trunk@610 ab3bd59b-922f-494d-bb5f-6f0a3c29deca

src/schemas/shibboleth.xsd

index 07dbdb7..856609b 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="US-ASCII"?>
-<schema targetNamespace="urn:mace:shibboleth:1.0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:shib="urn:mace:shibboleth:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<schema targetNamespace="urn:mace:shibboleth:1.0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:shib="urn:mace:shibboleth:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
     <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
     <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
     
     </simpleType>
     
     <complexType name="SiteRuleType">
-        <sequence>
+        <choice>
+               <element name="AnyValue">
+                       <complexType>
+                               <sequence/>
+                       </complexType>
+               </element>
             <element name="Value" maxOccurs="unbounded">
                 <complexType>
                     <simpleContent>
@@ -53,7 +58,7 @@
                     </simpleContent>
                 </complexType>
             </element>
-        </sequence>
+        </choice>
     </complexType>
 
     <element name="AnySite" type="shib:SiteRuleType"/>
                     </simpleContent>
                 </complexType>
             </element>
+            <element name="Contact" type="shib:ContactType" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="Name" type="string" use="required"/>
-        <attribute name="ContactName" type="string" use="optional"/>
-        <attribute name="ContactEmail" type="string" use="optional"/>
         <attribute name="ErrorURL" type="anyURI" use="optional"/>
     </complexType>
 
+       <simpleType name="ContactTypeType">
+               <restriction base="string">
+            <enumeration value="technical"/>
+            <enumeration value="administrative"/>
+            <enumeration value="billing"/>
+            <enumeration value="other"/>
+        </restriction>
+    </simpleType>
+
+       <complexType name="ContactType">
+               <annotation>A human contact for a site.</annotation>
+               <sequence/>
+        <attribute name="Type" type="shib:ContactTypeType" use="required"/>
+        <attribute name="Name" type="string" use="required"/>
+        <attribute name="Email" type="string" use="optional"/>
+       </complexType>
+
     <complexType name="regexp_string">
-        <annotation> A string element with an optional attribute signaling regexp content. </annotation>
+        <annotation>A string element with an optional attribute signaling regexp content.</annotation>
         <simpleContent>
             <extension base="string">
                 <attribute name="regexp" type="boolean" use="optional" default="false"/>
         </simpleContent>
     </complexType>    
 
+       <complexType name="AuthorityType">
+               <annotation>Metadata about a SAML authority.</annotation>
+        <sequence/>
+        <attribute name="Name" type="string" use="required"/>
+        <attribute name="Location" type="anyURI" use="required"/>
+       </complexType>
+
     <complexType name="OriginSiteType">
         <annotation>Origin sites add at least one handle service (with a name and optional KeyInfo), plus optional domains trusted for attribute scoping.</annotation>
         <complexContent>
-            <extension base="shib:SiteType">
-                <sequence>
-                    <element name="HandleService" maxOccurs="unbounded">
-                        <complexType>
-                            <sequence>
-                                <element ref="ds:KeyInfo" minOccurs="0"/>
-                            </sequence>
-                            <attribute name="Name" type="string" use="required"/>
-                            <attribute name="Location" type="anyURI" use="required"/>
-                        </complexType>
-                    </element>
-                    <element name="Domain" type="shib:regexp_string" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </extension>
+               <extension base="shib:SiteType">
+                   <sequence>
+                       <element name="HandleService" type="shib:AuthorityType" maxOccurs="unbounded"/>
+                       <element name="AttributeAuthority" type="shib:AuthorityType" minOccurs="0" maxOccurs="unbounded"/>
+                       <element name="Domain" type="shib:regexp_string" minOccurs="0" maxOccurs="unbounded"/>
+                   </sequence>
+               </extension>
         </complexContent>
     </complexType>
 
     <complexType name="SiteGroupType">
-        <annotation>Used to logically group sites together.</annotation>
+        <annotation>Used to logically group sites together, optionally signed.</annotation>
         <sequence>
             <choice maxOccurs="unbounded">
                 <element ref="shib:OriginSite"/>
                 <element ref="shib:DestinationSite"/>
                 <element ref="shib:SiteGroup"/>
             </choice>
+            <element ref="ds:Signature" minOccurs="0"/>
         </sequence>
         <attribute name="Name" type="string" use="required"/>
     </complexType>    
     <element name="DestinationSite" type="shib:SiteType"/>
     <element name="SiteGroup" type="shib:SiteGroupType"/>
 
-    <element name="Sites">
-        <annotation>The registry of sites plus an optional enveloped signature.</annotation>
-        <complexType>
-            <sequence>
-                <choice maxOccurs="unbounded">
-                    <element ref="shib:OriginSite"/>
-                    <element ref="shib:DestinationSite"/>
-                    <element ref="shib:SiteGroup"/>
-                </choice>
-                <element ref="ds:Signature" minOccurs="0"/>
-            </sequence>
-        </complexType>
-    </element>
+       <complexType name="KeyAuthorityType">
+               <annotation>Binds a set of keying material to one or more named system entities.</annotation>
+               <sequence>
+                       <element ref="ds:KeyInfo"/>
+                       <element name="Subject" type="shib:regexp_string" maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
+       
+       <element name="KeyAuthority" type="shib:KeyAuthorityType"/>
+       
+       <element name="Trust">
+               <annotation>An optionally signed collection of KeyAuthority data.</annotation>
+               <complexType>
+                       <sequence>
+                               <element ref="shib:KeyAuthority" maxOccurs="unbounded"/>
+                               <element ref="ds:Signature" minOccurs="0"/>
+                       </sequence>
+               </complexType>
+       </element>
+       
 </schema>