Schema fixes.
[shibboleth/sp.git] / schemas / eduPerson.xsd
index ce7d5e4..5d8e4c7 100644 (file)
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="US-ASCII"?>
 <schema targetNamespace="urn:mace:eduPerson:1.0" xmlns:edu="urn:mace:eduPerson:1.0" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
-
     <!--
     Attribute Identifiers:
     
         - Scope, if any, contains the RHS of the eduPerson-defined EPPN
         - MUST be singly occurring value
     
-    urn:mace:eduPerson:1.0:eduPersonAffiliation
-        - AttributeValue xsi:type is eduPersonAffiliationType
+    urn:mace:eduPerson:1.0:eduPersonScopedAffiliation
+        - AttributeValue xsi:type is eduPersonScopedAffiliationType
         - AttributeValue elements contain an eduPerson-defined affiliation token
         - Scope, if any, contains a DNS-style organization name
         - MAY be multi-valued
     
-    urn:mace:eduPerson:1.0:eduPersonPrimaryAffiliation
-        - AttributeValue xsi:type is eduPersonAffiliationType
-        - AttributeValue element contains an eduPerson-defined affiliation token
-        - Scope, if any, contains a DNS-style organization name
-        - MUST be singly occurring value
-    
     urn:mace:eduPerson:1.0:eduPersonEntitlement
         - AttributeValue xsi:type is xsd:anyURI
         - AttributeValue elements contain a URI representing the entitlement
         - MAY be multi-valued
     -->
-    
     <complexType name="ScopedStringValueType">
         <simpleContent>
             <extension base="string">
@@ -35,7 +27,6 @@
             </extension>
         </simpleContent>
     </complexType>
-    
     <complexType name="eduPersonPrincipalNameType">
         <simpleContent>
             <restriction base="edu:ScopedStringValueType">
@@ -44,8 +35,7 @@
             </restriction>
         </simpleContent>
     </complexType>
-    
-    <complexType name="eduPersonAffiliationType">
+    <complexType name="eduPersonScopedAffiliationType">
         <simpleContent>
             <restriction base="edu:ScopedStringValueType">
                 <enumeration value="faculty"/>
             </restriction>
         </simpleContent>
     </complexType>
-    
+    <simpleType name="ValueType">
+        <restriction base="string">
+            <enumeration value="literal"/>
+            <enumeration value="regexp"/>
+            <enumeration value="xpath"/>
+        </restriction>
+    </simpleType>
+    <complexType name="SiteRuleType">
+        <sequence>
+            <element name="Value" maxOccurs="unbounded">
+                <complexType>
+                    <simpleContent>
+                        <extension base="string">
+                            <attribute name="Type" type="edu:ValueType" use="optional" default="literal"/>
+                        </extension>
+                    </simpleContent>
+                </complexType>
+            </element>
+        </sequence>
+    </complexType>
+    <element name="AnySite" type="edu:SiteRuleType"/>
+    <element name="SiteRule">
+        <complexType>
+            <complexContent>
+                <extension base="edu:SiteRuleType">
+                    <attribute name="Name" type="string" use="required"/>
+                </extension>
+            </complexContent>
+        </complexType>
+    </element>
+    <complexType name="AttributeRuleType">
+        <sequence>
+            <element ref="edu:AnySite" minOccurs="0"/>
+            <element ref="edu:SiteRule" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="Name" type="anyURI"/>
+    </complexType>
+    <element name="AttributeRule" type="edu:AttributeRuleType">
+        <key name="SiteRuleKey">
+            <selector xpath="./edu:SiteRule"/>
+            <field xpath="@Name"/>
+        </key>
+    </element>
+    <element name="AttributeAcceptancePolicy">
+        <complexType>
+            <sequence>
+                <element ref="edu:AttributeRule" minOccurs="0" maxOccurs="unbounded"/>
+            </sequence>
+        </complexType>
+        <key name="AttributeNameKey">
+            <selector xpath="./edu:AttributeRule"/>
+            <field xpath="@Name"/>
+        </key>
+    </element>
 </schema>