﻿<?xml version="1.0" encoding="utf-8" ?>
<!-- TODO:
problem with dates choices want to choose between base types or derived types - but want at least 1 choice selected
-->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:res="http://www.example.com/PO1"
           xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
          id="resume">

  <xs:element name="resume" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:all>
        <xs:element ref="header"  minOccurs="1" maxOccurs="1"  />
        <xs:element ref="KeywordGroups"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="jobhistory"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="education"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="memberships"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="interests"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="skillareas"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="languages"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="references"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="recommendations"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="availability"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="compensation"  minOccurs="0" maxOccurs="1" />
        <xs:element name="lastModified"  minOccurs="1" maxOccurs="1" >
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="dateentryPast">
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>

  <!-- header ============================================================ -->

  <xs:element name="header">
    <xs:complexType>
      <xs:all>
        <xs:element ref="name"  minOccurs="1" maxOccurs="1"  />
        <xs:element ref="contactmethods"  minOccurs="1" maxOccurs="1" />
        <xs:element ref="objective"  minOccurs="0" maxOccurs="1" />
        <xs:element ref="summary"  minOccurs="0" maxOccurs="1" />
      </xs:all>
    </xs:complexType>
  </xs:element>

  <!-- NAME ============================================================ -->
  <xs:element name="name">
    <xs:complexType>
      <xs:all>
        <xs:element name="givenname"  minOccurs="1" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base="givenname" />
          </xs:simpleType>
        </xs:element>
        <xs:element name="nickname"  minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base="nickname" />
          </xs:simpleType>
        </xs:element>
        <xs:element name="familyname"  minOccurs="1" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base="familyname" />
          </xs:simpleType>
        </xs:element>
        <xs:element name="priorfamilyname"  minOccurs="0" maxOccurs="1" type="familyname" />
      </xs:all>
    </xs:complexType>
  </xs:element>

  <xs:simpleType name="givenname" >
    <xs:restriction base="xs:string" />
  </xs:simpleType>

  <xs:simpleType name="nickname">
    <xs:restriction base="xs:string" />
  </xs:simpleType>

  <xs:simpleType name="familyname">
    <xs:restriction base="xs:string" />
  </xs:simpleType>

  <!-- CONTACT ======================================================= -->
  <xs:element name="contactmethods">
    <xs:complexType>
      <xs:all>
        <xs:element name="url"  minOccurs="0" type="url" />
        <xs:element ref="email"  minOccurs="0" />
        <xs:element name="phone"  minOccurs="0" >
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="phone" />
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element ref="location"  minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>

  <xs:simpleType name="url">
    <xs:restriction base="xs:string" />
  </xs:simpleType>


  <xs:element name="email">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base='xs:string'>
          <xs:attribute ref="Preferred" use="optional" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="phone">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute ref="Preferred" use="optional" />
        <xs:attribute name="Type" use="optional" >
          <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
              <xs:enumeration value="Home" />
              <xs:enumeration value="Work" />
              <xs:enumeration value="Cell" />
              <xs:enumeration value="Other" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="TimeZone" use="optional" >
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="UTC-12" msdata:Caption="" />
              <xs:enumeration value="UTC-11" msdata:Caption="" />
              <xs:enumeration value="UTC-10" msdata:Caption="" />
              <xs:enumeration value="UTC-9:30" msdata:Caption="" />
              <xs:enumeration value="UTC-9" msdata:Caption="" />
              <xs:enumeration value="UTC-8" msdata:Caption="" />
              <xs:enumeration value="PST" msdata:Caption="" />
              <xs:enumeration value="PDT" msdata:Caption="" />
              <xs:enumeration value="UTC-7" msdata:Caption="" />
              <xs:enumeration value="MST" msdata:Caption="" />
              <xs:enumeration value="MDT" msdata:Caption="" />
              <xs:enumeration value="UTC-6" msdata:Caption="" />
              <xs:enumeration value="CST" msdata:Caption="" />
              <xs:enumeration value="CDT" msdata:Caption="" />
              <xs:enumeration value="UTC-5" msdata:Caption="" />
              <xs:enumeration value="EST" msdata:Caption="" />
              <xs:enumeration value="EDT" msdata:Caption="" />
              <xs:enumeration value="UTC-4:30" msdata:Caption="" />
              <xs:enumeration value="UTC-4" msdata:Caption="" />
              <xs:enumeration value="AST" msdata:Caption="" />
              <xs:enumeration value="ADT" msdata:Caption="" />
              <xs:enumeration value="UTC-3:30" msdata:Caption="" />
              <xs:enumeration value="UTC-3" msdata:Caption="" />
              <xs:enumeration value="UTC-2" msdata:Caption="" />
              <xs:enumeration value="UTC-1" msdata:Caption="" />
              <xs:enumeration value="UTC" msdata:Caption="" />
              <xs:enumeration value="UTC+1" msdata:Caption="" />
              <xs:enumeration value="UTC+2" msdata:Caption="" />
              <xs:enumeration value="UTC+3" msdata:Caption="" />
              <xs:enumeration value="UTC+3:30" msdata:Caption="" />
              <xs:enumeration value="UTC+4" msdata:Caption="" />
              <xs:enumeration value="UTC+4:30" msdata:Caption="" />
              <xs:enumeration value="UTC+5" msdata:Caption="" />
              <xs:enumeration value="UTC+5:30" msdata:Caption="" />
              <xs:enumeration value="UTC+6" msdata:Caption="" />
              <xs:enumeration value="UTC+6:30" msdata:Caption="" />
              <xs:enumeration value="UTC+7" msdata:Caption="" />
              <xs:enumeration value="UTC+8" msdata:Caption="" />
              <xs:enumeration value="UTC+8:45" msdata:Caption="" />
              <xs:enumeration value="UTC+9" msdata:Caption="" />
              <xs:enumeration value="UTC+9:30" msdata:Caption="" />
              <xs:enumeration value="UTC+10" msdata:Caption="" />
              <xs:enumeration value="UTC+10:30" msdata:Caption="" />
              <xs:enumeration value="UTC+11" msdata:Caption="" />
              <xs:enumeration value="UTC+11:30" msdata:Caption="" />
              <xs:enumeration value="UTC+12" msdata:Caption="" />
              <xs:enumeration value="UTC+12:45" msdata:Caption="" />
              <xs:enumeration value="UTC+13" msdata:Caption="" />
              <xs:enumeration value="UTC+14" msdata:Caption="" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="BestContactTime" use="optional" >
          <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
              <xs:enumeration value="DayTime" />
              <xs:enumeration value="Evening" />
              <xs:enumeration value="Morning" />
              <xs:enumeration value="Afternoon" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!-- OBJECTIVE-->
  <xs:element name="objective">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="item" minOccurs="0" maxOccurs="unbounded"  />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="summary">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="item" minOccurs="0" maxOccurs="unbounded"  />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="item">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string" >
          <xs:attribute ref="Emphasis" use="optional" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  

  <!-- KeywordGroups ============================================================ -->
  <xs:element name="KeywordGroups">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="KeywordGroup" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="GroupOrientation" use="optional" >
        <xs:simpleType>
          <xs:restriction base='xs:string' >
            <xs:enumeration value='Down' />
            <xs:enumeration value='Across' />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:element name="KeywordGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Keyword" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string" >
                <xs:attribute ref="Emphasis" use="optional" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="Title" use="optional" type="xs:string">
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <!-- history ============================================================ -->
  <xs:element name="jobhistory">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="job" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="job">
    <xs:complexType>
      <xs:all>
        <xs:element name="jobtitle" minOccurs="1" maxOccurs="1" type="xs:string" />
        <xs:element name="employer" minOccurs="1" maxOccurs="1" type="xs:string" />
        <xs:element name="employerdescription" minOccurs="0" maxOccurs="1"  type="xs:string" />
        <xs:element name="emplyerURL" minOccurs="0" maxOccurs="1"  type="url" />
        <xs:element ref="location" minOccurs="0" maxOccurs="1" />
        <xs:element ref="fromdate" minOccurs="1" maxOccurs="1" />
        <xs:element ref="todate" minOccurs="0" maxOccurs="1" />
        <xs:element name="description" minOccurs="0" maxOccurs="1"  type="xs:string" />
        <xs:element name="technologies" minOccurs="0" maxOccurs="1" >
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="technology" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="responsibilities" minOccurs="0" maxOccurs="1" >
          <xs:complexType>
            <xs:sequence>
              <xs:element name="responsibility" minOccurs="0" maxOccurs="unbounded" >
                <xs:complexType>
                  <xs:complexContent>
                    <xs:extension base="_task" />
                  </xs:complexContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="projects" minOccurs="0" maxOccurs="1" >
          <xs:complexType>
            <xs:sequence>
              <xs:element name="project" minOccurs="0" maxOccurs="unbounded" >
                <xs:complexType>
                  <xs:complexContent>
                    <xs:extension base="_task" />
                  </xs:complexContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>

  <xs:element name="technology" nillable="true">
    <xs:complexType>
      <xs:simpleContent msdata:ColumnName="technology_Text" msdata:Ordinal="1">
        <xs:extension base="xs:string">
          <xs:attribute name="Type" type="xs:string" use="optional" />
          <xs:attribute ref="Emphasis" use="optional" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="_task" abstract="true">
    <xs:all>
      <xs:element name="timeFrame" minOccurs="0" maxOccurs="1" >
        <xs:complexType>
          <xs:all>
            <xs:element ref="fromdate" minOccurs="1" maxOccurs="1" />
            <xs:element ref="todate" minOccurs="1" maxOccurs="1" />
          </xs:all>
        </xs:complexType>
      </xs:element>
      <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string" />
      <xs:element name="accomplishment" minOccurs="0" maxOccurs="1" type="xs:string" />
      <xs:element name="descriptions" minOccurs="0" maxOccurs="1" >
        <xs:complexType>
          <xs:sequence minOccurs="1" maxOccurs="unbounded">
            <xs:element name="item" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>



  <!-- education ============================================================ -->
  <xs:element name="education">
    <xs:complexType>
      <xs:sequence >
        <xs:element ref="program" minOccurs="0" maxOccurs="unbounded">
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="program">
    <xs:complexType>
      <xs:all>
        <xs:element name="title" nillable="true" minOccurs="1" maxOccurs="1" >
          <xs:complexType>
            <xs:simpleContent msdata:ColumnName="title_Text" msdata:Ordinal="1">
              <xs:extension base="xs:string">
                <xs:attribute name="Type" type="xs:string" use="optional" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="source" nillable="true" minOccurs="0" maxOccurs="1" >
          <xs:complexType>
            <xs:simpleContent msdata:ColumnName="title_Text" msdata:Ordinal="1">
              <xs:extension base="xs:string">
                <xs:attribute name="Type" type="xs:string" use="optional" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element ref="location"  minOccurs="0" />
        <xs:element name="completed" minOccurs="0" >
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="dateentryPresent" >
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
      </xs:all>
      <xs:attribute name="Type" type="xs:string" />
      <xs:attribute name="Level" type="xs:string" />
    </xs:complexType>
  </xs:element>


  <!-- memberships ============================================================ -->
  <xs:element name="memberships">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="membership" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="membership">
    <xs:complexType>
      <xs:all>
        <xs:element name="organization" type="xs:string" />
        <xs:element name="since" minOccurs="0" >
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="dateentryPresent" >
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="until" minOccurs="0" >
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="dateentryPresent" >
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
      </xs:all>
      <xs:attribute name="Type" type="xs:string" />
    </xs:complexType>
  </xs:element>

  <!-- interests ============================================================ -->
  <xs:element name="interests">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="interest" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="interest">
    <xs:complexType>
      <xs:all>
        <xs:element name="title" minOccurs="1" maxOccurs="1" type="xs:string" />
        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string" />
      </xs:all>
    </xs:complexType>
  </xs:element>

  <!-- skillareas ============================================================ -->
  <xs:element name="skillareas">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="skillarea" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="skillarea">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="skillset" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="title" use="required" type="xs:string" />
    </xs:complexType>
  </xs:element>

  <xs:element name="skillset">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="title" minOccurs="1" maxOccurs="1"  type="xs:string" />
        <xs:element name="skills">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="skill" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="skill">
    <xs:complexType>
      <xs:all>
        <xs:element name="lastused" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="dateentryPresent"/>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element ref="duration" minOccurs="0" maxOccurs="1" />
        <xs:element name="future_desire_to_use" minOccurs="0" maxOccurs="1">
          <xs:simpleType>
            <xs:restriction base="rating0_10"/>
          </xs:simpleType>
        </xs:element>

      </xs:all>
      <xs:attribute name="title" use="required"  type="xs:string" />
      <xs:attribute name="frequency" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Always" />
            <xs:enumeration value="Daily" />
            <xs:enumeration value="Occassionally" />
            <xs:enumeration value="Weekly" />
            <xs:enumeration value="Monthly" />
            <xs:enumeration value="Rarely" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="level" use="optional">
        <xs:simpleType>
          <xs:restriction base="rating0_10" />
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:element name="duration">
    <xs:complexType >
      <xs:choice minOccurs="1" maxOccurs="1">
        <xs:element name="Years">
          <xs:simpleType>
            <xs:restriction base="xs:nonNegativeInteger" />
          </xs:simpleType>
        </xs:element>
        <xs:element name="Months">
          <xs:simpleType>
            <xs:restriction base="xs:nonNegativeInteger" />
          </xs:simpleType>
        </xs:element>
        <xs:element name="Weeks">
          <xs:simpleType>
            <xs:restriction base="xs:nonNegativeInteger" />
          </xs:simpleType>
        </xs:element>
        <xs:element name="Occurences">
          <xs:simpleType>
            <xs:restriction base="xs:nonNegativeInteger" />
          </xs:simpleType>
        </xs:element>
        <xs:element name="Other">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:nonNegativeInteger">
                <xs:attribute name="Units" use="required" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>

      <!-- languages ============================================================ -->
  <xs:element name="languages">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="language" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
    <xs:key name="LanguageKey">
      <xs:selector xpath="./language"/>
      <xs:field xpath="@Name"/>
    </xs:key>
  </xs:element>

  <xs:element name="language">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="method" maxOccurs="unbounded">
          <xs:complexType>
            <xs:attribute name="Form" use="required">
              <xs:simpleType>
                <xs:restriction base='xs:NMTOKEN' >
                  <xs:enumeration value='Speaking' />
                  <xs:enumeration value='Listening' />
                  <xs:enumeration value='Reading' />
                  <xs:enumeration value='Writing' />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="Level" use="required">
              <xs:simpleType>
                <xs:restriction base='xs:NMTOKEN' >
                  <xs:enumeration value='Native' />
                  <xs:enumeration value='VeryGood' />
                  <xs:enumeration value='Good' />
                  <xs:enumeration value='Somewhat' />
                  <xs:enumeration value='None' />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="Name" use="required" />
      <xs:attribute name="Code" use="optional" >
        <xs:simpleType>
          <xs:restriction base="xs:language" />
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute ref="Preferred" use="optional" />
    </xs:complexType>
    <xs:key name="MethodKey">
      <xs:selector xpath="./method"/>
      <xs:field xpath="@Form"/>
    </xs:key>
  </xs:element>

  <!-- REFERENCES ==================================== -->

  <xs:element name="references">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="reference" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="reference">
    <xs:complexType>
      <xs:all>
        <xs:element ref="name"  minOccurs="1" maxOccurs="1"  />
        <xs:element name="description" minOccurs="0" maxOccurs="1"  type="xs:string" />
        <xs:element ref="contactmethods"  minOccurs="1" maxOccurs="1" />
      </xs:all>
    </xs:complexType>
  </xs:element>

  <!-- RECOMMENDATIONS ==================================== -->

  <xs:element name="recommendations">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="recommendation" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="recommendation">
    <xs:complexType>
      <xs:all>
        <xs:element name="quote" minOccurs="1" maxOccurs="1"  type="xs:string" />
        <xs:element ref="name"  minOccurs="0" maxOccurs="1"  />
        <xs:element name="relationship" minOccurs="0" maxOccurs="1"  type="xs:string" />
        <xs:element name="description" minOccurs="0" maxOccurs="1"  type="xs:string" />
        <xs:element name="date"  minOccurs="0" maxOccurs="1" >
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="dateentryPast">
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="url"  minOccurs="0" type="url" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- AVAILABILITY =================================== -->

  <xs:element name="availability">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="date" minOccurs="1" maxOccurs="1"  type="availabledate" />
        <xs:element name="description" minOccurs="0" maxOccurs="1"  type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="availabledate"  >
    <xs:complexContent>
      <xs:extension base="dateentry_base" >
        <xs:choice minOccurs="0" maxOccurs="1">
          <xs:element name="Immediately" nillable="true"  type="xs:string" />
          <xs:element name="OneWeeksNotice" nillable="true"  type="xs:string" />
          <xs:element name="TwoWeeksNotice" nillable="true"  type="xs:string" />
          <xs:element name="ThreeWeeksNotice" nillable="true"  type="xs:string" />
        </xs:choice>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <!-- COMPENSATION ======================================== -->
  <xs:element name="compensation">
    <xs:complexType>
      <xs:all>
        <xs:element name="amount" minOccurs="1" maxOccurs="1">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:decimal">
                <xs:attribute name="type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:NMTOKEN" >
                      <xs:enumeration value="Hour"/>
                      <xs:enumeration value="Day"/>
                      <xs:enumeration value="Week"/>
                      <xs:enumeration value="Year"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="notes" minOccurs="0" maxOccurs="1" >
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="compensation_note" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>

  <xs:element name="compensation_note">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string" >
          <xs:attribute name="type" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:NMTOKEN">
                <xs:enumeration value="RateRange" />
                <xs:enumeration value="Benefits" />
                <xs:enumeration value="Vacation" />
                <xs:enumeration value="Taxes" />
                <xs:enumeration value="Expenses" />
                <xs:enumeration value="Other" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <!-- ================================================================ -->

  <xs:attribute name="Emphasis">
    <xs:simpleType>
      <xs:restriction base="xs:NMTOKEN" >
        <xs:enumeration value='Smallest' />
        <xs:enumeration value='Smaller' />
        <xs:enumeration value='Small' />
        <xs:enumeration value='Large' />
        <xs:enumeration value='Larger' />
        <xs:enumeration value='Largest' />
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>

  <xs:attribute name="Preferred">
    <xs:simpleType>
      <xs:restriction base="xs:boolean" />
    </xs:simpleType>
  </xs:attribute>

  <!-- DATES-->
  <xs:complexType name="dateentryPast"  >
    <xs:complexContent>
      <xs:extension base="dateentry_base">
        <xs:choice minOccurs="0" maxOccurs="1">
          <xs:element name="Unknown" nillable="true"  type="xs:string" />
        </xs:choice>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="dateentryPresent"  >
    <xs:complexContent>
      <xs:extension base="dateentry_base">
        <xs:choice minOccurs="0" maxOccurs="1" >
          <xs:element name="Present" nillable="true"  type="xs:string" />
        </xs:choice>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="dateentry_base" abstract="true"  >
    <xs:choice minOccurs="0" maxOccurs="1">
      <xs:element name="gYear">
        <xs:simpleType>
          <xs:restriction base="xs:gYear" />
        </xs:simpleType>
      </xs:element>
      <xs:element name="gYearMonth">
        <xs:simpleType>
          <xs:restriction base="xs:gYearMonth" />
        </xs:simpleType>
      </xs:element>
      <xs:element name="gYearMonthDay">
        <xs:simpleType>
          <xs:restriction base="xs:date" />
        </xs:simpleType>
      </xs:element>
      <xs:element name="otherYear">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute ref="Calendar" use="required" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="otherYearMonth">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute ref="Calendar" use="required" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="otherYearMonthDay">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute ref="Calendar" use="required" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:choice>
  </xs:complexType>

  <xs:element name="fromdate" >
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="dateentryPast" >
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="todate" >
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="dateentryPresent" >
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:attribute name="Calendar">
    <xs:simpleType>
      <xs:restriction base="xs:NMTOKEN" />
    </xs:simpleType>
  </xs:attribute>

  <xs:element name="location">
    <xs:complexType>
      <xs:all>
        <xs:element name="street" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="streetdetail" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="city" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="county" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="region" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="province" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="state" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="country" minOccurs="0" maxOccurs="1" >
          <xs:simpleType>
            <xs:restriction base='xs:string'></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element ref="postalcode" minOccurs="0" maxOccurs="1"  />
      </xs:all>
      <xs:attribute name="Format" use="optional" >
        <xs:simpleType>
          <xs:restriction base='xs:NMTOKEN'></xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="Partial" use="optional" >
        <xs:simpleType>
          <xs:restriction base='xs:NMTOKEN' >
            <xs:enumeration value='City' />
            <xs:enumeration value='County' />
            <xs:enumeration value='State' />
            <xs:enumeration value='Province' />
            <xs:enumeration value='Territory' />
            <xs:enumeration value='Country' />
            <xs:enumeration value='Region' />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute ref="Emphasis" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="postalcode">
    <xs:simpleType>
      <xs:restriction base="xs:string" />
    </xs:simpleType>
  </xs:element>

  <xs:simpleType id="rating0_10" name="rating0_10" >
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="10"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- ============================================================= -->
  <!--
  elementFormDefault="unqualified"
  attributeFormDefault="unqualified"
        targetNamespace="http://www.example.com/PO1"
        
  -->

  <!--<xs:element name="resume_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="docpath" minOccurs="0" />
        <xs:element ref="header" minOccurs="0" />
        <xs:sequence>
          <xs:choice>
            <xs:element ref="objective" />
            <xs:element ref="history" />
            <xs:element ref="academics" />
            <xs:element ref="skillareas_old" />
            <xs:element ref="skillarea_old" />
            <xs:element ref="pubs" />
            <xs:element ref="misc" />
            <xs:element ref="referees" />
            <xs:element ref="keywords" />
            <xs:element ref="memberships_old" />
            <xs:element ref="interests_old" />
            <xs:element ref="clearances" />
            <xs:element ref="awards" />
          </xs:choice>
        </xs:sequence>
        <xs:element ref="lastModified_old" minOccurs="0" />
        <xs:element ref="copyright" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>


  --><!--xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"--><!--
  <xs:element name="academics">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="degrees" />
        <xs:element ref="note" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="achievement">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="achievements">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="achievement" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="address">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="street" />
        <xs:element ref="street2" />
        <xs:element ref="suburb" />
        <xs:element ref="ward" />
        <xs:element ref="city" />
        <xs:element ref="state" />
        <xs:element ref="province" />
        <xs:element ref="county" />
        <xs:element ref="prefecture" />
        <xs:element ref="zip" />
        <xs:element ref="postalCode" />
        <xs:element ref="country" />
        <xs:element ref="break" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="format" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="standard" />
            <xs:enumeration value="european" />
            <xs:enumeration value="italian" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="annotation">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="artTitle">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="author">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="name" type="xs:IDREF" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="award">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" />
        <xs:element ref="organization" minOccurs="0" />
        <xs:choice>
          <xs:element ref="date" />
          <xs:element ref="period" />
        </xs:choice>
        <xs:element ref="description" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="awards">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" minOccurs="0" />
        <xs:element ref="award" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="birth">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="date" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="bookTitle">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="break">
    <xs:complexType>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="citation">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="city">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="clearance">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="level" />
        <xs:element ref="organization" minOccurs="0" />
        <xs:choice>
          <xs:element ref="date" />
          <xs:element ref="period" />
        </xs:choice>
        <xs:element ref="note" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="clearances">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" minOccurs="0" />
        <xs:element ref="clearance" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="company">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="contact_old">
    <xs:complexType>
      <xs:choice>
        --><!--<xs:element ref="phone_old" />--><!--
        <xs:element ref="fax" />
        <xs:element ref="pager" />
        <xs:element ref="email" />
        <xs:element ref="url" />
        <xs:element ref="instantMessage" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="copyright">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="year" />
        <xs:element ref="name" minOccurs="0" />
        <xs:element ref="legalnotice" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="country">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="county">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="date">
    <xs:complexType>
      <xs:sequence>
        <xs:sequence>
          <xs:sequence>
            <xs:element ref="dayOfMonth" />
          </xs:sequence>
          <xs:element ref="month" />
        </xs:sequence>
        <xs:element ref="year" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="dayOfMonth">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="degree">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="level" />
        <xs:element ref="annotation" minOccurs="0" />
        <xs:element ref="major" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="minor" minOccurs="0" maxOccurs="unbounded" />
        <xs:choice>
          <xs:element ref="date" />
          <xs:element ref="period" />
        </xs:choice>
        <xs:sequence>
          <xs:element ref="institution" />
          <xs:element ref="location" minOccurs="0" />
        </xs:sequence>
        <xs:element ref="gpa" minOccurs="0" />
        <xs:element ref="subjects" minOccurs="0" />
        <xs:element ref="projects" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="degrees">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="degree" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="description">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="para" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="docpath">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="head" minOccurs="0" />
        <xs:element ref="node" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="tail" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="email_old">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="emphasis">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="employer">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="skilllevel">
    <xs:complexType mixed="true">
      <xs:all>
        <xs:element id="lastused" ref="skilllastused"></xs:element>
        <xs:element id="frequency" ref="skillusefrequency"></xs:element>
        <xs:element id="rating" ref="skillrating"></xs:element>
        <xs:element id="desire" ref="skillreusedesire"></xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>

  <xs:element name="skilllastused">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="current" />
        <xs:enumeration value="in the past 3 months" />
        <xs:enumeration value="in the past year" />
        <xs:enumeration value="in the past 2 years" />
        <xs:enumeration value="a long time ago" />
        <xs:enumeration value="never" />
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="skillusefrequency">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="always" />
        <xs:enumeration value="daily" />
        <xs:enumeration value="weekly" />
        <xs:enumeration value="occasionally" />
        <xs:enumeration value="rarely" />
        <xs:enumeration value="never" />
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="skillrating">
    <xs:simpleType>
      <xs:restriction base="rating0_10"></xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="skillreusedesire">
    <xs:simpleType>
      <xs:restriction base="rating0_10"></xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="fax">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="location" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="home" />
            <xs:enumeration value="work" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:element name="firstname">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="from">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="date" />
        <xs:element ref="present" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="gpa">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="score" />
        <xs:element ref="possible" minOccurs="0" />
        <xs:element ref="note" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="type" use="optional" default="overall">
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="overall" />
            <xs:enumeration value="major" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:element name="head">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="label" />
        <xs:element ref="uri" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="header_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name" />
        <xs:element ref="address" minOccurs="0" />
        <xs:element ref="birth" minOccurs="0" />
        <xs:element ref="contact" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="history">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="job" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="instantMessage">
    <xs:complexType mixed="true">
      <xs:attribute name="service" type="xs:string" use="optional" />
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="institution">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="interest_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" />
        <xs:element ref="description" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="interests_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" minOccurs="0" />
        <xs:element ref="interest" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="job_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="jobtitle" />
        <xs:element ref="employer" />
        <xs:element ref="location" minOccurs="0" />
        <xs:choice>
          <xs:element ref="date" />
          <xs:element ref="period" />
        </xs:choice>
        <xs:element ref="description" minOccurs="0" />
        <xs:element ref="projects" minOccurs="0" />
        <xs:element ref="achievements" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="jobtitle">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="keyword">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="keywords">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="keyword" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="label">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="lastModified_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="date" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="legalnotice">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="para" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="level">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="link">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="href" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="location_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="city" minOccurs="0" />
        <xs:choice>
          <xs:element ref="state" />
          <xs:element ref="province" />
          <xs:element ref="county" />
        </xs:choice>
        <xs:element ref="country" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="major">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="membership_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" minOccurs="0" />
        <xs:sequence>
          <xs:element ref="organization" />
          <xs:element ref="location" minOccurs="0" />
        </xs:sequence>
        <xs:choice>
          <xs:element ref="date" />
          <xs:element ref="period" />
        </xs:choice>
        <xs:element ref="description" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="memberships_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" />
        <xs:element ref="membership" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="middlenames">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="minor">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="misc">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="para" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="month">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="name_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" minOccurs="0" />
        <xs:element ref="firstname" />
        <xs:element ref="middlenames" minOccurs="0" />
        <xs:element ref="surname" />
        <xs:element ref="suffix" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="node">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="label" />
        <xs:element ref="uri" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="note">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="para" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="objective_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="para" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="organization">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="pageNums">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="pager">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="para">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element abstract="true" name="enhancedstring">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="period">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="from" />
        <xs:element ref="to" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>


  <xs:element name="possible">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="postalCode">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="prefecture">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="present">
    <xs:complexType>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="project">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="title" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="projects">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="project" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="province">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="pub">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="para" />
        <xs:choice>
          <xs:element ref="artTitle" />
          <xs:element ref="bookTitle" />
          <xs:element ref="author" />
          <xs:element ref="date" />
          <xs:element ref="pubDate" />
          <xs:element ref="publisher" />
          <xs:element ref="pageNums" />
          <xs:element ref="url" />
        </xs:choice>
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="pubDate">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="month" minOccurs="0" />
        <xs:element ref="year" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="publisher">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="link" />
        <xs:element ref="url" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="pubs">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="pub" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="referee">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name" />
        <xs:element ref="title" minOccurs="0" />
        <xs:element ref="organization" minOccurs="0" />
        <xs:element ref="address" minOccurs="0" />
        <xs:element ref="contact" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="referees">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="referee" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="result">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>


  <xs:element name="resumes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="resume" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="score">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="skill">
    <xs:complexType mixed="true">
      <xs:all>
        <xs:element ref="emphasis" />
        <xs:element ref="citation" />
        <xs:element ref="url" />
        <xs:element ref="link" />
        <xs:element ref="skilllevel" />
      </xs:all>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="level" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="skillarea_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" />
        <xs:element ref="skillset" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="skillareas_old">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="skillarea_old" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="skills">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="skill" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="skillset">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" minOccurs="0" />
        <xs:choice>
          <xs:element ref="skill" maxOccurs="unbounded" />
          <xs:element ref="skills" />
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="state">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="street">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="street2">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="subject">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title" />
        <xs:element ref="result" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="subjects">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="subject" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="suburb">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="suffix">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="surname">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="tail">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="title">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="to">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="date" />
        <xs:element ref="present" />
      </xs:choice>
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="uri">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="url_old">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="ward">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="year">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>

  <xs:element name="zip">
    <xs:complexType mixed="true">
      <xs:attribute name="targets" type="xs:string" use="optional" />
      <xs:attribute name="id" type="xs:ID" use="optional" />
    </xs:complexType>
  </xs:element>-->

  <!-- ==================================================================================================================================== -->

</xs:schema>

