Schema Name: genxml20.xsd
Documentation:
GenXML 2.0 Schema release 3, 16. March 2008
Collapse XSD Schema Code:

<!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:documentation>GenXML 2.0 Schema release 3, 16. March 2008</xs:documentation>
  </xs:annotation>
  <xs:element name="genxml">
    <xs:annotation>
      <xs:documentation>The root element of GenXML</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="file">
          <xs:complexType>
            <xs:sequence>
              <xs:element fixed="200" name="version" type="xs:int" />
              <xs:element name="level" type="xs:int" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="header">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="exportingsystem" type="xs:normalizedString" />
              <xs:element name="version" type="xs:normalizedString" />
              <xs:element name="exported" type="xs:dateTime" />
              <xs:element minOccurs="0" name="language" type="xs:language" />
              <xs:element minOccurs="0" name="owner">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="name" type="xs:normalizedString" />
                    <xs:element minOccurs="0" name="address" type="addressType" />
                    <xs:element minOccurs="0" name="phone" type="xs:normalizedString" />
                    <xs:element minOccurs="0" name="email" type="xs:normalizedString" />
                    <xs:element minOccurs="0" name="uri" type="xs:normalizedString" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="copyright" type="xs:normalizedString" />
              <xs:element minOccurs="0" name="note" type="xs:string" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="repository">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name" type="xs:normalizedString" />
              <xs:element minOccurs="0" name="address" type="addressType" />
              <xs:element minOccurs="0" name="email" type="xs:normalizedString" />
              <xs:element minOccurs="0" name="uri" type="xs:anyURI" />
              <xs:element minOccurs="0" name="note" type="stringlang" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
            <xs:attribute name="id" type="repositoryID" use="required" />
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="source">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="author" type="xs:normalizedString" />
              <xs:element name="title" type="xs:normalizedString" />
              <xs:element name="shorttitle" type="xs:normalizedString" />
              <xs:element minOccurs="0" name="published" type="xs:normalizedString" />
              <xs:choice minOccurs="0">
                <xs:element name="isbn" type="xs:normalizedString" />
                <xs:element name="issn" type="xs:normalizedString" />
              </xs:choice>
              <xs:choice minOccurs="0">
                <xs:element maxOccurs="unbounded" name="repositoryref">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element minOccurs="0" name="callnumber" type="xs:normalizedString" />
                      <xs:element minOccurs="0" name="note" type="stringlang" />
                    </xs:sequence>
                    <xs:attribute name="ref" type="repositoryID" use="required" />
                  </xs:complexType>
                </xs:element>
                <xs:element name="sourceref" type="sourceID" />
              </xs:choice>
              <xs:element minOccurs="0" name="text" type="xs:string" />
              <xs:element minOccurs="0" maxOccurs="unbounded" name="object" type="objectType" />
              <xs:element minOccurs="0" name="note" type="stringlang" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
            <xs:attribute name="id" type="sourceID" use="required" />
            <xs:attribute default="book" name="class" use="optional">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="series" />
                  <xs:enumeration value="book" />
                  <xs:enumeration value="issue" />
                  <xs:enumeration value="article" />
                  <xs:enumeration value="part" />
                  <xs:enumeration value="chapter" />
                  <xs:enumeration value="document" />
                  <xs:enumeration value="section" />
                  <xs:enumeration value="excerpt" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="kind" use="optional">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="original" />
                  <xs:enumeration value="reprint" />
                  <xs:enumeration value="copy" />
                  <xs:enumeration value="unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute default="unknown" name="media" use="optional">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="audio" />
                  <xs:enumeration value="digital" />
                  <xs:enumeration value="fiche" />
                  <xs:enumeration value="handwritten" />
                  <xs:enumeration value="inscription" />
                  <xs:enumeration value="microfilm" />
                  <xs:enumeration value="photo" />
                  <xs:enumeration value="printed" />
                  <xs:enumeration value="video" />
                  <xs:enumeration value="other" />
                  <xs:enumeration value="unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="excerpt">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" name="text" type="xs:string" />
              <xs:element minOccurs="0" name="quality">
                <xs:simpleType>
                  <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                    <xs:maxInclusive value="100" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element minOccurs="0" name="page" type="xs:normalizedString" />
              <xs:element name="sourceref" type="sourceID" />
              <xs:element minOccurs="0" name="note" type="stringlang" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
            <xs:attribute name="id" type="excerptID" use="required" />
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="eventtype">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="description" type="normstringlang" />
              <xs:element minOccurs="0" default="EVEN" name="gedcomtag" type="xs:token" />
              <xs:element minOccurs="0" name="roles" type="xs:unsignedInt" />
              <xs:element minOccurs="0" name="note" type="stringlang" />
            </xs:sequence>
            <xs:attribute name="id" type="eventtypeID" use="required" />
            <xs:attribute name="class" use="required">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="annulment" />
                  <xs:enumeration value="baptism" />
                  <xs:enumeration value="birth" />
                  <xs:enumeration value="blessing" />
                  <xs:enumeration value="burial" />
                  <xs:enumeration value="census" />
                  <xs:enumeration value="confirmation" />
                  <xs:enumeration value="coronation" />
                  <xs:enumeration value="cremation" />
                  <xs:enumeration value="death" />
                  <xs:enumeration value="discharge" />
                  <xs:enumeration value="divorce" />
                  <xs:enumeration value="election" />
                  <xs:enumeration value="emigration" />
                  <xs:enumeration value="enlistment" />
                  <xs:enumeration value="graduation" />
                  <xs:enumeration value="health" />
                  <xs:enumeration value="immigration" />
                  <xs:enumeration value="internment" />
                  <xs:enumeration value="marriage" />
                  <xs:enumeration value="naturalization" />
                  <xs:enumeration value="ordination" />
                  <xs:enumeration value="residence" />
                  <xs:enumeration value="retirement" />
                  <xs:enumeration value="other" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="person">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="personalname" type="nameType" />
              <xs:choice>
                <xs:element name="subpersons">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element maxOccurs="2" name="personref" type="personID" />
                      <xs:element minOccurs="0" name="note" type="stringlang" />
                    </xs:sequence>
                    <xs:attribute name="probability" use="optional">
                      <xs:simpleType>
                        <xs:restriction base="xs:unsignedByte">
                          <xs:minInclusive value="0" />
                          <xs:maxInclusive value="100" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
                <xs:sequence>
                  <xs:element minOccurs="0" maxOccurs="unbounded" name="excerptref" type="excerptID" />
                  <xs:element minOccurs="0" maxOccurs="unbounded" name="object" type="objectType" />
                </xs:sequence>
              </xs:choice>
              <xs:element minOccurs="0" name="note" type="stringlang" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
            <xs:attribute name="id" type="personID" use="required" />
            <xs:attribute name="sex" use="required">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="male" />
                  <xs:enumeration value="female" />
                  <xs:enumeration value="unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="assertion">
          <xs:complexType>
            <xs:sequence>
              <xs:choice>
                <xs:element name="alias">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="personalname" type="nameType" />
                      <xs:element name="personref" type="personrefType" />
                      <xs:element minOccurs="0" name="date" type="dateType" />
                    </xs:sequence>
                    <xs:attribute name="negative" type="xs:boolean" use="optional" />
                  </xs:complexType>
                </xs:element>
                <xs:element name="relationship">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="relation">
                        <xs:simpleType>
                          <xs:restriction base="xs:token">
                            <xs:enumeration value="biological" />
                            <xs:enumeration value="adoptive" />
                            <xs:enumeration value="foster" />
                            <xs:enumeration value="other" />
                          </xs:restriction>
                        </xs:simpleType>
                      </xs:element>
                      <xs:choice>
                        <xs:sequence>
                          <xs:element name="father" type="personrefType" />
                          <xs:element minOccurs="0" maxOccurs="1" name="mother" type="personrefType" />
                        </xs:sequence>
                        <xs:element name="mother" type="personrefType" />
                        <xs:element name="parent" type="personrefType" />
                      </xs:choice>
                      <xs:element name="child" type="personrefType" />
                    </xs:sequence>
                    <xs:attribute name="negative" type="xs:boolean" use="optional" />
                  </xs:complexType>
                </xs:element>
                <xs:element name="attribute">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element minOccurs="0" name="description" type="normstringlang" />
                      <xs:choice>
                        <xs:sequence>
                          <xs:element name="textclass">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="caste" />
                                <xs:enumeration value="education" />
                                <xs:enumeration value="email" />
                                <xs:enumeration value="idnumber" />
                                <xs:enumeration value="language" />
                                <xs:enumeration value="nationality" />
                                <xs:enumeration value="physical" />
                                <xs:enumeration value="property" />
                                <xs:enumeration value="religion" />
                                <xs:enumeration value="title" />
                                <xs:enumeration value="work" />
                                <xs:enumeration value="other" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="text" type="normstringlang" />
                        </xs:sequence>
                        <xs:sequence>
                          <xs:element name="numberclass">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="age" />
                                <xs:enumeration value="children" />
                                <xs:enumeration value="marriages" />
                                <xs:enumeration value="other" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="number" type="xs:int" />
                          <xs:element minOccurs="0" name="modifier">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="exact" />
                                <xs:enumeration value="greater" />
                                <xs:enumeration value="less" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                        <xs:element name="flagclass">
                          <xs:simpleType>
                            <xs:restriction base="xs:token">
                              <xs:enumeration value="ancestor" />
                              <xs:enumeration value="descendant" />
                              <xs:enumeration value="living" />
                              <xs:enumeration value="other" />
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                      </xs:choice>
                      <xs:element name="personref" type="personrefType" />
                      <xs:element minOccurs="0" name="date" type="dateType" />
                      <xs:element minOccurs="0" name="place" type="placeType" />
                      <xs:element minOccurs="0" name="address" type="addressType" />
                    </xs:sequence>
                    <xs:attribute name="negative" type="xs:boolean" use="optional" />
                  </xs:complexType>
                </xs:element>
                <xs:element name="event">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element minOccurs="0" maxOccurs="unbounded" name="principal" type="personrefType" />
                      <xs:element minOccurs="0" maxOccurs="unbounded" name="subordinate" type="personrefroleType" />
                      <xs:element minOccurs="0" name="date" type="dateType" />
                      <xs:element minOccurs="0" name="place" type="placeType" />
                      <xs:element minOccurs="0" name="address" type="addressType" />
                    </xs:sequence>
                    <xs:attribute name="type" type="eventtypeID" use="required" />
                    <xs:attribute name="negative" type="xs:boolean" use="optional" />
                  </xs:complexType>
                </xs:element>
                <xs:element name="info">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="text" type="stringlang" />
                      <xs:element maxOccurs="unbounded" name="personref" type="personrefType" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:choice>
              <xs:choice>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="excerptref" type="excerptID" />
                <xs:element minOccurs="2" maxOccurs="2" name="assertionref" type="assertionID" />
              </xs:choice>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="object" />
              <xs:element minOccurs="0" name="note" type="stringlang" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
            <xs:attribute name="id" type="assertionID" use="required" />
            <xs:attribute name="datatype" use="optional">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="public" />
                  <xs:enumeration value="family" />
                  <xs:enumeration value="immfamily" />
                  <xs:enumeration value="private" />
                  <xs:enumeration value="info" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="objective">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="title" type="xs:string" />
              <xs:element name="problem" type="xs:string" />
              <xs:element name="solution" type="xs:string" />
              <xs:element minOccurs="0" name="priority">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="low" />
                    <xs:enumeration value="medium" />
                    <xs:enumeration value="high" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element minOccurs="0" name="created" type="xs:dateTime" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
            <xs:attribute name="id" type="objectiveID" use="required" />
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="task">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="title" type="xs:string" />
              <xs:element name="problem" type="xs:string" />
              <xs:element minOccurs="0" name="solution" type="xs:string" />
              <xs:element minOccurs="0" name="objectiveref" type="objectiveID" />
              <xs:element minOccurs="0" name="personref" type="personID" />
              <xs:element minOccurs="0" name="sourceref" type="sourceID" />
              <xs:element name="status">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="new" />
                    <xs:enumeration value="analysis" />
                    <xs:enumeration value="finished" />
                    <xs:enumeration value="updated" />
                    <xs:enumeration value="rejected" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element minOccurs="0" name="statusdate" type="xs:dateTime" />
              <xs:element minOccurs="0" name="change" type="xs:dateTime" />
            </xs:sequence>
            <xs:attribute name="id" type="taskID" use="required" />
            <xs:attribute name="lang" type="xs:language" use="optional" />
          </xs:complexType>
        </xs:element>
        <xs:element name="total">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="repositories" type="xs:int" />
              <xs:element name="sources" type="xs:int" />
              <xs:element name="excerpts" type="xs:int" />
              <xs:element name="eventtypes" type="xs:int" />
              <xs:element name="persons" type="xs:int" />
              <xs:element name="assertions" type="xs:int" />
              <xs:element name="objectives" type="xs:int" />
              <xs:element name="tasks" type="xs:int" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="stringlang">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="lang" use="optional">
          <xs:simpleType>
            <xs:list itemType="xs:language" />
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="normstringlang">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="lang" type="xs:language" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="objectType">
    <xs:sequence>
      <xs:choice>
        <xs:element name="externalfile" type="xs:token" />
        <xs:sequence>
          <xs:element name="originalfile" type="xs:token" />
          <xs:element name="bin" type="xs:base64Binary" />
        </xs:sequence>
      </xs:choice>
      <xs:element name="title" type="xs:normalizedString" />
      <xs:element minOccurs="0" name="note" type="normstringlang" />
    </xs:sequence>
    <xs:attribute name="lang" type="xs:language" use="optional" />
  </xs:complexType>
  <xs:complexType name="addressType">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="ap" type="xs:normalizedString" />
        <xs:element name="lf" />
      </xs:choice>
      <xs:element minOccurs="0" name="phone" type="xs:normalizedString" />
      <xs:element minOccurs="0" name="fax" type="xs:normalizedString" />
    </xs:sequence>
    <xs:attribute name="lang" type="xs:language" use="optional" />
  </xs:complexType>
  <xs:complexType name="placeType">
    <xs:sequence>
      <xs:element minOccurs="0" name="prefix" type="xs:normalizedString" />
      <xs:element maxOccurs="unbounded" name="pnp" type="xs:normalizedString" />
      <xs:element minOccurs="0" name="date" type="dateType" />
      <xs:element minOccurs="0" name="coords">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="lo">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:pattern value="[EW]\d{2}(\d{2}(\d{2})?)?" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="la">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:pattern value="[NS]\d{2}(\d{2}(\d{2})?)?" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="lang" type="xs:language" use="optional" />
  </xs:complexType>
  <xs:complexType name="nameType">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" name="np">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="tp" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="cogn" />
                    <xs:enumeration value="surn" />
                    <xs:enumeration value="pref" />
                    <xs:enumeration value="givn" />
                    <xs:enumeration value="reln" />
                    <xs:enumeration value="nick" />
                    <xs:enumeration value="patr" />
                    <xs:enumeration value="matr" />
                    <xs:enumeration value="tekn" />
                    <xs:enumeration value="art" />
                    <xs:enumeration value="occn" />
                    <xs:enumeration value="locn" />
                    <xs:enumeration value="midl" />
                    <xs:enumeration value="sufx" />
                    <xs:enumeration value="oth" />
                    <xs:enumeration value="unkw" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="lang" type="xs:language" use="optional" />
  </xs:complexType>
  <xs:complexType name="dateType">
    <xs:choice>
      <xs:element name="exact" type="simpleDate" />
      <xs:sequence>
        <xs:element name="begin" type="simpleDate" />
        <xs:element name="end" type="simpleDate" />
      </xs:sequence>
      <xs:sequence>
        <xs:element name="from">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="simpleDate" />
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" maxOccurs="1" name="to" type="simpleDate" />
      </xs:sequence>
      <xs:element name="to" type="simpleDate" />
      <xs:element name="text" type="xs:normalizedString" />
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="simpleDate">
    <xs:simpleContent>
      <xs:extension base="genxmlDate">
        <xs:attribute default="unknown" name="cal" use="optional">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="chinese" />
              <xs:enumeration value="coptic" />
              <xs:enumeration value="french" />
              <xs:enumeration value="gregorian" />
              <xs:enumeration value="hebrew" />
              <xs:enumeration value="indian" />
              <xs:enumeration value="islamic" />
              <xs:enumeration value="julian" />
              <xs:enumeration value="unknown" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="mod" use="optional">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="about" />
              <xs:enumeration value="after" />
              <xs:enumeration value="before" />
              <xs:enumeration value="estimated" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="era" use="optional">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="after" />
              <xs:enumeration value="before" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="genxmlDate">
    <xs:annotation>
      <xs:documentation>GenXML date format (equivalent of XML's datetime)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:normalizedString">
      <xs:pattern value="\d{4}(/\d{2})?(\-\d{2}(\-\d{2}(T\d{2}:\d{2}(:\d{2})?)?)?)?" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="repositoryID">
    <xs:annotation>
      <xs:documentation>Identifier for the repository entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="R[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="sourceID">
    <xs:annotation>
      <xs:documentation>Identifier for the source entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="S[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="excerptID">
    <xs:annotation>
      <xs:documentation>Identifier for the excerpt entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="X[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="eventtypeID">
    <xs:annotation>
      <xs:documentation>Identifier for the eventtype entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="E[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="personID">
    <xs:annotation>
      <xs:documentation>Identifier for the person entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="P[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="assertionID">
    <xs:annotation>
      <xs:documentation>Identifier for the assertion entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="A[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="objectiveID">
    <xs:annotation>
      <xs:documentation>Identifier for the objective entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="O[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="taskID">
    <xs:annotation>
      <xs:documentation>Identifier for the task entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:pattern value="T[1-2]?\d{0,9}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="personrefType">
    <xs:simpleContent>
      <xs:extension base="personID">
        <xs:attribute name="pref" type="xs:boolean" use="optional" />
        <xs:attribute name="seq" type="xs:int" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="personrefroleType">
    <xs:sequence>
      <xs:element name="personref" type="personrefType" />
      <xs:element name="role" type="normstringlang" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>
Collapse ComplexTypes:
Collapse Elements:
Collapse SimpleTypes: