att.noteHeads

Attributes pertaining to the notehead part of a note.
Module
Attributes
head.altsym, head.auth, head.color, head.fill, head.fillcolor, head.mod, head.rotation, head.shape, head.visible
head.altsym(optional)Provides a way of pointing to a user-defined symbol. It must contain a reference to an ID of a symbolDef element elsewhere in the document. Value conforms to data.URI.
head.auth(optional)A name or label associated with the controlled vocabulary from which a numerical value of head.shape is taken. Suggested values are: "smufl" (Standard Music Font Layout.)
head.color(optional)Captures the overall color of a notehead. Value conforms to data.COLOR.
head.fill(optional)Describes how/if the notehead is filled. Value conforms to data.FILL.
head.fillcolor(optional)Captures the fill color of a notehead if different from the overall note color. Value conforms to data.COLOR.
head.mod(optional)Records any additional symbols applied to the notehead. One or more values from data.NOTEHEADMODIFIER, separated by spaces.
head.rotation(optional)Describes rotation applied to the basic notehead shape. A positive value rotates the notehead in a counter-clockwise fashion, while negative values produce clockwise rotation. Value conforms to data.ROTATION.
head.shape(optional)Used to override the head shape normally used for the given duration. Value conforms to data.HEADSHAPE.
head.visible(optional)Indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form. Value conforms to data.BOOLEAN.
head.altsym(optional)Provides a way of pointing to a user-defined symbol. It must contain a reference to an ID of a symbolDef element elsewhere in the document. Value conforms to data.URI.
head.auth(optional)A name or label associated with the controlled vocabulary from which a numerical value of head.shape is taken. Suggested values are: "smufl" (Standard Music Font Layout.)
head.color(optional)Captures the overall color of a notehead. Value conforms to data.COLOR.
head.fill(optional)Describes how/if the notehead is filled. Value conforms to data.FILL.
head.fillcolor(optional)Captures the fill color of a notehead if different from the overall note color. Value conforms to data.COLOR.
head.mod(optional)Records any additional symbols applied to the notehead. One or more values from data.NOTEHEADMODIFIER, separated by spaces.
head.rotation(optional)Describes rotation applied to the basic notehead shape. A positive value rotates the notehead in a counter-clockwise fashion, while negative values produce clockwise rotation. Value conforms to data.ROTATION.
head.shape(optional)Used to override the head shape normally used for the given duration. Value conforms to data.HEADSHAPE.
head.visible(optional)Indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form. Value conforms to data.BOOLEAN.
Component declarations that are shared between two or more modules.
head.altsym(optional)Provides a way of pointing to a user-defined symbol. It must contain a reference to an ID of a symbolDef element elsewhere in the document. Value conforms to data.URI.
head.auth(optional)A name or label associated with the controlled vocabulary from which a numerical value of head.shape is taken. Suggested values are: "smufl" (Standard Music Font Layout.)
head.color(optional)Captures the overall color of a notehead. Value conforms to data.COLOR.
head.fill(optional)Describes how/if the notehead is filled. Value conforms to data.FILL.
head.fillcolor(optional)Captures the fill color of a notehead if different from the overall note color. Value conforms to data.COLOR.
head.mod(optional)Records any additional symbols applied to the notehead. One or more values from data.NOTEHEADMODIFIER, separated by spaces.
head.rotation(optional)Describes rotation applied to the basic notehead shape. A positive value rotates the notehead in a counter-clockwise fashion, while negative values produce clockwise rotation. Value conforms to data.ROTATION.
head.shape(optional)Used to override the head shape normally used for the given duration. Value conforms to data.HEADSHAPE.
head.visible(optional)Indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form. Value conforms to data.BOOLEAN.
Available at
ambNoteHighest or lowest pitch in a score, staff, or layer.
noteA single pitched event.
Component declarations that are shared between two or more modules.
ambNoteHighest or lowest pitch in a score, staff, or layer.
noteA single pitched event.
Constraints

@head.altsym attribute should have content.
The value in @head.altsym should correspond to the @xml:id attribute of a symbolDef element.
When @head.auth matches 'smufl', @head.shape must contain a numeric glyph reference in hexadecimal notation, like "#xE000" or "U+E000".
SMuFL version 1.18 uses the range U+E000 - U+ECBF.

Declaration
<classSpec ident="att.noteHeads" module="MEI.shared" type="atts">
<desc xml:lang="en">Attributes pertaining to the notehead part of a note.</desc>
<attList>
<attDef ident="head.altsym" usage="opt">
<desc xml:lang="en">Provides a way of pointing to a user-defined symbol. It must contain a reference to an ID of a
<gi scheme="MEI">symbolDef</gi>
element elsewhere in the document.</desc>
<datatype>
<rng:ref name="data.URI"/>
</datatype>
<constraintSpec ident="check_head.altsymTarget" scheme="schematron">
<constraint>
<sch:rule context="@head.altsym">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@head.altsym attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:symbolDef/@xml:id">The value in @head.altsym should correspond to the @xml:id attribute of a symbolDef element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="head.auth" usage="opt">
<desc xml:lang="en">A name or label associated with the controlled vocabulary from which a numerical value of
<att>head.shape</att>
is taken.</desc>
<datatype>
<rng:data type="NMTOKEN"/>
</datatype>
<constraintSpec ident="check_head.auth" scheme="schematron">
<constraint>
<sch:rule context="mei:*[lower-case(@head.auth) eq 'smufl']">
<sch:assert test="matches(@head.shape, '^#x') or matches(@head.shape, '^U+')">When @head.auth matches 'smufl', @head.shape must contain a numeric glyph reference in hexadecimal notation, like "#xE000" or "U+E000".</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<valList type="semi">
<valItem ident="smufl">
<desc xml:lang="en">Standard Music Font Layout.</desc>
</valItem>
</valList>
</attDef>
<attDef ident="head.color" usage="opt">
<desc xml:lang="en">Captures the overall color of a notehead.</desc>
<datatype>
<rng:ref name="data.COLOR"/>
</datatype>
</attDef>
<attDef ident="head.fill" usage="opt">
<desc xml:lang="en">Describes how/if the notehead is filled.</desc>
<datatype>
<rng:ref name="data.FILL"/>
</datatype>
</attDef>
<attDef ident="head.fillcolor" usage="opt">
<desc xml:lang="en">Captures the fill color of a notehead if different from the overall note color.</desc>
<datatype>
<rng:ref name="data.COLOR"/>
</datatype>
</attDef>
<attDef ident="head.mod" usage="opt">
<desc xml:lang="en">Records any additional symbols applied to the notehead.</desc>
<datatype maxOccurs="unbounded">
<rng:ref name="data.NOTEHEADMODIFIER"/>
</datatype>
</attDef>
<attDef ident="head.rotation" usage="opt">
<desc xml:lang="en">Describes rotation applied to the basic notehead shape. A positive value rotates the notehead in a counter-clockwise fashion, while negative values produce clockwise rotation.</desc>
<datatype>
<rng:ref name="data.ROTATION"/>
</datatype>
</attDef>
<attDef ident="head.shape" usage="opt">
<desc xml:lang="en">Used to override the head shape normally used for the given duration.</desc>
<datatype>
<rng:ref name="data.HEADSHAPE"/>
</datatype>
<constraintSpec ident="check_headshape_num" scheme="schematron">
<constraint>
<sch:rule context="mei:*[(matches(@head.shape, '#x') or matches(@head.shape, 'U+')) and (lower-case(@head.auth) eq 'smufl')]">
<sch:assert role="warning" test="matches(normalize-space(@head.shape), '^(#x|U\+)E([0-9AB][0-9A-F][0-9A-F]|C[0-9A][0-9A-F]|CB[0-9A-F])$')">SMuFL version 1.18 uses the range U+E000 - U+ECBF.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="head.visible" usage="opt">
<desc xml:lang="en">Indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form.</desc>
<datatype>
<rng:ref name="data.BOOLEAN"/>
</datatype>
</attDef>
</attList>
</classSpec>