<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://www.example.org"
            targetNamespace="http://www.example.org"
            elementFormDefault="qualified">

   <xsd:element name = "org" type = "Organization"/>
   
   <xsd:complexType name = "Organization">
      <xsd:sequence>
         <xsd:choice maxOccurs = "unbounded" >
            <xsd:element name = "member" type = "Member"/>
            <xsd:element name = "dependant" type = "Dependant"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:complexType>
   
   <xsd:complexType name = "Person">
   
      <xsd:sequence>
        <xsd:element name = "lastName" type = "xsd:string"/>
        <xsd:element name = "firstName" type = "xsd:string"/>
        <xsd:element name = "dob" type = "xsd:date"/>
      </xsd:sequence>
      
      <xsd:attribute name = "id" type = "xsd:ID"/>
      <xsd:attribute name = "gender" type = "Gender"/>
     
   </xsd:complexType>
   
   <xsd:complexType name = "Member">
       <xsd:complexContent>
           <xsd:extension base="Person">
             <xsd:sequence>
               <xsd:element name = "spouse" type = "PersonRef"/>
               <xsd:element name = "child" maxOccurs = "unbounded" type = "PersonRef"/>
             </xsd:sequence>
           </xsd:extension>
	</xsd:complexContent>
   </xsd:complexType>
   
   <xsd:complexType name = "Dependant">
      <xsd:complexContent>
           <xsd:extension base="Person">
             <xsd:sequence>
               <xsd:element name = "sponsor" type = "PersonRef"/>
               <xsd:element name = "child" maxOccurs = "unbounded" type = "PersonRef"/>
             </xsd:sequence>
           </xsd:extension>
	</xsd:complexContent>
   </xsd:complexType>
   
   <xsd:complexType name = "PersonRef">
      <xsd:attribute name="id" type="xsd:IDREF"/>
   </xsd:complexType>
   
   <xsd:simpleType name="Gender">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="male"/>
         <xsd:enumeration value="female"/>
      </xsd:restriction>
   </xsd:simpleType>
   
</xsd:schema>
