att.extsym

Attributes used to associated MEI features with corresponding glyphs in an externally-defined standard such as SMuFL.
Module MEI.externalsymbols
Members
Attributes
@glyphname(optional)Glyph name. Value of datatype string. att.extsym
@glyphnum(optional)Numeric glyph reference in hexadecimal notation, e.g. "#xE000" or "U+E000". N.B. SMuFL version 1.18 uses the range U+E000 - U+ECBF. Value of datatype a string matching the following regular expression: "(#x|U\+)[A-F0-9]+" . att.extsym
Declaration
<attDef ident="glyphname" usage="opt">
<desc>Glyph name.</desc>
<datatype maxOccurs="1" minOccurs="1">
<rng:data type="string"/>
</datatype>
<constraintSpec ident="check_glyphnameTarget" scheme="isoschematron">
<constraint>
<sch:rule context="@glyphname">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@glyphname attribute should have content.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
<attDef ident="glyphnum" usage="opt">
<desc>Numeric glyph reference in hexadecimal notation, e.g. "#xE000" or "U+E000". N.B. SMuFL version 1.18 uses the range U+E000 - U+ECBF.</desc>
<datatype maxOccurs="1" minOccurs="1">
<rng:data type="string">
<!-- a hexadecimal number in one of two common formats -->
<rng:param name="pattern">(#x|U\+)[A-F0-9]+</rng:param>
</rng:data>
</datatype>
<!-- This rule only checks the length of @glyphnum. More complex constraints are needed to display a warning when @glyphnum is outside the range defined by SMuFL. -->
<constraintSpec ident="check_glyphnum" scheme="isoschematron">
<constraint>
<sch:rule context="mei:*[starts-with(@glyphnum, 'U+')]">
<sch:assert role="warning" test="string-length(@glyphnum) = 6">SMuFL version 1.18 uses the range U+E000 - U+ECBF.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
</attDef>
Constraint
@glyphname attribute should have content.
<sch:rule context="@glyphname">
<sch:assert role="warning" test="not(normalize-space(.) eq '')">@glyphname attribute should have content.</sch:assert>
</sch:rule>
Constraint
SMuFL version 1.18 uses the range U+E000 - U+ECBF.
<sch:rule context="mei:*[starts-with(@glyphnum, 'U+')]">
<sch:assert role="warning" test="string-length(@glyphnum) = 6">SMuFL version 1.18 uses the range U+E000 - U+ECBF.</sch:assert>
</sch:rule>