<punctuation>

<punctuation> specifies editorial practice adopted with respect to punctuation marks in the original. [2.3.3 The Editorial Practices Declaration 3.2 Treatment of Punctuation]
Module header — The TEI Header
Attributes
marks⚓︎ indicates whether or not punctation marks have been retained as content within the text.
Status Optional
Datatype teidata.enumerated
Legal values are:
none
no punctuation marks have been retained
some
some punctuation marks have been retained
all
all punctuation marks have been retained
placement⚓︎ indicates the positioning of punctuation marks that are associated with marked up text as being encoded within the element surrounding the text or immediately before or after it.
Status Optional
Datatype teidata.enumerated
Legal values are:
internal
punctuation marks found at the start or end of a marked up text component are included within its surrounding element;
external
punctuation marks found at the start or end of a marked up text component appear immediately before or after the surrounding element
Member of
Contained by
May contain
core: p
linking: ab
Example
<punctuation marks="all"
 placement="internal">

 <p>All punctuation marks in the source text have been retained and represented using the
   appropriate Unicode code point. In cases where a punctuation mark and nearby markup convey
   the same information (for example, a sentence ends with a question mark and is also tagged
   as <gi>s</gi>) the punctuation mark is captured as content within the element.</p>
</punctuation>
Example

External placement of punctuation:

<p>I would agree with Saint Augustine that “<quote>An unjust law is no law at all</quote>.”</p>
Example

Internal placement of punctuation:

<p>I would agree with Saint Augustine that <quote>“An unjust law is no law at all.”</quote>
</p>
Content model
<content>
 <classRef key="model.pLikeminOccurs="0"
  maxOccurs="unbounded"/>

</content>
Schema Declaration
<rng:element name="punctuation">
 <rng:ref name="att.declarable.attributes"/>
 <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:optional>
  <rng:attribute name="marks">
   <rng:choice>
    <rng:value>none</rng:value>
    <rng:value>some</rng:value>
    <rng:value>all</rng:value>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="placement">
   <rng:choice>
    <rng:value>internal</rng:value>
    <rng:value>external</rng:value>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:zeroOrMore>
  <rng:ref name="model.pLike"/>
 </rng:zeroOrMore>
</rng:element>
element punctuation
{
   att.declarable.attributes,
   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,
   attribute marks { "none" | "some" | "all" }?,
   attribute placement { "internal" | "external" }?,
   model.pLike*
}