Examples include text strings, such as 'affettuoso', and music symbols, such as segno and coda symbols, fermatas over a bar line, etc. Directives can be control elements. That is, they can be linked via their attributes to other events. The starting point of the directive may be indicated by either a startid, tstamp, tstamp.ges, or tstamp.real attribute, while the ending point may be recorded by either a dur, dur.ges, endid, or tstamp2 attribute. It is a semantic error not to specify a starting point attribute.
<elementSpec ident="dir" module="MEI.shared">
<gloss versionDate="2022-05-18" xml:lang="en">directive</gloss>
<desc xml:lang="en">An instruction expressed as a combination of text and symbols, typically above,
below, or between staves, but not on the staff — that is not encoded elsewhere in
more specific
elements, like
<gi scheme="MEI">tempo</gi>,
<gi scheme="MEI">dynam</gi> or
<gi scheme="MEI">repeatMark</gi>.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.lang"/>
<memberOf key="att.dir.log"/>
<memberOf key="att.dir.vis"/>
<memberOf key="att.dir.ges"/>
<memberOf key="att.dir.anl"/>
<memberOf key="model.controlEventLike"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:choice>
<rng:text/>
<rng:ref name="model.textPhraseLike.limited"/>
<rng:ref name="model.graphicPrimitiveLike"/>
<rng:ref name="model.editLike"/>
<rng:ref name="model.transcriptionLike"/>
</rng:choice>
</rng:zeroOrMore>
</content>
<constraintSpec ident="dir_start-type_attributes_required" scheme="schematron">
<constraint>
<sch:rule context="mei:dir[not(ancestor::mei:syllable)]">
<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>
<remarks xml:lang="en">
<p>Examples include text strings, such as 'affettuoso', and music symbols, such as segno
and
coda symbols, fermatas over a bar line, etc. Directives can be control elements. That
is,
they can be linked via their attributes to other events. The starting point of the
directive
may be indicated by either a <att>startid</att>, <att>tstamp</att>, <att>tstamp.ges</att>,
or <att>tstamp.real</att> attribute, while the ending point may be recorded by either a
<att>dur</att>, <att>dur.ges</att>, <att>endid</att>, or <att>tstamp2</att> attribute. It is
a semantic error not to specify a starting point attribute.</p>
</remarks>
</elementSpec>