<?xml version="1.0" encoding="UTF-8"?>
<!-- © TEI Consortium. Dual-licensed under CC-by and BSD2 licenses; see the file COPYING.txt for details. -->
<?xml-model href="https://jenkins.tei-c.org/job/TEIP5-dev/lastSuccessfulBuild/artifact/P5/release/xml/tei/odd/p5.nvdl" type="application/xml" schematypens="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0"?>
<elementSpec xmlns="http://www.tei-c.org/ns/1.0" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xml:id="gi-elementSpec" module="tagdocs" ident="elementSpec">
  <gloss versionDate="2007-07-04" xml:lang="en">element specification</gloss>
  <gloss versionDate="2007-12-20" xml:lang="ko">요소 명시</gloss>
  <gloss versionDate="2007-05-02" xml:lang="zh-TW"/>
  <gloss versionDate="2008-04-06" xml:lang="es">especificación del elemento</gloss>
  <gloss versionDate="2007-06-12" xml:lang="fr">spécification d'élément</gloss>
  <gloss versionDate="2007-11-06" xml:lang="it">specifica dell'elemento</gloss>
  <desc versionDate="2005-01-14" xml:lang="en">documents the structure, content, and purpose of a
  single element type.</desc>
  <desc versionDate="2007-12-20" xml:lang="ko">단일 요소 유형의 구조, 내용 및 목적을 기록한다.</desc>
  <desc versionDate="2007-05-02" xml:lang="zh-TW">紀錄單一元素類型的結構、內容、以及用途。</desc>
  <desc versionDate="2008-04-05" xml:lang="ja">構造、内容、その要素の目的などを示す。</desc>
  <desc versionDate="2007-06-12" xml:lang="fr">documente la structure, le contenu et l'emploi d'un
  élément.</desc>
  <desc versionDate="2007-05-04" xml:lang="es">documenta la estructura, contenido y finalidad de un
  único tipo de elemento.</desc>
  <desc versionDate="2007-01-21" xml:lang="it">documenta struttura, contenuto e scopo di un unico
  tipo di elemento</desc>
  <classes>
    <memberOf key="att.global"/>
    <memberOf key="att.identified"/>
    <memberOf key="att.namespaceable"/>
    <memberOf key="model.oddDecl"/>
  </classes>
  <content>
    <sequence>
      <alternate minOccurs="0" maxOccurs="unbounded">
        <classRef key="model.identSynonyms"/>
        <classRef key="model.descLike"/>
      </alternate>
      <elementRef key="classes" minOccurs="0"/>
      <elementRef key="content" minOccurs="0"/>
      <elementRef key="valList" minOccurs="0"/>
      <elementRef key="constraintSpec" minOccurs="0" maxOccurs="unbounded"/>
      <elementRef key="attList" minOccurs="0"/>
      <alternate maxOccurs="unbounded" minOccurs="0">
        <elementRef key="model"/>
        <elementRef key="modelGrp"/>
        <elementRef key="modelSequence"/>
      </alternate>
      <elementRef key="exemplum" minOccurs="0" maxOccurs="unbounded"/>
      <elementRef key="remarks" minOccurs="0" maxOccurs="unbounded"/>
      <elementRef key="listRef" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
  </content>
  <constraintSpec scheme="schematron" ident="child-constraint-based-on-mode" xml:lang="en">
    <!-- 
         This constraint specification is much like the
         "empty-based-on-mode" for <constraintSpec> itself, which does
         something something similar (in that it is based on @mode),
         but not quite the same.
    -->
    <constraint>
      <sch:rule context="tei:elementSpec[ @mode eq 'delete' ]">
        <sch:report test="child::*">This elementSpec element has a mode= of "delete" even though it has child elements. Change the mode= to "add", "change", or "replace", or remove the child elements.</sch:report>
      </sch:rule>
      <sch:rule context="tei:elementSpec[ @mode = ('add','change','replace') ]">
        <sch:assert test="child::* | (@* except (@mode, @ident))">This elementSpec element has a mode= of "<sch:value-of select="@mode"/>", but does not have any child elements or schema-changing attributes. Specify child elements, use validUntil=, predeclare=, ns=, or prefix=, or change the mode= to "delete".</sch:assert>
      </sch:rule>
    </constraint>
  </constraintSpec>
  <attList>
    <attDef ident="prefix" usage="opt">
      <desc versionDate="2010-06-23" xml:lang="en">specifies a default prefix which will be
      prepended to all patterns relating to the element, unless otherwise stated.</desc>
      <datatype minOccurs="0"><dataRef key="teidata.xmlName"/></datatype>
    </attDef>
  </attList>
  <exemplum xml:lang="en">
    <egXML xmlns="http://www.tei-c.org/ns/Examples" xml:id="gi-elementSpec-egXML-vk">
      <elementSpec module="tagdocs" ident="code">
        <gloss/>
        <desc>contains literal code</desc>
        <classes>
          <memberOf key="model.emphLike"/>
        </classes>
        <content>
          <textNode/>
        </content>
        <attList>
          <attDef ident="type" usage="opt">
            <desc>the language of the code</desc>
            <datatype>
              <dataRef key="teidata.enumerated"/>
            </datatype>
          </attDef>
        </attList>
      </elementSpec>
    </egXML>
  </exemplum>
  <exemplum versionDate="2008-04-06" xml:lang="fr">
    <egXML xmlns="http://www.tei-c.org/ns/Examples" xml:id="gi-elementSpec-egXML-wl">
      <elementSpec module="tagdocs" xml:id="fr_Code" ident="code">
        <desc>contient le code littéral</desc>
        <classes>
          <memberOf key="model.emphLike"/>
        </classes>
        <content>
          <textNode/>
        </content>
        <attList>
          <attDef ident="type" usage="opt">
            <desc>la langue du code</desc>
            <datatype>
              <dataRef key="teidata.enumerated"/>
            </datatype>
          </attDef>
        </attList>
      </elementSpec>
    </egXML>
  </exemplum>
  <exemplum xml:lang="zh-TW">
    <egXML xmlns="http://www.tei-c.org/ns/Examples" xml:id="gi-elementSpec-egXML-xh">
      <elementSpec module="tagdocs" ident="code">
        <gloss/>
        <desc>包含文字規則</desc>
        <classes>
          <memberOf key="model.emphLike"/>
        </classes>
        <content>
          <textNode/>
        </content>
        <attList>
          <attDef ident="type" usage="opt">
            <desc>規則的表達方式</desc>
            <datatype>
              <dataRef key="teidata.enumerated"/>
            </datatype>
          </attDef>
        </attList>
      </elementSpec>
    </egXML>
  </exemplum>
  <listRef>
    <ptr target="#TDTAG"/>
    <ptr target="#TD"/>
  </listRef>
</elementSpec>
