att.custos.log

Logical domain attributes.
Module
Attributes
@accid, @oct, @pname, @target
@accid(optional)Captures a written accidental. Value conforms to data.ACCIDENTAL.WRITTEN.
@oct(optional)Captures written octave information. Value conforms to data.OCTAVE.
@pname(optional)Contains a written pitch name. Value conforms to data.PITCHNAME.
@target(optional)Encodes the target note when its pitch differs from the pitch at which the custos appears. Value conforms to data.URI.
@target(optional)Encodes the target note when its pitch differs from the pitch at which the custos appears. Value conforms to data.URI.
(MEI.shared) Attributes for capturing momentary pitch inflection.
@accid(optional)Captures a written accidental. Value conforms to data.ACCIDENTAL.WRITTEN.
(MEI.shared) Attributes that record written pitch name and octave number.
(MEI.shared) Attributes that record written pitch name.
@pname(optional)Contains a written pitch name. Value conforms to data.PITCHNAME.
(MEI.shared) Attributes that record written octave.
@oct(optional)Captures written octave information. Value conforms to data.OCTAVE.
Component declarations that are shared between two or more modules.
@accid(optional)Captures a written accidental. Value conforms to data.ACCIDENTAL.WRITTEN.
@oct(optional)Captures written octave information. Value conforms to data.OCTAVE.
@pname(optional)Contains a written pitch name. Value conforms to data.PITCHNAME.
@target(optional)Encodes the target note when its pitch differs from the pitch at which the custos appears. Value conforms to data.URI.
Available at
<custos>Symbol placed at the end of a line of music to indicate the first note of the next line. Sometimes called a "direct".
Component declarations that are shared between two or more modules.
<custos>Symbol placed at the end of a line of music to indicate the first note of the next line. Sometimes called a "direct".
Constraints

@target attribute should have content.
The value in @target should correspond to the @xml:id attribute of a note element.

Declaration
<classSpec ident="att.custos.log" module="MEI.shared" type="atts">
<desc xml:lang="en">Logical domain attributes.</desc>
<classes>
<memberOf key="att.accidental"/>
<memberOf key="att.pitched"/>
</classes>
<attList>
<attDef ident="target" usage="opt">
<desc xml:lang="en">Encodes the target note when its pitch differs from the pitch at which the custos appears.</desc>
<datatype>
<rng:ref name="data.URI"/>
</datatype>
<constraintSpec ident="check_custosTarget" scheme="schematron">
<constraint>
<sch:rule context="mei:custos/@target">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@target attribute should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:note/@xml:id">The value in @target should correspond to the @xml:id attribute of a note element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
</attList>
</classSpec>