<sch:rule context="@facs">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@facs attribute should
have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*[local-name() eq
'surface' or local-name() eq 'zone']/@xml:id">Each value in @facs should correspond to the @xml:id attribute of a surface or zone
element.</sch:assert>
</sch:rule>
<classSpec ident="att.facsimile" module="MEI.facsimile" type="atts">
<desc>Attributes that associate a feature corresponding with all or part of an image.</desc>
<attList org="group">
<attDef ident="facs" usage="opt">
<desc>Permits the current element to reference a facsimile surface or image zone which
corresponds to it.</desc>
<constraintSpec ident="check_facsTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@facs">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@facs attribute should
have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*[local-name() eq
'surface' or local-name() eq 'zone']/@xml:id">Each value in @facs should correspond to the @xml:id attribute of a surface or zone
element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
</attList>
</classSpec>