<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]
Moduleheader — The TEI Header
Attributesatt.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.
Status Optional
Datatype string
Note

delim must contain at least one character.

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.
Status Required
Datatype 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.
Status Optional
Datatype teidata.enumerated
Sample values include:
book
chapter
entry
poem
letter
line
section
verse
volume
Contained by
May contain
Example
<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>
Schema Declaration
<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>
 <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-d261012e1"
    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>
  </xhtml:td>
 </xhtml:tr>
 <xhtml:tr>
  <xhtml:td>[#citestructure-inner-match]</xhtml:td>
  <xhtml:td>
   <xhtml:div id="index-egXML-d261054e1"
    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>
  </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 = ".+" } }?,
   attribute match { teidata.xpath }
   >>
   d260989e22: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>"
   ]
   >>
   d260989e22: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* )
}