<symbol>

A reference to a previously defined symbol.
Module MEI.usersymbols
Attributes
@altsym(optional)Provides a way of pointing to a user-defined symbol. It must contain an ID of a <symbolDef> element elsewhere in the document. Value conforms to data.URI. att.altsym
@authURI(optional)The web-accessible location of the controlled vocabulary from which the value is taken. Value conforms to data.URI. att.authorized
@authority(optional)A name or label associated with the controlled vocabulary from which the value is taken. Value of datatype string. att.authorized
@color(optional)Used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation. Value conforms to data.COLOR. att.color
@copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI. att.common.anl
@corresp(optional)Used to point to other elements that correspond to this one in a generic fashion. One or more values from data.URI, separated by spaces. att.common.anl
@facs(optional)Permits the current element to reference a facsimile surface or image zone which corresponds to it. One or more values from data.URI, separated by spaces. att.facsimile
@fontfam(optional)Contains the name of a font-family. Value conforms to data.FONTFAMILY. att.typography
@fontname(optional)Holds the name of a font. Value conforms to data.FONTNAME. att.typography
@fontsize(optional)Indicates the size of a font expressed in printers' points, i.e., 1/72nd of an inch, relative terms, e.g., "small", "larger", etc., or percentage values relative to "normal" size, e.g., "125%". Value conforms to data.FONTSIZE. att.typography
@fontstyle(optional)Records the style of a font, i.e, italic, oblique, or normal. Value conforms to data.FONTSTYLE. att.typography
@fontweight(optional)Used to indicate bold type. Value conforms to data.FONTWEIGHT. att.typography
@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
@ho(optional)Records a horizontal adjustment to a feature's programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTREL. att.visualoffset.ho
@label(optional)Provides a name or label for an element. The value may be any string. Value of datatype string. att.commonPart
@n(optional)Provides a number-like designation for an element. Value conforms to token. att.common
@next(optional)Used to point to the next event(s) in a user-defined collection. One or more values from data.URI, separated by spaces. att.common.anl
@prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces. att.common.anl
@sameas(optional)Points to an element that is the same as the current element but is not a literal copy of the current element. One or more values from data.URI, separated by spaces. att.common.anl
@scale(optional)Scale factor to be applied to the feature to make it the desired display size. Value conforms to data.PERCENT. att.scalable
@startid(optional)Holds a reference to the first element in a sequence of events to which the feature applies. Value conforms to data.URI. att.startid
@subtype(optional)Provide any sub-classification for the element, additional to that given by its type attribute. Value of datatype NMTOKEN. att.typed
@synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces. att.common.anl
@to(optional)Records a timestamp adjustment of a feature's programmatically-determined location in terms of musical time; that is, beats. Value conforms to data.TSTAMPOFFSET. att.visualoffset.to
@type(optional)Characterizes the element in some sense, using any convenient classification scheme or typology. Value of datatype NMTOKEN. att.typed
@vo(optional)Records the vertical adjustment of a feature's programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTREL. att.visualoffset.vo
@when(optional)Indicates the point of occurrence of this feature along a time line. Its value must be the ID of a when element elsewhere in the document. Value conforms to data.URI. att.alignment
@x(optional)Encodes an x coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value of datatype decimal. att.xy
@xml:base(optional)Provides a base URI reference with which applications can resolve relative URI references into absolute URI references. Value conforms to data.URI. att.commonPart
@xml:id(optional)Regularizes the naming of an element and thus facilitates building links between it and other resources. Each id attribute within a document must have a unique value. Value of datatype ID. att.id
@y(optional)Encodes an y coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value of datatype decimal. att.xy
Member of
Contained by
May contain
Empty
Declaration
<classes>
<memberOf key="att.altsym"/>
<memberOf key="att.authorized"/>
<memberOf key="att.color"/>
<memberOf key="att.common"/>
<memberOf key="att.common.anl"/>
<memberOf key="att.extsym"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.scalable"/>
<memberOf key="att.startid"/>
<memberOf key="att.typed"/>
<memberOf key="att.typography"/>
<memberOf key="att.visualoffset"/>
<memberOf key="att.xy"/>
</classes>
<content>
<rng:empty/>
</content>
Remarks

The starting point, e.g. "hotspot", of the symbol may be identified in absolute output coordinate terms using the x and y attributes or relative to another element using the startid attribute. Attributes in the att.visualoffset class may be used to record horizontal, vertical, or time offsets from the absolute coordinates or from the location of the referenced element. The ref attribute must contain the id of a symbolDef element. The scale attribute indicates that the printed output must be scaled by the specified percentage.

Constraint
In the symbolDef context, symbol must have either a startid attribute or x and y attributes.
In the symbolDef context, symbol must have one of the following attributes: altsym, glyphname, or glyphnum.
<sch:rule context="mei:symbol[ancestor::mei:symbolDef]">
<sch:assert test="@startid or (@x and @y)">In the symbolDef context, symbol must have either a startid attribute or x and y attributes.</sch:assert>
<sch:assert test="@altsym or @glyphname or @glyphnum">In the symbolDef context, symbol must have one of the following attributes: altsym, glyphname, or glyphnum.</sch:assert>
</sch:rule>