<unitDef>

<unitDef> (unit definition) contains descriptive information related to a specific unit of measurement. [2.3.9 The Unit Declaration]
Module header — The TEI Header
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>
Contained by
header: unitDecl
May contain
Example
<unitDecl>
 <unitDef xml:id="pechystype="length">
  <label>πῆχυς</label>
  <placeName ref="#athens"/>
  <conversion fromUnit="#daktylos"
   toUnit="#pechysformula="$fromUnit div 24"/>

  <desc>Equivalent to a cubit or 24 daktyloi.</desc>
 </unitDef>
 <unitDef xml:id="daktylostype="length">
  <label>δάκτυλος</label>
  <placeName ref="#athens"/>
  <desc>A basic unit of length equivalent to one finger (or the size of a thumb) in ancient Greece.</desc>
 </unitDef>
</unitDecl>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">

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

  <classRef key="model.placeNamePart"
   minOccurs="0"/>

  <elementRef key="conversion"
   minOccurs="0"/>

  <elementRef key="unitminOccurs="0"/>
 </alternate>
</content>
Schema Declaration
<rng:element name="unitDef">
 <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.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:oneOrMore>
  <rng:choice>
   <rng:ref name="model.labelLike"/>
   <rng:optional>
    <rng:ref name="model.placeNamePart"/>
   </rng:optional>
   <rng:optional>
    <rng:ref name="conversion"/>
   </rng:optional>
   <rng:optional>
    <rng:ref name="unit"/>
   </rng:optional>
  </rng:choice>
 </rng:oneOrMore>
</rng:element>
element unitDef
{
   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.canonical.attributes,
   att.typed.attributes,
   attribute calendar { list { teidata.pointer+ } }?,
   ( model.labelLike | model.placeNamePart? | conversion? | unit? )+
}