<application>

<application> provides information about an application which has acted upon the document. [2.3.11 The Application Information Element]
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>
ident⚓︎ supplies an identifier for the application, independent of its version number or display name.
Status Required
Datatype teidata.name
version⚓︎ supplies a version number for the application, independent of its identifier or display name.
Status Required
Datatype teidata.versionNumber
Member of
Contained by
header: appInfo
May contain
linking: ab
tagdocs: listRef
Example
<appInfo>
 <application version="1.5"
  ident="ImageMarkupTool1notAfter="2006-06-01">

  <label>Image Markup Tool</label>
  <ptr target="#P1"/>
  <ptr target="#P2"/>
 </application>
</appInfo>

This example shows an appInfo element documenting the fact that version 1.5 of the Image Markup Tool1 application has an interest in two parts of a document which was last saved on June 6 2006. The parts concerned are accessible at the URLs given as target for the two ptr elements.

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

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

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

  </alternate>
 </sequence>
</content>
Schema Declaration
<rng:element name="application">
 <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.typed.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:optional>
  <rng:attribute name="calendar">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="teidata.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:attribute name="ident">
  <rng:ref name="teidata.name"/>
 </rng:attribute>
 <rng:attribute name="version">
  <rng:ref name="teidata.versionNumber"/>
 </rng:attribute>
 <rng:group>
  <rng:oneOrMore>
   <rng:ref name="model.labelLike"/>
  </rng:oneOrMore>
  <rng:choice>
   <rng:zeroOrMore>
    <rng:ref name="model.ptrLike"/>
   </rng:zeroOrMore>
   <rng:zeroOrMore>
    <rng:ref name="model.pLike"/>
   </rng:zeroOrMore>
  </rng:choice>
 </rng:group>
</rng:element>
element application
{
   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.typed.attributes,
   att.datable.attributes,
   att.datable.w3c.attributes,
   att.datable.iso.attributes,
   att.datable.custom.attributes,
   attribute calendar { list { teidata.pointer+ } }?,
   attribute ident { teidata.name },
   attribute version { teidata.versionNumber },
   ( model.labelLike+, ( model.ptrLike* | model.pLike* ) )
}