<sch:rule context="@nymref">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@nymref attribute
should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">The
value in @nymref should correspond to the @xml:id attribute of an
element.</sch:assert>
</sch:rule>
<classSpec ident="att.name" module="MEI.shared" type="atts">
<desc>Attributes shared by names.</desc>
<classes>
<memberOf
key="att.authorized"/>
<memberOf
key="att.datable"/>
<memberOf
key="att.filing"/>
</classes>
<attList org="group">
<attDef ident="nymref" usage="opt">
<desc>Used to record a pointer to the regularized form of the name elsewhere in the
document.</desc>
<constraintSpec ident="check_nymrefTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@nymref">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@nymref attribute
should have content.</sch:assert>
<sch:assert role="warning" test="every $i in tokenize(., '\s+') satisfies substring($i,2)=//mei:*/@xml:id">The
value in @nymref should correspond to the @xml:id attribute of an
element.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="role" usage="opt">
<desc>Used to specify further information about the entity referenced by this name, for
example, the occupation of a person or the status of a place.</desc>
<datatype maxOccurs="1" minOccurs="1">
<rng:text/>
</datatype>
<remarks>
<p part="N">When applicable, values from the MARC relator term list (
<ref target="http://www.loc.gov/marc/relators/relaterm.html">http://www.loc.gov/marc/relators/relaterm.html</ref>) or code list (
<ref target="http://www.loc.gov/marc/relators/relacode.html">http://www.loc.gov/marc/relators/relacode.html</ref>) are recommended for
<att scheme="TEI">role</att>.</p>
</remarks>
</attDef>
</attList>
</classSpec>