teidata.version.semantic

teidata.version.semantic defines the range of values which may be used as a semantic version number per Semantic Versioning 2.0.0 (2023).
Module tei — The TEI Infrastructure
Used by
Content model
<content>
 <dataRef name="token"
  restriction="(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-((0|[1-9]\d*|\d*[\-a-zA-Z][\-0-9a-zA-Z]*)(\.(0|[1-9]\d*|\d*[\-a-zA-Z][\-0-9a-zA-Z]*))*))?(\+([\-0-9a-zA-Z]+(\.[\-0-9a-zA-Z]+)*))?"/>

</content>
Declaration
<rng:define name="teidata.version.semantic">
 <rng:data type="token">
  <rng:param name="pattern">(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-((0|[1-9]\d*|\d*[\-a-zA-Z][\-0-9a-zA-Z]*)(\.(0|[1-9]\d*|\d*[\-a-zA-Z][\-0-9a-zA-Z]*))*))?(\+([\-0-9a-zA-Z]+(\.[\-0-9a-zA-Z]+)*))?</rng:param>
 </rng:data>
</rng:define>
teidata.version.semantic =
   token
   {
      pattern = "(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-((0|[1-9]\d*|\d*[\-a-zA-Z][\-0-9a-zA-Z]*)(\.(0|[1-9]\d*|\d*[\-a-zA-Z][\-0-9a-zA-Z]*))*))?(\+([\-0-9a-zA-Z]+(\.[\-0-9a-zA-Z]+)*))?"
   }
Note

Values of this datatype should follow the rules established by the Semantic Versioning specification, version 2.0.0.