att.custos.log

Logical domain attributes.
Module MEI.shared
Members
custos (direct member of att.custos.log)
Attributes
@oct(optional)Captures written octave information. Value conforms to data.OCTAVE. att.octave
@pname(optional)Contains a written pitch name. Value conforms to data.PITCHNAME. att.pitch
@target(optional)Encodes the target note when its pitch differs from the pitch at which the custos appears. Value conforms to data.URI. att.custos.log
Declaration
<classes>
<memberOf key="att.pitched"/>
</classes>
<attDef ident="target" usage="opt">
<desc>Encodes the target note when its pitch differs from the pitch at which the custos appears.</desc>
<datatype maxOccurs="1" minOccurs="1">
<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>
Constraint
@target attribute should have content.
The value in @target should correspond to the @xml:id attribute of a note element.
<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>