teidata.version.calendar

teidata.version.calendar defines the range of values which may be used as a calendar-based version number per [ID BIB_calVer in TEI Guidelines].
Module tei — The TEI Infrastructure
Used by
Content model
<content>
 <alternate>
  <dataRef name="string"
   restriction="[0-9]{4}(-[0-9]{2}(-[0-9]{2}(T[0-9]{2}(:[0-9]{2}([0-9]{2}(\.([1-9][0-9]*))?)?)?)?)?)?"/>

  <dataRef name="string"
   restriction="[1-9][0-9][0-9]?[0-9]?\.(0[1-9]|1[0-2])(\.[1-9][0-9]*)?"/>

  <dataRef name="string"
   restriction="[1-9][0-9][0-9]?[0-9]?\.(1[012]?|[2-9])(\.[1-9][0-9]*)?"/>

  <dataRef name="string"
   restriction="[0-9]{4}\.0[1-9]|1[0-2]\.0[1-9]|[12][0-9]|3[01]"/>

  <dataRef name="string"
   restriction="[0-9]{4}[a-z]+"/>

  <dataRef name="string"
   restriction="[1-9][0-9][0-9]?[0-9]?\.(1[012]?|2-9)\.([1-9][0-9]*).([1-9][0-9]*)"/>

  <dataRef name="string"
   restriction="[1-9][0-9][0-9]?[0-9]?\.([1-9][0-9]*).([1-9][0-9]*)"/>

  <dataRef name="string"
   restriction="[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])"/>

  <dataRef name="string"
   restriction="[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])_([1-9][0-9]*)"/>

  <dataRef name="string"
   restriction="[1-9][0-9][0-9]?[0-9]?\.(1[012]?|2-9)"/>

  <dataRef name="string"
   restriction="[0-9]{4}\.(0[1-9]|1[0-2])"/>

  <dataRef name="string"
   restriction="[1-9][0-9][0-9]?[0-9]?\.([1-9][0-9]*)\.([1-9][0-9]*)"/>

  <dataRef name="string"
   restriction="[0-9]{4}\.([1-9][0-9]*)\.([1-9][0-9]*)"/>

  <dataRef name="string"
   restriction="[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])"/>

  <dataRef name="string"
   restriction="[0-9]{4}\.([1-9][0-9]*)\.([1-9][0-9]*)"/>

 </alternate>
</content>
Declaration
<rng:define name="teidata.version.calendar">
 <rng:choice>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}(-[0-9]{2}(-[0-9]{2}(T[0-9]{2}(:[0-9]{2}([0-9]{2}(\.([1-9][0-9]*))?)?)?)?)?)?</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[1-9][0-9][0-9]?[0-9]?\.(0[1-9]|1[0-2])(\.[1-9][0-9]*)?</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[1-9][0-9][0-9]?[0-9]?\.(1[012]?|[2-9])(\.[1-9][0-9]*)?</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}\.0[1-9]|1[0-2]\.0[1-9]|[12][0-9]|3[01]</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}[a-z]+</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[1-9][0-9][0-9]?[0-9]?\.(1[012]?|2-9)\.([1-9][0-9]*).([1-9][0-9]*)</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[1-9][0-9][0-9]?[0-9]?\.([1-9][0-9]*).([1-9][0-9]*)</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])_([1-9][0-9]*)</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[1-9][0-9][0-9]?[0-9]?\.(1[012]?|2-9)</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}\.(0[1-9]|1[0-2])</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[1-9][0-9][0-9]?[0-9]?\.([1-9][0-9]*)\.([1-9][0-9]*)</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}\.([1-9][0-9]*)\.([1-9][0-9]*)</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])</rng:param>
  </rng:data>
  <rng:data type="string">
   <rng:param name="pattern">[0-9]{4}\.([1-9][0-9]*)\.([1-9][0-9]*)</rng:param>
  </rng:data>
 </rng:choice>
</rng:define>
teidata.version.calendar =
   string
   {
      pattern = "[0-9]{4}(-[0-9]{2}(-[0-9]{2}(T[0-9]{2}(:[0-9]{2}([0-9]{2}(\.([1-9][0-9]*))?)?)?)?)?)?"
   }
 | string
   {
      pattern = "[1-9][0-9][0-9]?[0-9]?\.(0[1-9]|1[0-2])(\.[1-9][0-9]*)?"
   }
 | string
   {
      pattern = "[1-9][0-9][0-9]?[0-9]?\.(1[012]?|[2-9])(\.[1-9][0-9]*)?"
   }
 | string { pattern = "[0-9]{4}\.0[1-9]|1[0-2]\.0[1-9]|[12][0-9]|3[01]" }
 | string { pattern = "[0-9]{4}[a-z]+" }
 | string
   {
      pattern = "[1-9][0-9][0-9]?[0-9]?\.(1[012]?|2-9)\.([1-9][0-9]*).([1-9][0-9]*)"
   }
 | string { pattern = "[1-9][0-9][0-9]?[0-9]?\.([1-9][0-9]*).([1-9][0-9]*)" }
 | string { pattern = "[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])" }
 | string
   {
      pattern = "[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])_([1-9][0-9]*)"
   }
 | string { pattern = "[1-9][0-9][0-9]?[0-9]?\.(1[012]?|2-9)" }
 | string { pattern = "[0-9]{4}\.(0[1-9]|1[0-2])" }
 | string { pattern = "[1-9][0-9][0-9]?[0-9]?\.([1-9][0-9]*)\.([1-9][0-9]*)" }
 | string { pattern = "[0-9]{4}\.([1-9][0-9]*)\.([1-9][0-9]*)" }
 | string { pattern = "[0-9]{4}\.(1[012]?|2-9)\.(1-9|[12][0-9]|3[01])" }
 | string { pattern = "[0-9]{4}\.([1-9][0-9]*)\.([1-9][0-9]*)" }
Note

Values of this datatype should follow the rules established by the Calendar Versioning convention, as of 2024-05-21.