Example: <elementSpec> (element specification)

These search results reproduce every example of the use of <elementSpec> in the Guidelines, including all localised and translated versions. In some cases, the examples have been drawn from discussion of other elements in the Guidelines and illustrating the use of <elementSpec> is not the main focus of the passage in question. In other cases, examples may be direct translations of each other, and hence identical from the perspective of their encoding.

22 Documentation Elements


22.2 Modules and Schemas

<p>This module contains three red elements: <specGrp xml:id="RED">
  <elementSpec ident="beetroot">
<!-- ... -->
  </elementSpec>
  <elementSpec ident="east">
<!-- ... -->
  </elementSpec>
  <elementSpec ident="rose">
<!-- ... -->
  </elementSpec>
 </specGrp> and two blue ones: <specGrp xml:id="BLUE">
  <elementSpec ident="sky">
<!-- ... -->
  </elementSpec>
  <elementSpec ident="bayou">
<!-- ... -->
  </elementSpec>
 </specGrp>
</p>

<specGrp>

<specGrp xml:id="xDAILC">
 <elementSpec ident="s">
<!-- ... -->
 </elementSpec>
 <elementSpec ident="cl">
<!-- ... -->
 </elementSpec>
 <elementSpec ident="w">
<!-- ... -->
 </elementSpec>
 <elementSpec ident="m">
<!-- ... -->
 </elementSpec>
 <elementSpec ident="c">
<!-- ... -->
 </elementSpec>
</specGrp>

<specGrp>

<specGrp xml:id="fr_xDAILC">
 <elementSpec ident="s"/>
 <elementSpec ident="cl"/>
 <elementSpec ident="w"/>
 <elementSpec ident="m"/>
 <elementSpec ident="c"/>
</specGrp>

<elementSpec>

<elementSpec module="tagdocsident="code">
 <gloss/>
 <desc>contains literal code</desc>
 <classes>
  <memberOf key="model.emphLike"/>
 </classes>
 <content>
  <textNode/>
 </content>
 <attList>
  <attDef ident="typeusage="opt">
   <desc>the language of the code</desc>
   <datatype>
    <dataRef key="teidata.enumerated"/>
   </datatype>
  </attDef>
 </attList>
</elementSpec>

<elementSpec>

<elementSpec module="tagdocs"
 xml:id="fr_Codeident="code">

 <desc>contient le code littéral</desc>
 <classes>
  <memberOf key="model.emphLike"/>
 </classes>
 <content>
  <textNode/>
 </content>
 <attList>
  <attDef ident="typeusage="opt">
   <desc>la langue du code</desc>
   <datatype>
    <dataRef key="teidata.enumerated"/>
   </datatype>
  </attDef>
 </attList>
</elementSpec>

<elementSpec>

<elementSpec module="tagdocsident="code">
 <gloss/>
 <desc>包含文字規則</desc>
 <classes>
  <memberOf key="model.emphLike"/>
 </classes>
 <content>
  <textNode/>
 </content>
 <attList>
  <attDef ident="typeusage="opt">
   <desc>規則的表達方式</desc>
   <datatype>
    <dataRef key="teidata.enumerated"/>
   </datatype>
  </attDef>
 </attList>
</elementSpec>

22.4.1 Description of Components

<elementSpec module="linkingident="ab">
 <gloss>anonymous block</gloss>
<!--... -->
</elementSpec>

22.4.1 Description of Components

<elementSpec module="coreident="foreign">
<!--... -->
 <desc xml:lang="en"
  versionDate="2007-07-21">
identifies a word or phrase as belonging to some
   language other than that of the surrounding text. </desc>
<!--... -->
</elementSpec>

22.4.1 Description of Components

<elementSpec module="namesdates"
 ident="death">

 <equiv name="E69"
  uri="http://cidoc.ics.forth.gr/"/>

 <desc>
<!--... -->
 </desc>
</elementSpec>

22.4.1 Description of Components

<elementSpec ident="bo"
 ns="http://www.example.com/ns/nonTEI">

 <equiv filter="http://www.example.com/equiv-filter.xsl"
  mimeType="text/xslname="bold"/>

 <gloss>bold</gloss>
 <desc>contains a sequence of characters rendered in a bold face.</desc>
<!-- ... -->
</elementSpec>

22.4.1 Description of Components

<elementSpec ident="abbrmode="change">
 <altIdent xml:lang="de">Abkürzung</altIdent>
<!--...-->
</elementSpec>

22.4.1 Description of Components

<elementSpec ident="graphicmode="change">
 <attList>
  <attDef mode="changeident="url">
   <altIdent>href</altIdent>
  </attDef>
<!-- ... -->
 </attList>
</elementSpec>

22.4.1 Description of Components

<elementSpec module="coreident="foreign">
<!--... -->
 <remarks>
  <p>This element is intended for use only where no other element is available to mark the phrase
     or words concerned. The global <att>xml:lang</att> attribute should be used in preference to
     this element where it is intended to mark the language of the whole of some text element.</p>
  <p>The <gi>distinct</gi> element may be used to identify phrases belonging to sublanguages or
     registers not generally regarded as true languages.</p>
 </remarks>
<!--... -->
</elementSpec>

<equiv>

<elementSpec ident="himode="change">
 <equiv name="BOLD"/>
 <desc>bold typography</desc>
 <attList>
  <attDef ident="rendmode="change">
   <valList>
    <valItem ident="bold"/>
   </valList>
  </attDef>
 </attList>
</elementSpec>
<elementSpec ident="bomode="add">
 <equiv name="BOLD"
  uri="http://www.example.com/typesetting/bold"/>

</elementSpec>

<equiv>

<elementSpec ident="himode="change">
 <equiv name="BOLD"/>
 <desc>caractères gras</desc>
 <attList>
  <attDef ident="rendmode="change">
   <valList>
    <valItem ident="bold"/>
   </valList>
  </attDef>
 </attList>
</elementSpec>
<elementSpec ident="bomode="add">
 <equiv name="BOLD"
  uri="http://www.example.com/typesetting/bold"/>

</elementSpec>

<equiv>

<elementSpec ident="himode="change">
 <equiv name="BOLD"/>
 <desc>粗體印刷</desc>
 <attList>
  <attDef ident="rendmode="change">
   <valList>
    <valItem ident="bold"/>
   </valList>
  </attDef>
 </attList>
</elementSpec>
<elementSpec ident="bomode="add">
 <equiv name="BOLD"
  uri="http://www.example.com/typesetting/bold"/>

</elementSpec>

22.5.5.3 CSS Class

<elementSpec ident="listmode="change">
 <model predicate="labelbehaviour="list"
  cssClass="labeled-list">

<!-- ... -->
 </model>
</elementSpec>

22.5.5.3 CSS Class

<elementSpec mode="changeident="table">
<!-- Preserve original rendition for tables which contain @rendition hints -->
 <model predicate=".//row/@rendition or .//cell/@rendition"
  behaviour="tableuseSourceRendition="true"/>

<!-- Use bootstrap for default table styling -->
 <model behaviour="table"
  useSourceRendition="true"
  cssClass="table table-hover table-bordered"/>

</elementSpec>

22.5.5.4 Model Contexts and Outputs

<elementSpec ident="quotemode="change">
 <model predicate="ancestor::p"
  behaviour="inline">

  <outputRendition>font-style: italic;</outputRendition>
 </model>
 <model behaviour="block">
  <outputRendition>left-margin: 2em;</outputRendition>
 </model>
</elementSpec>

22.5.5.5 Behaviours and their parameters

<elementSpec ident="refmode="add">
 <model behaviour="link">
  <param name="urivalue="@target"/>
  <param name="contentvalue="."/>
 </model>
</elementSpec>

22.5.5.5 Behaviours and their parameters

<elementSpec ident="choicemode="change">
 <model predicate="sic and corr"
  behaviour="alternate">

  <param name="defaultvalue="corr"/>
  <param name="alternatevalue="sic"/>
 </model>
</elementSpec>

22.5.5.5 Behaviours and their parameters

<elementSpec ident="choicemode="change">
 <model predicate="sic and corr"
  behaviour="alternate">

  <param name="default"
   value="corr[@cert='high']"/>

  <param name="alternatevalue="sic"/>
 </model>
</elementSpec>

22.5.5.5 Behaviours and their parameters

<elementSpec ident="choicemode="change">
 <modelGrp output="web">
  <model predicate="sic and corr"
   behaviour="alternate">

   <param name="default"
    value="corr[@cert='high']"/>

   <param name="alternatevalue="sic"/>
  </model>
  <model predicate="abbr and expan"
   behaviour="alternate">

   <param name="defaultvalue="expan[1]"/>
   <param name="alternatevalue="abbr"/>
  </model>
  <model predicate="orig and reg"
   behaviour="alternate">

   <param name="defaultvalue="reg"/>
   <param name="alternatevalue="orig"/>
  </model>
 </modelGrp>
</elementSpec>

22.5.5.6 Outputs

<elementSpec ident="datemode="change">
 <modelGrp output="print">
  <model predicate="text()"
   behaviour="inline"/>

  <model predicate="@when and not(text())"
   behaviour="inline">

   <param name="contentvalue="@when"/>
  </model>
 </modelGrp>
 <model output="webpredicate="@when"
  behaviour="alternate">

  <param name="defaultvalue="."/>
  <param name="alternatevalue="@when"/>
 </model>
</elementSpec>

22.5.5.7 Model sequence

<elementSpec ident="notemode="change">
 <modelSequence output="print">
  <model behaviour="inline">
   <param name="contentvalue="@n"/>
  </model>
  <model behaviour="footnote">
   <param name="placevalue="'foot'"/>
  </model>
 </modelSequence>
</elementSpec>

<model>

<elementSpec mode="changeident="quote">
 <model predicate="ancestor::p"
  behaviour="inline">

  <desc versionDate="2015-08-21"
   xml:lang="en">
If it's inside a paragraph then it's
     inline</desc>
 </model>
 <model predicate="not(ancestor::p)"
  behaviour="block">

  <desc versionDate="2015-08-21"
   xml:lang="en">
If it's not inside a paragraph then it is
     block level</desc>
 </model>
</elementSpec>

<model>

<elementSpec mode="changeident="date">
 <model output="printpredicate="text()"
  behaviour="inline"/>

 <model output="print"
  predicate="@when and not(text())behaviour="inline">

  <param name="contentvalue="@when"/>
 </model>
 <model predicate="@whenoutput="web"
  behaviour="alternate">

  <param name="alternatevalue="@when"/>
 </model>
</elementSpec>

<model>

<elementSpec mode="changeident="choice">
 <model predicate="sic and corr"
  behaviour="alternate">

  <param name="defaultvalue="corr"/>
  <param name="alternatevalue="sic"/>
 </model>
 <model predicate="abbr and expan"
  behaviour="alternate">

  <param name="defaultvalue="expan"/>
  <param name="alternatevalue="abbr"/>
 </model>
 <model predicate="orig and reg"
  behaviour="alternate">

  <param name="defaultvalue="reg"/>
  <param name="alternatevalue="orig"/>
 </model>
</elementSpec>

<modelGrp>

<elementSpec mode="changeident="abbr">
 <modelGrp output="web">
  <model predicate="parent::choice"
   behaviour="omit"/>

  <model predicate="ancestor::front"
   behaviour="inline">

   <outputRendition>font-style:italic; </outputRendition>
  </model>
  <model predicate="not(parent::choice)"
   behaviour="inline">

   <outputRendition scope="before">content: ' ('</outputRendition>
   <outputRendition scope="after">content: ')'</outputRendition>
  </model>
 </modelGrp>
 <modelGrp output="print">
  <model predicate="parent::choice"
   behaviour="omit"/>

  <model predicate="not(parent::choice)"
   behaviour="note">

   <param name="placevalue="'foot'"/>
  </model>
 </modelGrp>
</elementSpec>

<param>

<elementSpec ident="choice">
 <model predicate="sic and corr"
  behaviour="alternate">

  <param name="defaultvalue="corr"/>
  <param name="alternatevalue="sic"/>
 </model>
</elementSpec>

<param>

<elementSpec ident="graphicmode="change">
 <model behaviour="graphic">
  <param name="urlvalue="@url"/>
  <param name="widthvalue="@width"/>
  <param name="widthvalue="@height"/>
 </model>
</elementSpec>

22.8.1 TEI customizations

<schemaSpec ident="example">
 <moduleRef key="header"/>
 <moduleRef key="verse"/>
 <elementSpec ident="soundClip">
  <classes>
   <memberOf key="model.pPart.data"/>
  </classes>
 </elementSpec>
</schemaSpec>

22.8.1 TEI customizations

<schemaSpec ident="example">
 <moduleRef key="header"/>
 <moduleRef key="verse"/>
 <elementSpec ident="soundClip">
  <classes>
   <memberOf key="model.pPart.data"/>
  </classes>
  <attList>
   <attRef class="att.global.source"
    name="source"/>

  </attList>
 </elementSpec>
</schemaSpec>

22.8.1 TEI customizations

<schemaSpec ident="example">
 <moduleRef key="header"/>
 <moduleRef key="teistructure"/>
 <elementSpec ident="headmode="change">
  <content>
   <macroRef key="macro.xtext"/>
  </content>
 </elementSpec>
</schemaSpec>

7 Performance Texts


7.2.4 Stage Directions

<schemaSpec ident="myDrama">
 <moduleRef key="core"/>
 <moduleRef key="tei"/>
 <moduleRef key="structure"/>
 <moduleRef key="header"/>
 <moduleRef key="drama"/>
 <elementSpec ident="stagemode="change">
  <attList>
   <attDef ident="typemode="replace">
    <valList type="closed">
     <valItem ident="setting">
      <desc>describes the set</desc>
     </valItem>
     <valItem ident="blocking">
      <desc>describes movement across stage, position, etc.</desc>
     </valItem>
     <valItem ident="business">
      <desc>describes movement other than blocking</desc>
     </valItem>
     <valItem ident="delivery">
      <desc>describes how the line is said</desc>
     </valItem>
     <valItem ident="motivation">
      <desc>describes character's emotional state or through line</desc>
     </valItem>
    </valList>
   </attDef>
  </attList>
 </elementSpec>
</schemaSpec>

13 Names, Dates, People, and Places


13.3.2 The Person Element

<elementSpec ident="person"
 module="namesdatesmode="change">

 <attList>
  <attDef mode="replaceident="age">
   <datatype>
    <dataRef key="teidata.enumerated"/>
   </datatype>
   <valList type="closed">
    <valItem ident="child">
     <desc>less than 18 years of age</desc>
    </valItem>
    <valItem ident="adult">
     <desc>18 to 65 years of age</desc>
    </valItem>
    <valItem ident="retired">
     <desc>over 65 years of age</desc>
    </valItem>
   </valList>
  </attDef>
 </attList>
</elementSpec>

17 Simple Analytic Mechanisms


att.referring

<elementSpec ident="segmodule="linking"
 mode="change">

 <classes mode="change">
  <memberOf key="att.referring"/>
 </classes>
</elementSpec>
<classSpec ident="att.referring"
 mode="changetype="attsmodule="tei">

 <constraintSpec scheme="schematron"
  ident="default_modemode="replace">

  <constraint>
   <sch:rule context="*[local-name() = ('span','seg')][not(@referringMode) and @from and @to]">
    <sch:assert test="@from castable as xsd:nonNegativeInteger">The
         default form of @from is a non-negative integer</sch:assert>
    <sch:assert test="@to castable as xsd:nonNegativeInteger">The
         default form of @to is a non-negative integer</sch:assert>
   </sch:rule>
  </constraint>
 </constraintSpec>
 <attList>
  <attDef ident="referringModeusage="opt"
   mode="change">

   <defaultVal>icp</defaultVal>
  </attDef>
 </attList>
</classSpec>

23 Using the TEI


23.3.1.1 Deletion of Elements

<elementSpec ident="notemode="delete"/>

23.3.1.1 Deletion of Elements

<schemaSpec ident="mySchema">
 <moduleRef key="core"/>
<!-- other modules used by this customization -->
 <elementSpec ident="notemode="delete"/>
</schemaSpec>

23.3.1.2 Renaming of Elements

<elementSpec ident="notemodule="core"
 mode="change">

 <altIdent>annotation</altIdent>
</elementSpec>

23.3.1.3 Modification of Content Models

<elementSpec ident="termmodule="core"
 mode="change">

 <content>
  <textNode/>
 </content>
</elementSpec>

23.3.1.4 Modification of Attribute and Attribute Value Lists

<elementSpec ident="egmodule="tagdocs"
 mode="change">

 <attList>
  <attDef ident="validmode="add"
   ns="http://www.example.com/ns/nonTEI">

   <desc>indicates whether or not the example is considered to be valid</desc>
   <datatype>
    <dataRef key="teidata.truthValue"/>
   </datatype>
  </attDef>
 </attList>
</elementSpec>

23.3.1.4 Modification of Attribute and Attribute Value Lists

<elementSpec ident="egmodule="tagdocs"
 mode="change">

 <attList>
  <attDef ident="valid"
   ns="http://www.example.com/ns/nonTEImode="add">

   <desc>indicates the validity of the example by supplying one of three predefined
       codes for it.</desc>
   <datatype>
    <dataRef key="teidata.enumerated"/>
   </datatype>
   <valList type="closed">
    <valItem ident="A">
     <desc>validity is of the highest class</desc>
    </valItem>
    <valItem ident="B">
     <desc>validity is of the second highest class</desc>
    </valItem>
    <valItem ident="C">
     <desc>validity is of the lowest class</desc>
    </valItem>
   </valList>
  </attDef>
 </attList>
</elementSpec>

23.3.1.5 Class Modification

<elementSpec ident="egmodule="tagdocs"
 mode="changens="http://www.example.com/ns/nonTEI">

 <classes mode="change">
  <memberOf key="att.typed"/>
 </classes>
</elementSpec>

23.3.1.5 Class Modification

<elementSpec ident="termmodule="core"
 mode="change">

 <classes mode="change">
  <memberOf key="att.declaring"
   mode="delete"/>

 </classes>
</elementSpec>

23.3.1.5 Class Modification

<elementSpec ident="termmodule="core"
 mode="changens="http://www.example.com/ns/nonTEI">

 <classes mode="replace">
  <memberOf key="att.interpLike"/>
 </classes>
</elementSpec>

23.3.1.6 Addition of New Elements

<elementSpec ident="myBiblmode="add"
 ns="http://www.example.com/ns/nonTEI">

 <classes>
  <memberOf key="model.biblLike"/>
 </classes>
<!-- other parts of the new declaration here -->
</elementSpec>

23.3.2 Modification and Namespaces

<elementSpec ident="pmode="change">
 <attList>
  <attDef ident="topicmode="add"
   ns="http://www.example.org/ns/nonTEI">

   <desc>indicates the topic of a TEI paragraph</desc>
   <datatype>
<!-- ... -->
   </datatype>
  </attDef>
 </attList>
</elementSpec>

23.5.1 Making a Unified ODD

<elementSpec ident="p">
 <classes>
  <memberOf key="att.typed"/>
 </classes>
 <content>
<!--…-->
 </content>
</elementSpec>

23.5.1 Making a Unified ODD

<elementSpec ident="p">
 <classes>
  <memberOf key="att.typed"/>
 </classes>
 <content>
<!--… -->
 </content>
 <attList>
  <attDef ident="subtypemode="delete"/>
 </attList>
</elementSpec>

23.5.1 Making a Unified ODD

<elementSpec ident="p">
 <desc>marks paragraphs in prose.</desc>
<!--…-->
</elementSpec>

23.5.1 Making a Unified ODD

<elementSpec ident="pmode="change">
 <desc xml:lang="es">marca párrafos en prosa.</desc>
<!--…-->
</elementSpec>

23.5.1 Making a Unified ODD

<elementSpec ident="person">
<!-- ... -->
 <content>
  <alternate>
   <classRef key="model.pLike"
    minOccurs="1maxOccurs="unbounded"/>

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

    <classRef key="model.personPart"/>
    <classRef key="model.global"/>
   </alternate>
  </alternate>
 </content>
<!-- ... -->
</elementSpec>

23.5.1 Making a Unified ODD

<elementSpec ident="figure">
<!--…-->
 <content>
  <alternate minOccurs="0"
   maxOccurs="unbounded">

   <classRef key="model.pLike"/>
   <classRef key="model.global"/>
   <elementRef key="figure"/>
   <elementRef key="figDesc"/>
   <classRef key="model.graphicLike"/>
   <classRef key="model.headLike"/>
  </alternate>
 </content>
<!--…-->
</elementSpec>

23.5.2 Generating Schemas

<elementSpec module="drama"
 ident="performance">

<!-- ... -->
 <classes>
  <memberOf key="model.frontPart.drama"/>
 </classes>
 <content>
  <sequence>
   <alternate minOccurs="0"
    maxOccurs="unbounded">

    <classRef key="model.divTop"/>
    <classRef key="model.global"/>
   </alternate>
   <sequence minOccurs="1"
    maxOccurs="unbounded">

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

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

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

   </sequence>
  </sequence>
 </content>
<!-- ... -->
</elementSpec>

23.5.2 Generating Schemas

<elementSpec ident="sp">
<!--…-->
 <content>
  <classRef key="model.global"
   minOccurs="0maxOccurs="unbounded"/>

  <sequence minOccurs="0maxOccurs="1">
   <elementRef key="speaker"/>
   <classRef key="model.global"
    minOccurs="0maxOccurs="unbounded"/>

  </sequence>
 </content>
<!--…-->
</elementSpec>

23.5.2 Generating Schemas

<elementSpec ident="sp">
<!--…-->
 <content>
  <classRef key="model.global"
   minOccurs="0maxOccurs="unbounded"/>

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

 </content>
<!--…-->
</elementSpec>

23.5.3 Names and Documentation in Generated Schemas

<schemaSpec ident="testprefix="tei_">
 <elementSpec ident="sp">
<!--...-->
 </elementSpec>
</schemaSpec>

23.5.3 Names and Documentation in Generated Schemas

<elementSpec module="coreident="head">
 <equiv/>
 <gloss>heading</gloss>
 <gloss xml:lang="fr">en-tête</gloss>
 <gloss xml:lang="es">encabezamiento</gloss>
 <gloss xml:lang="it">titolo</gloss>
<!-- ... -->
</elementSpec>

23.5.5 Making a DTD

<elementSpec module="namesdates"
 ident="faith">

 <desc>specifies the faith, religion, or belief set of a person.</desc>
 <classes>
  <memberOf key="model.persStateLike"/>
  <memberOf key="att.editLike"/>
  <memberOf key="att.datable"/>
 </classes>
 <content>
  <macroRef key="macro.phraseSeq"/>
 </content>
</elementSpec>