<sch:rule context="@instr">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@instr attribute
should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:instrDef/@xml:id">The value in @instr should correspond to the @xml:id attribute of an instrDef
element.</sch:assert>
</sch:rule>
<classSpec ident="att.instrumentIdent" module="MEI.midi" type="atts">
<desc>Attributes which identify a MIDI instrument.</desc>
<attList org="group">
<attDef ident="instr" usage="opt">
<desc>Provides a way of pointing to a MIDI instrument definition. It must contain the ID
of
an
<gi scheme="MEI">instrDef</gi> element elsewhere in the document.</desc>
<constraintSpec ident="check_instrTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@instr">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@instr attribute
should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:instrDef/@xml:id">The value in @instr should correspond to the @xml:id attribute of an instrDef
element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
</attList>
</classSpec>