att.custos.log

Logical domain attributes.
Module
MEI.shared
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
custosSymbol 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.
custosSymbol 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>Logical domain attributes.</desc>
<classes>
<memberOf key="att.accidental"/>
<memberOf key="att.pitched"/>
</classes>
<attList>
<attDef ident="target" usage="opt">
<desc>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="isoschematron">
<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>