<citeStructure>

<citeStructure> (citation structure) declares a structure and method for citing the current document. [3.11.4 Declaring Reference Systems 16.2.5.4 Citation Structures]
Moduloheader — The TEI Header
Attributiatt.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp)) (att.global.source (@source)) att.citeStructurePart (@use)
delim(delimiter) supplies a delimiting string preceding the structural component.
Stato Opzionale
Tipo di dati string
Schematron

<s:rule context="tei:citeStructure[parent::tei:citeStructure]">
<s:assert test="@delim">A <s:name/> with a parent <s:name/> must have a @delim attribute.</s:assert>
</s:rule>
match(match) supplies an XPath selection pattern using the syntax defined in Kay (ed.) (2017) which identifies a set of nodes which are citable structural components. The expression may be absolute (beginning with /) or relative. match on a citeStructure without a citeStructure parent must be an absolute XPath. If it is relative, its context is set by the match of the parent citeStructure.
Stato Richiesto
Tipo di dati teidata.xpath
Schematron

<s:rule context="tei:citeStructure[not(parent::tei:citeStructure)]">
<s:assert test="starts-with(@match,'/')">An XPath in @match on the outer <s:name/> must start with '/'.</s:assert>
</s:rule>
Schematron

<s:rule context="tei:citeStructure[parent::tei:citeStructure]">
<s:assert test="not(starts-with(@match,'/'))">An XPath in @match must not start with '/' except on the outer <s:name/>.</s:assert>
</s:rule>
unit(unit) describes the structural unit indicated by the citeStructure.
Stato Opzionale
Tipo di dati teidata.enumerated
I valori esemplificativi includono:
book
chapter
entry
poem
letter
line
section
verse
volume
Contenuto in
Può contenere
Esempio
<citeStructure unit="book"
 match="//body/divuse="@n">

 <citeStructure unit="chaptermatch="div"
  use="position()delim=" ">

  <citeStructure unit="versematch="div"
   use="position()delim=":"/>

 </citeStructure>
</citeStructure>
Content model
<content>
 <sequence>
  <elementRef key="citeDataminOccurs="0"
   maxOccurs="unbounded"/>

  <elementRef key="citeStructure"
   minOccurs="0maxOccurs="unbounded"/>

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

 </sequence>
</content>
Dichiarazione
<rng:element name="citeStructure">
 <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.citeStructurePart.attributes"/>
 <rng:optional>
  <rng:attribute name="delim">
   <rng:data type="string">
    <rng:param name="pattern">.+</rng:param>
   </rng:data>
  </rng:attribute>
 </rng:optional>
 <xhtml:tr>
  <xhtml:td>[#citestructure-inner-delim]</xhtml:td>
  <xhtml:td>
   <xhtml:div id="index-egXML-d220148e1"
    class="pre egXML_valid">

    <xhtml:span class="element"><constraint></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"><s:rule <xhtml:span class="attribute">context</xhtml:span>="<xhtml:span class="attributevalue">tei:citeStructure[parent::tei:citeStructure]</xhtml:span>"></xhtml:span>
    <xhtml:br/> <xhtml:span class="element"><s:assert <xhtml:span class="attribute">test</xhtml:span>="<xhtml:span class="attributevalue">@delim</xhtml:span>"></xhtml:span>A <xhtml:span class="element"><s:name/></xhtml:span> with a parent <xhtml:span class="element"><s:name/></xhtml:span> must have a @delim attribute.<xhtml:span class="element"></s:assert></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"></s:rule></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"></constraint></xhtml:span>
    <xhtml:div style="float: right;">
     <xhtml:a class="bookmarklink"
      href="#index-egXML-d220148e1">
</xhtml:a>
    </xhtml:div>
   </xhtml:div>
  </xhtml:td>
 </xhtml:tr>
 <rng:attribute name="match">
  <rng:ref name="teidata.xpath"/>
 </rng:attribute>
 <xhtml:tr>
  <xhtml:td>[#citestructure-outer-match]</xhtml:td>
  <xhtml:td>
   <xhtml:div id="index-egXML-d220208e1"
    class="pre egXML_valid">

    <xhtml:span class="element"><constraint></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"><s:rule <xhtml:span class="attribute">context</xhtml:span>="<xhtml:span class="attributevalue">tei:citeStructure[not(parent::tei:citeStructure)]</xhtml:span>"></xhtml:span>
    <xhtml:br/> <xhtml:span class="element"><s:assert <xhtml:span class="attribute">test</xhtml:span>="<xhtml:span class="attributevalue">starts-with(@match,'/')</xhtml:span>"></xhtml:span>An XPath in @match on the outer <xhtml:span class="element"><s:name/></xhtml:span> must start with '/'.<xhtml:span class="element"></s:assert></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"></s:rule></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"></constraint></xhtml:span>
    <xhtml:div style="float: right;">
     <xhtml:a class="bookmarklink"
      href="#index-egXML-d220208e1">
</xhtml:a>
    </xhtml:div>
   </xhtml:div>
  </xhtml:td>
 </xhtml:tr>
 <xhtml:tr>
  <xhtml:td>[#citestructure-inner-match]</xhtml:td>
  <xhtml:td>
   <xhtml:div id="index-egXML-d220241e1"
    class="pre egXML_valid">

    <xhtml:span class="element"><constraint></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"><s:rule <xhtml:span class="attribute">context</xhtml:span>="<xhtml:span class="attributevalue">tei:citeStructure[parent::tei:citeStructure]</xhtml:span>"></xhtml:span>
    <xhtml:br/> <xhtml:span class="element"><s:assert <xhtml:span class="attribute">test</xhtml:span>="<xhtml:span class="attributevalue">not(starts-with(@match,'/'))</xhtml:span>"></xhtml:span>An XPath in @match must not start with '/' except on the outer <xhtml:span class="element"><s:name/></xhtml:span>.<xhtml:span class="element"></s:assert></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"></s:rule></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"></constraint></xhtml:span>
    <xhtml:div style="float: right;">
     <xhtml:a class="bookmarklink"
      href="#index-egXML-d220241e1">
</xhtml:a>
    </xhtml:div>
   </xhtml:div>
  </xhtml:td>
 </xhtml:tr>
 <rng:optional>
  <rng:attribute name="unit">
   <rng:ref name="teidata.enumerated"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:ref name="citeData"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="citeStructure"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="model.descLike"/>
  </rng:zeroOrMore>
 </rng:group>
</rng:element>
element citeStructure
{
   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.citeStructurePart.attributes,
   attribute delim { string { pattern = ".+" } }?
   >>
   d220144e19:tr
   [
      "[#citestructure-inner-delim]"
      "<constraint>"
      "<s:rule "
      "context"
      """=""""
      "tei:citeStructure[parent::tei:citeStructure]"
      """">"""
      " "
      "<s:assert "
      "test"
      """=""""
      "@delim"
      """">"""
      "A "
      "<s:name/>"
      " with a parent "
      "<s:name/>"
      " must have a @delim attribute."
      "</s:assert>"
      "</s:rule>"
      "</constraint>"
      "⚓"
   ],
   attribute match { teidata.xpath }
   >>
   d220144e19:tr
   [
      "[#citestructure-outer-match]"
      "<constraint>"
      "<s:rule "
      "context"
      """=""""
      "tei:citeStructure[not(parent::tei:citeStructure)]"
      """">"""
      " "
      "<s:assert "
      "test"
      """=""""
      """starts-with(@match,'/')"""
      """">"""
      "An XPath in @match on the outer "
      "<s:name/>"
      """ must start with '/'."""
      "</s:assert>"
      "</s:rule>"
      "</constraint>"
      "⚓"
   ]
   >>
   d220144e19:tr
   [
      "[#citestructure-inner-match]"
      "<constraint>"
      "<s:rule "
      "context"
      """=""""
      "tei:citeStructure[parent::tei:citeStructure]"
      """">"""
      " "
      "<s:assert "
      "test"
      """=""""
      """not(starts-with(@match,'/'))"""
      """">"""
      """An XPath in @match must not start with '/' except on the outer """
      "<s:name/>"
      "."
      "</s:assert>"
      "</s:rule>"
      "</constraint>"
      "⚓"
   ],
   attribute unit { teidata.enumerated }?,
   ( citeData*, citeStructure*, model.descLike* )
}