<?xml version="1.0" encoding="UTF-8"?>

<!-- 
  Variations/FRBR Project schema release 1.1
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:efrad-person="http://vfrbr.info/efrad/1.1/person"

            xmlns="http://vfrbr.info/efrbr/1.1/person"
            targetNamespace="http://vfrbr.info/efrbr/1.1/person"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified"
            >

  <!--
    include FRBR entity attributes
    -->
  <xsd:include schemaLocation="http://vfrbr.info/schemas/1.1/efrbr-person-attrib.xsd"/>
  <!--
    import FRAD entity attributes
    -->
  <xsd:import namespace="http://vfrbr.info/efrad/1.1/person"
              schemaLocation="http://vfrbr.info/schemas/1.1/efrbr-person-frad.xsd"/>
  <!--
    include entity extensions
    -->
  <xsd:include schemaLocation="http://vfrbr.info/schemas/1.1/efrbr-person-extend.xsd"/>

  <!--
    XML element
    for eFRBR Person entity
    -->
  <xsd:element name="person">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="nameOfPerson"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="datesOfPerson"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="titleOfPerson"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="otherDesignationAssociatedWithThePerson"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <!--
          FRAD attributes
          -->
        <xsd:element ref="efrad-person:gender"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:placeOfBirth"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:placeOfDeath"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:country"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:placeOfResidence"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:affiliation"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:address"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:languageOfPerson"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:fieldOfActivity"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:professionOccupation"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="efrad-person:biographyHistory"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <!--
          eFRBR extension to entity attributes
          -->
        <xsd:element ref="note"
                     minOccurs="0" maxOccurs="unbounded"
                     />
        <xsd:element ref="extensions"
                     minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <!-- entity element identifier attribute -->
      <xsd:attribute name="identifier"
                     type="xsd:anyURI"
                     use="optional"/>
    </xsd:complexType>
  </xsd:element>

</xsd:schema>
