<line>

A visual line that cannot be represented by a more specific; i.e., semantic, element.
Module MEI.usersymbols
Attributes
@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
@dur(optional)Records duration using optionally dotted, relative durational values provided by the data.DURATION datatype. When the duration is "irrational", as is sometimes the case with tuplets, multiple space-separated values that add up to the total duration may be used. When dotted values are present, the dots attribute must be ignored. One or more values from data.DURATION.additive, separated by spaces. att.duration.additive
@dur.ges(optional)Records performed duration information that differs from the written duration. Its value may be expressed in several forms; that is, ppq (MIDI clicks and MusicXML 'divisions'), Humdrum **recip values, beats, seconds, or mensural duration values. Value conforms to data.DURATION.gestural. att.duration.performed
@endho(optional)Records the horizontal adjustment of a feature's programmatically-determined end point. Value conforms to data.MEASUREMENTREL. att.visualoffset2.ho
@endid(optional)Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI. att.startendid
@endsym(optional)Symbol rendered at end of line. Value conforms to data.LINESTARTENDSYMBOL. att.line.vis
@endsymsize(optional)Holds the relative size of the line-end symbol. Value conforms to data.LINESTARTENDSYMBOLSIZE. att.line.vis
@endto(optional)Records a timestamp adjustment of a feature's programmatically-determined end point. Value conforms to data.TSTAMPOFFSET. att.visualoffset2.to
@endvo(optional)Records a vertical adjustment of a feature's programmatically-determined end point. Value conforms to data.MEASUREMENTREL. att.visualoffset2.vo
@evaluate(optional)Specifies the intended meaning when a participant in a relationship is itself a pointer. Allowed values are: "all" (If an element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer.), "one" (If an element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer.), "none" (No further evaluation of targets is carried out beyond that needed to find the element(s) specified in plist or target attribute.)att.targeteval
@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
@form(optional)Visual form of the line. Value conforms to data.LINEFORM. att.line.vis
@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
@layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces. att.layerident
@n(optional)Provides a number-like designation for an element. Value conforms to token. att.common
@place(optional)Captures the placement of the item with respect to the staff with which it is associated. Value conforms to data.STAFFREL. att.placement
@plist(optional)Contains a space separated list of references that identify active participants in a collection/relationship, such as notes under a phrase mark; that is, the entities pointed "from". One or more values from data.URI, separated by spaces. att.plist
@staff(optional)Signifies the staff on which a notated event occurs or to which a control event applies. Mandatory when applicable. One or more values of datatype positiveInteger, separated by spaces. att.staffident
@startho(optional)Records the horizontal adjustment of a feature's programmatically-determined start point. Value conforms to data.MEASUREMENTREL. att.visualoffset2.ho
@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
@startsym(optional)Symbol rendered at start of line. Value conforms to data.LINESTARTENDSYMBOL. att.line.vis
@startsymsize(optional)Holds the relative size of the line-start symbol. Value conforms to data.LINESTARTENDSYMBOLSIZE. att.line.vis
@startto(optional)Records a timestamp adjustment of a feature's programmatically-determined start point. Value conforms to data.TSTAMPOFFSET. att.visualoffset2.to
@startvo(optional)Records a vertical adjustment of a feature's programmatically-determined start point. Value conforms to data.MEASUREMENTREL. att.visualoffset2.vo
@subtype(optional)Provide any sub-classification for the element, additional to that given by its type attribute. Value of datatype NMTOKEN. att.typed
@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
@tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional_beat_part]. Value conforms to data.BEAT. att.timestamp.musical
@tstamp.ges(optional)Captures performed onset time in several forms; that is, ppq (MIDI clicks and MusicXML 'divisions'), Humdrum **recip values, beats, seconds, or mensural duration values. Value conforms to data.DURATION.gestural. att.timestamp.performed
@tstamp.real(optional)Used to record the onset time in terms of ISO time. Value conforms to data.ISOTIME. att.timestamp.performed
@tstamp2(optional)Encodes the ending point of an event in terms of musical time, i.e., a count of measures plus a beat location. Value conforms to data.MEASUREBEAT. att.timestamp2.musical
@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
@width(optional)Width of the line. Value conforms to data.LINEWIDTH. att.line.vis
@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
@x2(optional)Encodes the optional 2nd x coordinate. Value of datatype decimal. att.xy2
@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
@y2(optional)Encodes the optional 2nd y coordinate. Value of datatype decimal. att.xy2
Member of
Contained by
MEI.cmnmeasure
MEI.critapplem rdg
MEI.harmonyharm
MEI.neumessyllable
MEI.usersymbolssymbolDef
May contain
Declaration
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.line.anl"/>
<memberOf key="att.line.ges"/>
<memberOf key="att.line.log"/>
<memberOf key="att.line.vis"/>
<memberOf key="att.typed"/>
<memberOf key="model.graphicprimitiveLike"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:choice>
<rng:text/>
<rng:ref name="model.textphraseLike.limited" />
</rng:choice>
</rng:zeroOrMore>
</content>
Remarks

The starting point of the line may be identified in absolute output coordinate terms using the x and y attributes. The attributes in the att.visualoffset class may be used to record horizontal, vertical, or time offsets from these absolute coordinates or from the location of the element reference in the startid attribute. Similarly, the terminal point of the line may be recorded using the x2 and y2 attributes. Attributes in the att.visualoffset2 class maybe used to record the offsets of the ending point. Textual content of the line element, e.g. 'gliss.', may be rendered with the line. The appearance of the line is captured in the color, form and width attributes.

Constraint
When used in the symbolDef context, must have either a startid attribute or x and y attributes.
When used in the symbolDef context, must have either an endid attribute or both x2 and y2 attributes.
When used in the score context, must have a startid, tstamp, tstamp.ges or tstamp.real attribute or both x and y attributes.
When used in the score context, must have an endid, dur, dur.ges, or tstamp2 attribute or both x2 and y2 attributes.
<sch:rule context="mei:line[ancestor::mei:symbolDef]">
<sch:assert test="@startid or (@x and @y)">When used in the symbolDef context, must have either a startid attribute or x and y attributes.</sch:assert>
<sch:assert test="@endid or (@x2 and @y2)">When used in the symbolDef context, must have either an endid attribute or both x2 and y2 attributes.</sch:assert>
</sch:rule>
<sch:rule context="mei:line[not(ancestor::mei:symbolDef)]">
<sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real or (@x and @y)">When used in the score context, must have a startid, tstamp, tstamp.ges or tstamp.real attribute or both x and y attributes.</sch:assert>
<sch:assert test="@dur or @dur.ges or @endid or @tstamp2 or (@x2 and @y2)">When used in the score context, must have an endid, dur, dur.ges, or tstamp2 attribute or both x2 and y2 attributes.</sch:assert>
</sch:rule>