<?xml version="1.0"?>
<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<!--Schema generated 2006-01-30T20:23:55Z
Copyright 2005 TEI Consortium.
This is free software; you can redistribute it and/or
	    modify it under the terms of the GNU General Public
	    License as published by the Free Software Foundation;
	    either version 2 of the License, or (at your option) any
	    later version.
This material is distributed in the hope that it will be
	    useful, but WITHOUT ANY WARRANTY; without even the implied
	    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
	    PURPOSE. See the GNU General Public License for more
	    details.
You should have received a copy of the GNU General Public
	    License along with this file; if not, write to the Free
	    Software Foundation, Inc., 59 Temple Place, Suite 330,
	    Boston, MA 02111-1307, USA.
To contact the TEI Consortium use the following addresses.
	    For general (non-technical) enquiries: 
		  target="mailto:info@tei-c.org"/>info@tei-c.orgFor membership enquiries: membership@tei-c.orgFor technical enquiries, particularly about the
		Guidelines, DTDs, schemas, or software available from
		the TEI-C: editors@tei-c.orgFor up to date information, consult the TEI web site at http://www.tei-c.org/P5-->
<!--Definitions from module namesdates-->
<!--Set predeclared macros-->
<!--0. predeclared macros-->
<!--1. classes-->
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.persNamePart" combine="choice">
    <notAllowed/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.personal.attributes">
    <ref name="att.personal.attribute.type"/>
    <ref name="att.personal.attribute.full"/>
    <ref name="att.personal.attribute.sort"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.personal.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides more culture- linguistic- or application- specific
information used to categorize this name component.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.personal.attribute.full">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="full" a:defaultValue="yes">
        <a:documentation>indicates whether the name component is given in full, as an
abbreviation or simply as an initial.</a:documentation>
        <choice>
          <value>yes</value>
          <a:documentation>(the name component is spelled out in full.) </a:documentation>
          <value>abb</value>
          <a:documentation>(the name component is given in an
abbreviated form.) </a:documentation>
          <value>init</value>
          <a:documentation>(the name component is indicated only by
one initial.) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.personal.attribute.sort">
    <optional>
      <attribute name="sort">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sort order of the name component in relation
to others within the personal name.</a:documentation>
        <data type="nonNegativeInteger"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <notAllowed/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <notAllowed/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.datePart.attributes">
    <ref name="att.datePart.attribute.value"/>
    <ref name="att.datePart.attribute.type"/>
    <ref name="att.datePart.attribute.full"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.datePart.attribute.value">
    <optional>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of a date or time in a standard form.</a:documentation>
        <choice>
          <ref name="data.temporal"/>
          <ref name="data.duration"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.datePart.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the element in some sense, using any convenient
 classification scheme or typology.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.datePart.attribute.full">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="full" a:defaultValue="yes">
        <a:documentation>indicates whether the date element is given in full, as
		an abbreviation or simply as an initial</a:documentation>
        <choice>
          <value>yes</value>
          <a:documentation>(the temporal expression is spelled out in full.) </a:documentation>
          <value>abb</value>
          <a:documentation>(the temporal expression is given in an abbreviated form.) </a:documentation>
          <value>init</value>
          <a:documentation>(the temporal expression is abbreviated.) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
<!--2. elements-->
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="addName">
    <element name="addName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(additional name) contains an additional name component, such as a nickname, 
epithet, or alias, or any other descriptive phrase used within a
personal name.</a:documentation>
      <ref name="addName.content"/>
      <ref name="addName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="addName.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="addName.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.personal.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.persNamePart" combine="choice">
    <ref name="addName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="bloc">
    <element name="bloc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bloc) contains the name of a geo-political unit consisting of  one or
more nation states or countries.</a:documentation>
      <ref name="bloc.content"/>
      <ref name="bloc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="bloc.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="bloc.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <ref name="att.typed.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="bloc"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="country">
    <element name="country">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(country) contains the name of a geo-political unit, such as a nation,
country, colony, or commonwealth,  larger than or administratively superior
to a region and smaller than a bloc.</a:documentation>
      <ref name="country.content"/>
      <ref name="country.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="country.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="country.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <ref name="att.typed.attributes"/>
    <optional>
      <attribute name="reg">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a regularized form of the country name using a
	name or	code from ISO 3166</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="country"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateStruct">
    <element name="dateStruct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an internally structured representation of a date.</a:documentation>
      <ref name="dateStruct.content"/>
      <ref name="dateStruct.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateStruct.content">
    <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:text/>
        <rng:ref name="model.gLike"/>
        <rng:ref name="model.datePart"/>
        <rng:ref name="model.global"/>
      </rng:choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateStruct.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <optional>
      <attribute name="calendar">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the system or calendar to which the date belongs.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="exact">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the degree of precision to be attributed to the date.</a:documentation>
        <ref name="data.certainty"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.dateLike" combine="choice">
    <ref name="dateStruct"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="dateStruct"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="day">
    <element name="day">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(day) the day component of a structured date.</a:documentation>
      <ref name="day.content"/>
      <ref name="day.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="day.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="day.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="day"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distance">
    <element name="distance">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(distance) that part of a relative temporal or spatial expression which indicates
the distance between the place or time denoted by it and the place or
time referred to within it.</a:documentation>
      <ref name="distance.content"/>
      <ref name="distance.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distance.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distance.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="exact" a:defaultValue="unknown">
        <a:documentation>indicates the degree
of accuracy associated with the
distance.</a:documentation>
        <choice>
          <value>true</value>
          <a:documentation>(The distance is exact.) </a:documentation>
          <value>false</value>
          <a:documentation>(The distance is approximate.) </a:documentation>
          <value>unknown</value>
          <a:documentation>(Accuracy unavailable or unknown.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="distance"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="distance"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="district">
    <element name="district">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of any kind of subdivision of a
settlement,  such as a parish, ward, or other
administrative or geographic unit.</a:documentation>
      <ref name="district.content"/>
      <ref name="district.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="district.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="district.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <ref name="att.typed.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="district"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="forename">
    <element name="forename">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(forename) contains a forename, given or baptismal name.</a:documentation>
      <ref name="forename.content"/>
      <ref name="forename.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="forename.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="forename.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.personal.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.persNamePart" combine="choice">
    <ref name="forename"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="genName">
    <element name="genName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a name component used to distinguish otherwise similar
names on the basis of the relative ages or generations of the persons named.</a:documentation>
      <ref name="genName.content"/>
      <ref name="genName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="genName.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="genName.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.personal.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.persNamePart" combine="choice">
    <ref name="genName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="geog">
    <element name="geog">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographical feature name) contains a common noun identifying some geographical feature 
contained within a geographic name, such as valley,
mount etc.</a:documentation>
      <ref name="geog.content"/>
      <ref name="geog.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="geog.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="geog.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <ref name="att.typed.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="geog"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="geogName">
    <element name="geogName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographical name) a name associated with some geographical feature such as
  Windrush Valley or Mount Sinai.</a:documentation>
      <ref name="geogName.content"/>
      <ref name="geogName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="geogName.content">
    <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:text/>
        <rng:ref name="model.gLike"/>
        <rng:ref name="geog"/>
        <rng:ref name="model.nameLike"/>
        <rng:ref name="model.global"/>
      </rng:choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="geogName.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides more culture- linguistic- or application-
      specific information used to categorize this name
      component.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.nameLike" combine="choice">
    <ref name="geogName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hour">
    <element name="hour">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hour) the hour component of a temporal expression</a:documentation>
      <ref name="hour.content"/>
      <ref name="hour.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hour.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hour.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="hour"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="minute">
    <element name="minute">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(minute) the minute component of a structured time-expression.</a:documentation>
      <ref name="minute.content"/>
      <ref name="minute.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="minute.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="minute.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="minute"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="month">
    <element name="month">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(month) the month component of a structured date.</a:documentation>
      <ref name="month.content"/>
      <ref name="month.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="month.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="month.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="month"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="nameLink">
    <element name="nameLink">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(name link) contains a connecting phrase or link used within a name but not
regarded as part of it, such as  van der or of.</a:documentation>
      <ref name="nameLink.content"/>
      <ref name="nameLink.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="nameLink.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="nameLink.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.personal.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.persNamePart" combine="choice">
    <ref name="nameLink"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="occasion">
    <element name="occasion">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a temporal expression (either a date or a time)
given in terms of a named occasion such as a holiday,
a named time of day, or some notable event.</a:documentation>
      <ref name="occasion.content"/>
      <ref name="occasion.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="occasion.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="occasion.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="occasion"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="offset">
    <element name="offset">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(offset) that  part of a relative temporal or spatial expression
which indicates the direction of the offset between the two place
names, dates, or times involved in the expression. </a:documentation>
      <ref name="offset.content"/>
      <ref name="offset.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="offset.content">
    <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:text/>
        <rng:ref name="model.gLike"/>
        <rng:ref name="model.global"/>
      </rng:choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="offset.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="offset"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="offset"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgDivn">
    <element name="orgDivn">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organizational division) indicates a division, branch or department specified
in an organizational name.</a:documentation>
      <ref name="orgDivn.content"/>
      <ref name="orgDivn.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgDivn.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgDivn.attributes">
    <ref name="att.global.attributes"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">more fully describes the organization division specified in the
name component.
Possible values include branch, department,
section,
division, etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="reg">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a normalized or regularized form of the organizational
division.</a:documentation>
        <text/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgName">
    <element name="orgName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization name) contains an organizational name. </a:documentation>
      <ref name="orgName.content"/>
      <ref name="orgName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgName.content">
    <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:text/>
        <rng:ref name="model.gLike"/>
        <rng:ref name="orgTitle"/>
        <rng:ref name="orgType"/>
        <rng:ref name="orgDivn"/>
        <rng:ref name="model.phrase"/>
        <rng:ref name="model.global"/>
      </rng:choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgName.attributes">
    <ref name="att.global.attributes"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">more fully describes the organization indicated in the
      organizational name. Possible values include voluntary,
      political, governmental, industrial,
      commercial, etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an alternative identifier for the organization
      being named, such as a database record key.</a:documentation>
        <ref name="data.key"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="reg">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a normalized or regularized form of the organization name</a:documentation>
        <text/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.nameLike.agent" combine="choice">
    <ref name="orgName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgTitle">
    <element name="orgTitle">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization title) contains the proper name component of an organizational
name. </a:documentation>
      <ref name="orgTitle.content"/>
      <ref name="orgTitle.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgTitle.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgTitle.attributes">
    <ref name="att.global.attributes"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">more fully describes the organization title. Possible values
include formal,
colloquial, acronym, etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="reg">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a normalized or regularized form of the organization title.</a:documentation>
        <text/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgType">
    <element name="orgType">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization type) indicates a part of the organization name which contains
information about the organization's structure or function.</a:documentation>
      <ref name="orgType.content"/>
      <ref name="orgType.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgType.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orgType.attributes">
    <ref name="att.global.attributes"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">more fully describes the organization type specified in the name
component.  Possible values include function, structure,
etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="reg">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a normalized or regularized form of the organization type</a:documentation>
        <text/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="persName">
    <element name="persName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal name) contains a proper noun or proper-noun phrase referring to a
  person, possibly including any or all of the person's forenames,
  surnames, honorifics, added names, etc.</a:documentation>
      <ref name="persName.content"/>
      <ref name="persName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="persName.content">
    <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:text/>
        <rng:ref name="model.gLike"/>
        <rng:ref name="model.persNamePart"/>
        <rng:ref name="model.phrase"/>
        <rng:ref name="model.global"/>
      </rng:choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="persName.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the personal name more fully using an open-ended
      list of words or phrases which help to indicate the function,
      e.g. married name, maiden name, pen name,
      religious name, etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.personPart" combine="choice">
    <ref name="persName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.nameLike.agent" combine="choice">
    <ref name="persName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="placeName">
    <element name="placeName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(place name) contains an absolute or relative place name. </a:documentation>
      <ref name="placeName.content"/>
      <ref name="placeName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="placeName.content">
    <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:text/>
        <rng:ref name="model.gLike"/>
        <rng:ref name="model.placeNamePart"/>
        <rng:ref name="model.phrase"/>
        <rng:ref name="model.global"/>
      </rng:choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="placeName.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.nameLike" combine="choice">
    <ref name="placeName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="region">
    <element name="region">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(region) contains the name of an administrative unit such as a state,
province, or county, larger than a settlement, but smaller than a country.</a:documentation>
      <ref name="region.content"/>
      <ref name="region.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="region.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="region.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <ref name="att.typed.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="region"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="roleName">
    <element name="roleName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(roleName) contains a name component which indicates that the referent has a
particular role or position in society, such as an official title or
rank.</a:documentation>
      <ref name="roleName.content"/>
      <ref name="roleName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="roleName.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="roleName.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.personal.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.persNamePart" combine="choice">
    <ref name="roleName"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="second">
    <element name="second">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(second) the second component of a structured time-expression.</a:documentation>
      <ref name="second.content"/>
      <ref name="second.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="second.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="second.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="second"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="settlement">
    <element name="settlement">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a settlement such as a city, town, or
village identified as a single geo-political or
administrative unit.</a:documentation>
      <ref name="settlement.content"/>
      <ref name="settlement.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="settlement.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="settlement.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.naming.attributes"/>
    <ref name="att.typed.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.placeNamePart" combine="choice">
    <ref name="settlement"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="surname">
    <element name="surname">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(surname) contains a family (inherited) name, as opposed to a given,
baptismal, or nick name.</a:documentation>
      <ref name="surname.content"/>
      <ref name="surname.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="surname.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="surname.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.personal.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.persNamePart" combine="choice">
    <ref name="surname"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeStruct">
    <element name="timeStruct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an internally structured representation for a time of day.</a:documentation>
      <ref name="timeStruct.content"/>
      <ref name="timeStruct.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeStruct.content">
    <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:text/>
        <rng:ref name="model.gLike"/>
        <rng:ref name="model.datePart"/>
        <rng:ref name="model.global"/>
      </rng:choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeStruct.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <optional>
      <attribute name="zone">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates time zone or place name wherever this is necessary to
		evaluate a temporal expression.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.timeLike" combine="choice">
    <ref name="timeStruct"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="timeStruct"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="week">
    <element name="week">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(week) the week component of a structured date.</a:documentation>
      <ref name="week.content"/>
      <ref name="week.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="week.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="week.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="week"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="year">
    <element name="year">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(year) the year component of a date.</a:documentation>
      <ref name="year.content"/>
      <ref name="year.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="year.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="year.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.datePart.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.datePart" combine="choice">
    <ref name="year"/>
  </define>
<!--3. macros-->
</rng:grammar>
