att.beamRend

Attributes that record the visual rendition of beams.
Module
MEI.cmn
Attributes
form, place, slash, slope
form(optional)Captures whether a beam is "feathered" and in which direction. Allowed values are: "acc" ((accelerando) indicates that the secondary beams get progressively closer together toward the end of the beam.), "mixed" ((mixed acc and rit) for beams that are "feathered" in both directions.), "rit" ((ritardando) means that the secondary beams become progressively more distant toward the end of the beam.), "norm" ((normal) indicates that the secondary beams are equidistant along the course of the beam.)
place(optional)Records the placement of the beam relative to the events it affects. Value conforms to data.BEAMPLACE.
slash(optional)Indicates presence of slash through the beam. Value conforms to data.BOOLEAN.
slope(optional)Records the slope of the beam. Value of datatype decimal.
form(optional)Captures whether a beam is "feathered" and in which direction. Allowed values are: "acc" ((accelerando) indicates that the secondary beams get progressively closer together toward the end of the beam.), "mixed" ((mixed acc and rit) for beams that are "feathered" in both directions.), "rit" ((ritardando) means that the secondary beams become progressively more distant toward the end of the beam.), "norm" ((normal) indicates that the secondary beams are equidistant along the course of the beam.)
place(optional)Records the placement of the beam relative to the events it affects. Value conforms to data.BEAMPLACE.
slash(optional)Indicates presence of slash through the beam. Value conforms to data.BOOLEAN.
slope(optional)Records the slope of the beam. Value of datatype decimal.
Common Music Notation (CMN) repertoire component declarations.
form(optional)Captures whether a beam is "feathered" and in which direction. Allowed values are: "acc" ((accelerando) indicates that the secondary beams get progressively closer together toward the end of the beam.), "mixed" ((mixed acc and rit) for beams that are "feathered" in both directions.), "rit" ((ritardando) means that the secondary beams become progressively more distant toward the end of the beam.), "norm" ((normal) indicates that the secondary beams are equidistant along the course of the beam.)
place(optional)Records the placement of the beam relative to the events it affects. Value conforms to data.BEAMPLACE.
slash(optional)Indicates presence of slash through the beam. Value conforms to data.BOOLEAN.
slope(optional)Records the slope of the beam. Value of datatype decimal.
Available at
beamA container for a series of explicitly beamed events that begins and ends entirely within a measure.
beamSpan(beam span) – Alternative element for explicitly encoding beams, particularly those which extend across bar lines.
beamA container for a series of explicitly beamed events that begins and ends entirely within a measure.
beamSpan(beam span) – Alternative element for explicitly encoding beams, particularly those which extend across bar lines.
Constraints
Stem direction must be specified for all notes and chords under the beam.
Opposing stem directions are required for a beam with @place="mixed".
Opposing stem directions are required for a beam with @place="mixed".
<sch:rule context="mei:beam[@place eq 'mixed' and not(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ./@staff] or descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ancestor::mei:staff/@n])]">
<sch:assert test="count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@stem.dir]) = count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'])">Stem direction must be specified for all notes and chords under the beam.</sch:assert>
<sch:assert test="count(distinct-values(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord']/@stem.dir)) > 1">Opposing stem directions are required for a beam with @place="mixed".</sch:assert>
</sch:rule>
<sch:rule context="mei:beam[@place eq 'mixed' and (descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ./@staff] or descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ancestor::mei:staff/@n]) and count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@stem.dir]) = count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'])]">
<sch:assert test="count(distinct-values(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord']/@stem.dir)) > 1">Opposing stem directions are required for a beam with @place="mixed".</sch:assert>
</sch:rule>
Declaration
<classSpec ident="att.beamRend" module="MEI.cmn" type="atts">
<desc>Attributes that record the visual rendition of beams.</desc>
<attList org="group">
<attDef ident="form" usage="opt">
<desc>Captures whether a beam is "feathered" and in which direction.</desc>
<valList type="closed">
<valItem ident="acc">
<desc>(accelerando) indicates that the secondary beams get progressively closer together toward the end of the beam.</desc>
</valItem>
<valItem ident="mixed">
<desc>(mixed acc and rit) for beams that are "feathered" in both directions.</desc>
</valItem>
<valItem ident="rit">
<desc>(ritardando) means that the secondary beams become progressively more distant toward the end of the beam.</desc>
</valItem>
<valItem ident="norm">
<desc>(normal) indicates that the secondary beams are equidistant along the course of the beam.</desc>
</valItem>
</valList>
</attDef>
<attDef ident="place" usage="opt">
<desc>Records the placement of the beam relative to the events it affects.</desc>
<datatype maxOccurs="1" minOccurs="1">
<rng:ref name="data.BEAMPLACE" />
</datatype>
<constraintSpec ident="check_beam_place" scheme="isoschematron">
<constraint>
<sch:rule context="mei:beam[@place eq 'mixed' and not(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ./@staff] or descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ancestor::mei:staff/@n])]">
<sch:assert test="count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@stem.dir]) = count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'])">Stem direction must be specified for all notes and chords under the beam.</sch:assert>
<sch:assert test="count(distinct-values(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord']/@stem.dir)) > 1">Opposing stem directions are required for a beam with @place="mixed".</sch:assert>
</sch:rule>
<sch:rule context="mei:beam[@place eq 'mixed' and (descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ./@staff] or descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@staff != ancestor::mei:staff/@n]) and count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'][@stem.dir]) = count(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord'])]">
<sch:assert test="count(distinct-values(descendant::mei:*[local-name() eq 'note' or local-name() eq 'chord']/@stem.dir)) > 1">Opposing stem directions are required for a beam with @place="mixed".</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="slash" usage="opt">
<desc>Indicates presence of slash through the beam.</desc>
<datatype maxOccurs="1" minOccurs="1">
<rng:ref name="data.BOOLEAN" />
</datatype>
</attDef>
<attDef ident="slope" usage="opt">
<desc>Records the slope of the beam.</desc>
<datatype maxOccurs="1" minOccurs="1">
<rng:data type="decimal"/>
</datatype>
</attDef>
</attList>
</classSpec>