att.stems

Attributes that describe the properties of stemmed features; that is, chords and notes.
Module
Attributes
@stem.dir, @stem.form, @stem.len, @stem.mod, @stem.pos, @stem.sameas, @stem.visible, @stem.with, @stem.x, @stem.y
@stem.dir(optional)Describes the direction of a stem. Value conforms to data.STEMDIRECTION.
@stem.form(optional)Records the form of the stem. Value conforms to data.STEMFORM.mensural.
@stem.len(optional)Encodes the stem length. Value conforms to data.MEASUREMENTUNSIGNED.
@stem.mod(optional)Encodes any stem "modifiers"; that is, symbols rendered on the stem, such as tremolo or Sprechstimme indicators. Value conforms to data.STEMMODIFIER.
@stem.pos(optional)Records the position of the stem in relation to the note head(s). Value conforms to data.STEMPOSITION.
@stem.sameas(optional)Points to a note element in a different layer whose stem is shared. The linked notes should be rendered like a chord though they are part of different layers. Value conforms to data.URI.
@stem.visible(optional)Determines whether a stem should be displayed. Value conforms to data.BOOLEAN.
@stem.with(optional)Contains an indication of which staff a note or chord that logically belongs to the current staff should be visually placed on; that is, the one above or the one below. Value conforms to data.NEIGHBORINGLAYER.
@stem.x(optional)Records the output x coordinate of the stem’s attachment point. Value is a decimal number.
@stem.y(optional)Records the output y coordinate of the stem’s attachment point. Value is a decimal number.
@stem.dir(optional)Describes the direction of a stem. Value conforms to data.STEMDIRECTION.
@stem.len(optional)Encodes the stem length. Value conforms to data.MEASUREMENTUNSIGNED.
@stem.mod(optional)Encodes any stem "modifiers"; that is, symbols rendered on the stem, such as tremolo or Sprechstimme indicators. Value conforms to data.STEMMODIFIER.
@stem.pos(optional)Records the position of the stem in relation to the note head(s). Value conforms to data.STEMPOSITION.
@stem.sameas(optional)Points to a note element in a different layer whose stem is shared. The linked notes should be rendered like a chord though they are part of different layers. Value conforms to data.URI.
@stem.visible(optional)Determines whether a stem should be displayed. Value conforms to data.BOOLEAN.
@stem.x(optional)Records the output x coordinate of the stem’s attachment point. Value is a decimal number.
@stem.y(optional)Records the output y coordinate of the stem’s attachment point. Value is a decimal number.
(MEI.cmn) Attributes that describe the properties of stemmed features; that is, chords and notes.
@stem.with(optional)Contains an indication of which staff a note or chord that logically belongs to the current staff should be visually placed on; that is, the one above or the one below. Value conforms to data.NEIGHBORINGLAYER.
(MEI.mensural) Attributes that describe the properties of stemmed features specific to mensural repertoires.
@stem.form(optional)Records the form of the stem. Value conforms to data.STEMFORM.mensural.
Common Music Notation (CMN) repertoire component declarations.
@stem.with(optional)Contains an indication of which staff a note or chord that logically belongs to the current staff should be visually placed on; that is, the one above or the one below. Value conforms to data.NEIGHBORINGLAYER.
Mensural repertoire component declarations.
@stem.form(optional)Records the form of the stem. Value conforms to data.STEMFORM.mensural.
Component declarations that are shared between two or more modules.
@stem.dir(optional)Describes the direction of a stem. Value conforms to data.STEMDIRECTION.
@stem.len(optional)Encodes the stem length. Value conforms to data.MEASUREMENTUNSIGNED.
@stem.mod(optional)Encodes any stem "modifiers"; that is, symbols rendered on the stem, such as tremolo or Sprechstimme indicators. Value conforms to data.STEMMODIFIER.
@stem.pos(optional)Records the position of the stem in relation to the note head(s). Value conforms to data.STEMPOSITION.
@stem.sameas(optional)Points to a note element in a different layer whose stem is shared. The linked notes should be rendered like a chord though they are part of different layers. Value conforms to data.URI.
@stem.visible(optional)Determines whether a stem should be displayed. Value conforms to data.BOOLEAN.
@stem.x(optional)Records the output x coordinate of the stem’s attachment point. Value is a decimal number.
@stem.y(optional)Records the output y coordinate of the stem’s attachment point. Value is a decimal number.
Available at
<ambNote>Highest or lowest pitch in a score, staff, or layer.
<chord>A simultaneous sounding of two or more notes in the same layer *with the same duration*.
<note>A single pitched event.
Component declarations that are shared between two or more modules.
<ambNote>Highest or lowest pitch in a score, staff, or layer.
<chord>A simultaneous sounding of two or more notes in the same layer *with the same duration*.
<note>A single pitched event.
Constraints

@stem.sameas attribute should have content.
The value in @stem.sameas should correspond to the @xml:id attribute of the linked note element of a different layer.
The linked notes by @stem.sameas should have the same @dur values.

Declaration
<classSpec ident="att.stems" module="MEI.shared" type="atts">
<desc xml:lang="en">Attributes that describe the properties of stemmed features; that is, chords and notes.</desc>
<classes>
<memberOf key="att.stems.cmn"/>
<memberOf key="att.stems.mensural"/>
</classes>
<attList>
<attDef ident="stem.dir" usage="opt">
<desc xml:lang="en">Describes the direction of a stem.</desc>
<datatype>
<rng:ref name="data.STEMDIRECTION"/>
</datatype>
</attDef>
<attDef ident="stem.len" usage="opt">
<desc xml:lang="en">Encodes the stem length.</desc>
<datatype>
<rng:ref name="data.MEASUREMENTUNSIGNED"/>
</datatype>
</attDef>
<attDef ident="stem.mod" usage="opt">
<desc xml:lang="en">Encodes any stem "modifiers"; that is, symbols rendered on the stem, such as tremolo or Sprechstimme indicators.</desc>
<datatype>
<rng:ref name="data.STEMMODIFIER"/>
</datatype>
</attDef>
<attDef ident="stem.pos" usage="opt">
<desc xml:lang="en">Records the position of the stem in relation to the note head(s).</desc>
<datatype>
<rng:ref name="data.STEMPOSITION"/>
</datatype>
</attDef>
<attDef ident="stem.sameas" usage="opt">
<desc xml:lang="en">Points to a note element in a different layer whose stem is shared. The linked notes should be rendered like a chord though they are part of different layers. </desc>
<datatype maxOccurs="1">
<rng:ref name="data.URI"/>
</datatype>
<constraintSpec ident="check_stem.sameasTarget" scheme="schematron">
<constraint>
<sch:rule context="@stem.sameas">
<sch:let name="layer.n" value="self::node()/ancestor::mei:layer/@n"/>
<sch:let name="ref.id" value="substring(.,2)"/>
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@stem.sameas attribute should have content.</sch:assert>
<sch:assert role="warning" test="substring(.,2)=//mei:note[not(ancestor::mei:layer/@n=$layer.n)]/@xml:id"> The value in @stem.sameas should correspond to the @xml:id attribute of the linked note element of a different layer.</sch:assert>
<sch:assert role="warning" test="../@dur=//mei:note[@xml:id=$ref.id]/@dur"> The linked notes by @stem.sameas should have the same @dur values. </sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="stem.visible" usage="opt">
<desc xml:lang="en">Determines whether a stem should be displayed.</desc>
<datatype>
<rng:ref name="data.BOOLEAN"/>
</datatype>
</attDef>
<attDef ident="stem.x" usage="opt">
<desc xml:lang="en">Records the output x coordinate of the stem’s attachment point.</desc>
<datatype>
<rng:data type="decimal"/>
</datatype>
</attDef>
<attDef ident="stem.y" usage="opt">
<desc xml:lang="en">Records the output y coordinate of the stem’s attachment point.</desc>
<datatype>
<rng:data type="decimal"/>
</datatype>
</attDef>
</attList>
</classSpec>