<sch:rule context="mei:clef[matches(@shape, '[FCG]')]">
<sch:assert test="@line">When @shape is present, @line must also be
specified.</sch:assert>
</sch:rule>
<classSpec ident="att.clefShape" module="MEI.shared" type="atts">
<desc>Attributes that record the shape of a clef.</desc>
<constraintSpec ident="shape_requires_line" scheme="isoschematron">
<constraint>
<sch:rule context="mei:clef[matches(@shape, '[FCG]')]">
<sch:assert test="@line">When @shape is present, @line must also be
specified.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<attList org="group">
<attDef ident="shape" usage="opt">
<desc>Describes a clef's shape.</desc>
</attDef>
</attList>
</classSpec>