<elementSpec ident="sp" module="MEI.drama">
<gloss versionDate="2022-05-18" xml:lang="en">speech</gloss>
<desc xml:lang="en">Contains an individual speech in a performance text.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.lang"/>
<memberOf key="att.sp.anl"/>
<memberOf key="att.sp.ges"/>
<memberOf key="att.sp.log"/>
<memberOf key="att.sp.vis"/>
<memberOf key="model.controlEventLike"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="model.annotLike"/>
<rng:ref name="model.appLike"/>
<rng:ref name="model.figureLike"/>
<rng:ref name="model.milestoneLike.text"/>
</rng:choice>
</rng:zeroOrMore>
<rng:zeroOrMore>
<rng:ref name="speaker"/>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="model.annotLike"/>
<rng:ref name="model.appLike"/>
<rng:ref name="model.figureLike"/>
<rng:ref name="model.milestoneLike.text"/>
</rng:choice>
</rng:zeroOrMore>
</rng:zeroOrMore>
<rng:oneOrMore>
<rng:choice>
<rng:ref name="model.lgLike"/>
<rng:ref name="model.lLike"/>
<rng:ref name="model.pLike"/>
<rng:ref name="model.quoteLike"/>
<rng:ref name="model.stageDirLike"/>
<rng:ref name="list"/>
</rng:choice>
</rng:oneOrMore>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="model.annotLike"/>
<rng:ref name="model.appLike"/>
<rng:ref name="model.figureLike"/>
<rng:ref name="model.milestoneLike.text"/>
</rng:choice>
</rng:zeroOrMore>
</content>
<constraintSpec ident="sp_start-type_attributes_required" scheme="schematron">
<constraint>
<sch:rule context="mei:sp[ancestor::mei:layer or ancestor::mei:measure or ancestor::mei:staff][not(ancestor::mei:sp)]">
<sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real">Must have one of the
attributes: startid, tstamp, tstamp.ges or tstamp.real.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<constraintSpec ident="sp_start-type_attributes_forbidden" scheme="schematron">
<constraint>
<sch:rule context="mei:sp[not(ancestor::mei:layer or ancestor::mei:measure or ancestor::mei:staff)]">
<sch:assert test="not(@startid or @endid or @tstamp or @tstamp2 or @tstamp.ges or @tstamp.real or
@startho or @endho or @to or @startto or @endto or @staff or @layer or @place or @plist)">Must not have any of the attributes: startid, endid, tstamp, tstamp2, tstamp.ges,
tstamp.real, startho, endho, to, startto, endto, staff, layer, place, or
plist.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<remarks xml:lang="en">
<p>In a musical context <gi scheme="MEI">sp</gi> must have a start-type attribute when it's
not a descendant of <gi scheme="MEI">sp</gi>. In a textual content <gi scheme="MEI">sp</gi>
must NOT have any musical attributes.</p>
</remarks>
<remarks xml:lang="en">
<p>The model of this element is based on the <ref target="https://tei-c.org/release/doc/tei-p5-doc/en/html/ref-sp.html">sp</ref> element of the Text Encoding Initiative (TEI).</p>
</remarks>
</elementSpec>