<terrain>

<terrain> (terrain) contains information about the physical terrain of a place. [13.3.4.3 States, Traits, and Events]
Module namesdates — Names, Dates, People, and Places
Attributes
calendar⚓︎ indicates one or more systems or calendars to which the date represented by the content of this element belongs.
Deprecated This feature will be withdrawn after 2024-11-11
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Schematron

<sch:rule context="tei:*[@calendar]">
<sch:assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
systems or calendars to which the date represented by the content of this element belongs,
but this <sch:name/> element has no textual content.</sch:assert>
</sch:rule>
Member of
Contained by
analysis: cl phr s span
figures: cell figDesc
iso-fs: fDescr fsDescr
linking: ab seg
spoken: u writing
tagdocs: eg valDesc
verse: metSym rhyme
May contain
certainty: precision
header: biblFull
linking: ab
msdescription: msDesc
namesdates: terrain
Example
<place xml:id="KERG">
 <placeName>Kerguelen Islands</placeName>
<!-- ... -->
 <terrain>
  <desc>antarctic tundra</desc>
 </terrain>
<!-- ... -->
</place>
Content model
<content>
 <sequence>
  <elementRef key="precisionminOccurs="0"
   maxOccurs="unbounded"/>

  <classRef key="model.headLike"
   minOccurs="0maxOccurs="unbounded"/>

  <alternate>
   <classRef key="model.pLike"
    minOccurs="1maxOccurs="unbounded"/>

   <classRef key="model.labelLike"
    minOccurs="1maxOccurs="unbounded"/>

  </alternate>
  <alternate minOccurs="0"
   maxOccurs="unbounded">

   <classRef key="model.noteLike"/>
   <classRef key="model.biblLike"/>
  </alternate>
  <elementRef key="terrainminOccurs="0"
   maxOccurs="unbounded"/>

 </sequence>
</content>
Schema Declaration
<rng:element name="terrain">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:ref name="att.datable.attributes"/>
 <rng:ref name="att.datable.w3c.attributes"/>
 <rng:ref name="att.datable.iso.attributes"/>
 <rng:ref name="att.datable.custom.attributes"/>
 <rng:ref name="att.editLike.attributes"/>
 <rng:ref name="att.naming.attributes"/>
 <rng:ref name="att.canonical.attributes"/>
 <rng:ref name="att.typed.attributes"/>
 <rng:optional>
  <rng:attribute name="calendar">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="teidata.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:ref name="precision"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="model.headLike"/>
  </rng:zeroOrMore>
  <rng:choice>
   <rng:oneOrMore>
    <rng:ref name="model.pLike"/>
   </rng:oneOrMore>
   <rng:oneOrMore>
    <rng:ref name="model.labelLike"/>
   </rng:oneOrMore>
  </rng:choice>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="model.noteLike"/>
    <rng:ref name="model.biblLike"/>
   </rng:choice>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="terrain"/>
  </rng:zeroOrMore>
 </rng:group>
</rng:element>
element terrain
{
   att.global.attributes,
   att.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   att.datable.attributes,
   att.datable.w3c.attributes,
   att.datable.iso.attributes,
   att.datable.custom.attributes,
   att.editLike.attributes,
   att.naming.attributes,
   att.canonical.attributes,
   att.typed.attributes,
   attribute calendar { list { teidata.pointer+ } }?,
   (
      precision*,
      model.headLike*,
      ( model.pLike+ | model.labelLike+ ),
      ( model.noteLike | model.biblLike )*,
      terrain*
   )
}