<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright TEI Consortium. 
Dual-licensed under CC-by and BSD2 licences 
See the file COPYING.txt for details
$Date$
$Id$
-->
<?xml-model href="http://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 module="tagdocs" ident="content"
	     xmlns:sch="http://purl.oclc.org/dsdl/schematron"
	     xmlns:teix="http://www.tei-c.org/ns/Examples"
	     xmlns="http://www.tei-c.org/ns/1.0" >
  <gloss versionDate="2007-07-04" xml:lang="en">content model</gloss>
  <gloss versionDate="2007-12-20" xml:lang="ko">내용 모델</gloss>
  <gloss versionDate="2007-05-02" xml:lang="zh-TW">模型宣告</gloss>
  <gloss versionDate="2007-06-12" xml:lang="fr">modèle de contenu</gloss>
  <gloss versionDate="2007-05-04" xml:lang="es">declaración del esquema</gloss>
  <gloss versionDate="2007-01-21" xml:lang="it">dichiarazione dello schema</gloss>
  <desc versionDate="2018-01-20" xml:lang="en">contains a declaration of the intended content model for the element (or other construct) being specified.</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">contient la déclaration
  d'un modèle de contenu pour le schéma documenté.</desc>
  <desc versionDate="2007-05-04" xml:lang="es">contiene el texto de la
  declaración del esquema utilizado.</desc>
  <desc versionDate="2007-01-21" xml:lang="it">contiene il testo di
  una dichiarazione dello schema utilizzato</desc>
  <classes>
    <memberOf key="att.global"/>
  </classes>
  <content>
    <alternate>
      <!-- Change the minOccurs=0 to minOccurs=1 on 2019-08-25.
	   Also change the prose in "DEFCONTEI" in TD, and remove the
	   <remarks>, below. -->
      <classRef key="model.contentPart" minOccurs="0" maxOccurs="unbounded"/>
      <anyElement require="http://relaxng.org/ns/structure/1.0" minOccurs="1" maxOccurs="unbounded"/>
    </alternate>
  </content>
  <constraintSpec scheme="schematron" validUntil="2019-08-25"
		  ident="empty-content-deprecated" type="deprecationWarning">
    <desc type="deprecationInfo" xml:lang="en"
    versionDate="2018-09-14">Use a child &lt;empty&gt; element to
    indicate that the element being specified is not allowed to have
    content.</desc>
    <constraint>
      <sch:assert test="*">The use of the &lt;content&gt; element
      without any child elements is deprecated, and will be considered
      invalid after 2019-08-25. Use a child &lt;empty&gt; element to
      indicate that the element being specified is not allowed to have
      content.</sch:assert>
    </constraint>
  </constraintSpec>
  <attList>
    <attDef ident="autoPrefix">
      <desc versionDate="2010-05-13" xml:lang="en">controls whether or
      not pattern names generated in the corresponding RELAX NG schema
      source are automatically prefixed to avoid potential
      nameclashes.</desc>
      <datatype><dataRef key="teidata.truthValue"/></datatype>
      <defaultVal>true</defaultVal>
      <valList type="closed">
        <valItem ident="true">
          <desc versionDate="2010-05-13" xml:lang="en">Each name
          referenced in e.g. a <gi>rng:ref</gi> element within a
          content model is automatically prefixed by the value of the
          <att>prefix</att> attribute on the current
          <gi>schemaSpec</gi>
	  </desc>
	</valItem>
	<valItem ident="false">
	  <desc versionDate="2010-05-13" xml:lang="en">No prefixes are
	  added: any prefix required by the value of the
	  <att>prefix</att> attribute on the current
	  <gi>schemaSpec</gi> must therefore be supplied explicitly,
	  as appropriate.</desc>
        </valItem>
      </valList>
    </attDef>
  </attList>
  <exemplum xml:lang="en">
    <p>This <gi>content</gi> element indicates that the element being
    specified has no content:</p>
    <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#UND">
      <content><empty/></content>
    </egXML></exemplum>
  <exemplum xml:lang="en">
    <p>This <gi>content</gi> element defines a content model allowing either a sequence of paragraphs or a series of msItem elements
      optionally preceded by a summary: </p>
    <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#UND">
      <content>
        <alternate>
            <classRef key="model.pLike" maxOccurs="unbounded"/>
            <sequence>
              <elementRef key="summary" minOccurs="0" maxOccurs="1"/>
	      <elementRef key="msItem" maxOccurs="unbounded"/>
	     </sequence>
	</alternate>
      </content>
    </egXML>
  </exemplum>
  <exemplum xml:lang="en">
    <p>This content model defines a content model allowing either a
    sequence of paragraphs or a series of msItem elements optionally
    preceded by a summary: </p>
    <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#UND">
      <content>
        <choice xmlns="http://relaxng.org/ns/structure/1.0">
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <group>
            <optional>
              <ref name="summary"/>
            </optional>
            <oneOrMore>
              <ref name="msItem"/>
            </oneOrMore>
          </group>
        </choice>
      </content>
    </egXML>
  </exemplum>
  <exemplum versionDate="2008-04-06" xml:lang="fr">
    <p xmlns:teix="http://www.tei-c.org/ns/Examples">Ce modèle de
    contenu permet d'introduire une suite de paragraphes ou une suite
    d'éléments <gi>msItem</gi> précédés éventuellement d'un résumé :
    </p>
    <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#UND">
      <content>
        <choice xmlns="http://relaxng.org/ns/structure/1.0">
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <group>
            <optional>
              <ref name="summary"/>
            </optional>
            <oneOrMore>
              <ref name="msItem"/>
            </oneOrMore>
          </group>
        </choice>
      </content>
    </egXML>
  </exemplum>
  <exemplum xml:lang="zh-TW">
    <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#UND">
      <content>
        <choice xmlns="http://relaxng.org/ns/structure/1.0">
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <group>
            <optional>
              <ref name="summary"/>
            </optional>
            <oneOrMore>
              <ref name="msItem"/>
            </oneOrMore>
          </group>
        </choice>
      </content>
    </egXML>
  </exemplum>
  <remarks versionDate="2017-05-11" xml:lang="en">
    <p>As the example shows, content models may be expressed using the
    RELAX NG syntax directly. To avoid ambiguity when schemas using
    elements from different namespaces are created, the name supplied
    for an element in a content model will be automatically prefixed
    by a short string, as specified by the <att>prefix</att> attribute
    on <gi>schemaSpec</gi>. The <att>autoPrefix</att> attribute may be
    used to reverse this behaviour.</p>
    <p>Alternatively, a content model may be expressed using the TEI
    <gi>valList</gi> element.</p>
  </remarks>
  <remarks xml:lang="fr" versionDate="2007-06-12">
    <p>Comme l'exemple le montre, les modèles de contenu dans la P5
    peuvent être exprimés en utilisant directement la syntaxe RELAX
    NG. Plus exactement, ils sont définis avec le modèle
    <code>macro.schemaPattern</code>. Une autre manière d'exprimer un
    modèle de contenu est d'utiliser l'élément TEI <gi>valList</gi>.
    </p>
  </remarks>
  <remarks xml:lang="ja" versionDate="2008-04-05">
    <p> 上例のように，P5の内容モデルはRELAX NGで表現されている．より厳
    密に 言えば，P5の内容モデルは<code>macro.schemaPattern</code>で定
    義されている．内容モデルは，要素<gi>valList</gi>を使い表現してもよ
    い． </p>
  </remarks>
  <listRef>
    <ptr target="#TDTAG"/>
  </listRef>
</elementSpec>
