<phrase>

Indication of 1) a "unified melodic idea" or 2) performance technique.
Module
Attributes
bezier, bulge, class, color, copyof, corresp, curvedir, dots.ges, dur, dur.ges, dur.metrical, dur.ppq, dur.real, dur.recip, endho, endid, endto, endvo, evaluate, facs, follows, ho, join, label, layer, lform, lsegs, lwidth, n, next, part, partstaff, plist, precedes, prev, resp, sameas, staff, startho, startid, startto, startvo, synch, to, tstamp, tstamp.ges, tstamp.real, tstamp2, tstamp2.ges, tstamp2.real, type, vo, when, x, x2, xml:base, xml:id, y, y2
bezier(optional)Records the placement of Bezier control points as a series of pairs of space-separated values; e.g., 19 45 -32 118. One or more values, each consisting of a sequence of decimal and decimal sub-values.
bulge(optional)Describes a curve as one or more pairs of values with respect to an imaginary line connecting the starting and ending points of the curve. The first value captures a distance to the left (positive value) or right (negative value) of the line, expressed in virtual units. The second value of each pair represents a point along the line, expressed as a percentage of the line’s length. N.B. An MEI virtual unit (vu) is half the distance between adjacent staff lines where the interline space is measured from the middle of a staff line. One or more of decimal.
class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
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.
copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
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.
curvedir(optional)Describes a curve with a generic term indicating the direction of curvature. Allowed values are: "above" (Upward curve.), "below" (Downward curve.), "mixed" (A "meandering" curve, both above and below the items it pertains to.)
dots.ges(optional)Number of dots required for a gestural duration when different from that of the written duration. Value conforms to data.AUGMENTDOT.
dur(optional)When a duration cannot be represented as a single power-of-two value, multiple space-separated values that add up to the total duration may be used. One or more values from data.DURATION, separated by spaces.
dur.ges(optional)Records performed duration information that differs from the written duration. Value conforms to data.DURATION.GESTURAL.
dur.metrical(optional)Duration as a count of units provided in the time signature denominator. Value is a decimal number.
dur.ppq(optional)Duration recorded as pulses-per-quarter note, e.g., MIDI clicks or MusicXML divisions. Value is a positive integer, including 0.
dur.real(optional)Duration in seconds, e.g., 1.732. Value is a decimal number.
dur.recip(optional)Duration as an optionally dotted Humdrum **recip value. Value is a token.
endho(optional)Records the horizontal adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
endid(optional)Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI.
endto(optional)Records a timestamp adjustment of a feature’s programmatically-determined end point. Value conforms to data.TSTAMPOFFSET.
endvo(optional)Records a vertical adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
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.)
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. One or more values from data.URI, separated by spaces.
follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
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.MEASUREMENTSIGNED.
join(optional)Used for linking visually separate entities that form a single logical entity, for example, multiple slurs broken across a system break that form a single musical phrase. Also used to indicate a measure which metrically completes the current one. Record the identifiers of the separately encoded components, excluding the one carrying the attribute. One or more values from data.URI, separated by spaces.
label(optional)Captures text to be used to generate a label for the element to which it’s attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value is plain text.
layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces.
lform(optional)Describes the style of a line. Value conforms to data.LINEFORM.
lsegs(optional)Describes the number of segments into which a dashed or dotted line may be divided, or the number of "peaks" of a wavy line; a pair of space-separated values (minimum and maximum, respectively) provides a range between which a rendering system-supplied value may fall, while a single value indicates a fixed amount of space; that is, the minimum and maximum values are equal. One or two values of datatype a positive integer no smaller than 2, separated by a space.
lwidth(optional)Width of a line. Value conforms to data.LINEWIDTH.
n(optional)Provides a number-like designation that indicates an element’s position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
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.
part(optional)Indicates the part in which the current feature should appear. Use '%all' when the feature should occur in every part. One or more values of datatype a string matching the following regular expression: "(%all|#[\i][\c]+)" , separated by spaces.
partstaff(optional)Signifies the part staff on which a notated feature occurs. Use '%all' when the feature should occur on every staff. One or more values of datatype a string matching the following regular expression: "(%all|\d+(-\d+)?)" , separated by spaces.
plist(optional)When the target attribute is present, plist identifies the active participants; that is, those entities pointed "from", in a relationship with the specified target(s). When the target attribute is not present, it identifies participants in a mutual relationship. One or more values from data.URI, separated by spaces.
precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
resp(optional)Indicates the agent(s) responsible for some aspect of the text’s transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
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.
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.
startho(optional)Records the horizontal adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
startid(optional)Holds a reference to the first element in a sequence of events to which the feature applies. Value conforms to data.URI.
startto(optional)Records a timestamp adjustment of a feature’s programmatically-determined start point. Value conforms to data.TSTAMPOFFSET.
startvo(optional)Records a vertical adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
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.
tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.ges(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.real(optional)Records the onset time in terms of ISO time. Value conforms to data.ISOTIME.
tstamp2(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.ges(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.real(optional)Records the ending point of an event in terms of ISO time. Value conforms to data.ISOTIME.
type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
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.MEASUREMENTSIGNED.
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.
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 is a decimal number.
x2(optional)Encodes the optional 2nd x coordinate. Value is a decimal number.
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.
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 is a valid xml:id.
y(optional)Encodes a 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 is a decimal number.
y2(optional)Encodes the optional 2nd y coordinate. Value is a decimal number.
(MEI.shared) Attributes common to many elements.
(MEI.shared) Attributes that form the basis of the att.common class.
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.
(MEI.shared) Attributes that uniquely identify an element.
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 is a valid xml:id.
(MEI.shared)
label(optional)Captures text to be used to generate a label for the element to which it’s attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value is plain text.
(MEI.shared) Attributes that specify element-to-element relationships.
copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
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.
follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
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.
precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
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.
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes used to supply a number-like designation for an element.
n(optional)Provides a number-like designation that indicates an element’s position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
(MEI.shared) Attributes capturing information regarding responsibility for some aspect of the text's creation, transcription, editing, or encoding.
resp(optional)Indicates the agent(s) responsible for some aspect of the text’s transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes which can be used to classify features.
type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
(MEI.shared) Attributes which can be used to classify features.
class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
(MEI.facsimile) Attributes that associate a feature corresponding with all or part of an image.
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. One or more values from data.URI, separated by spaces.
(MEI.analytical) Analytical domain attributes.
(MEI.shared) Attributes indicating that elements are semantically linked; that is, while the parts are encoded separately, together they may be thought of as a single intellectual object.
join(optional)Used for linking visually separate entities that form a single logical entity, for example, multiple slurs broken across a system break that form a single musical phrase. Also used to indicate a measure which metrically completes the current one. Record the identifiers of the separately encoded components, excluding the one carrying the attribute. One or more values from data.URI, separated by spaces.
(MEI.gestural) Gestural domain attributes.
(MEI.gestural) Attributes that record performed duration that differs from a feature’s written duration.
dur.ges(optional)Records performed duration information that differs from the written duration. Value conforms to data.DURATION.GESTURAL.
dots.ges(optional)Number of dots required for a gestural duration when different from that of the written duration. Value conforms to data.AUGMENTDOT.
dur.metrical(optional)Duration as a count of units provided in the time signature denominator. Value is a decimal number.
dur.ppq(optional)Duration recorded as pulses-per-quarter note, e.g., MIDI clicks or MusicXML divisions. Value is a positive integer, including 0.
dur.real(optional)Duration in seconds, e.g., 1.732. Value is a decimal number.
dur.recip(optional)Duration as an optionally dotted Humdrum **recip value. Value is a token.
(MEI.gestural) Attributes that record a performed (as opposed to notated) time stamp for the end of an event.
tstamp2.ges(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.real(optional)Records the ending point of an event in terms of ISO time. Value conforms to data.ISOTIME.
(MEI.shared) Logical domain attributes.
(MEI.shared) Attributes shared by events which rely on other events for their existence. For example, a slur/phrase marking must be drawn between or over a group of notes. The slur is therefore a control event.
(MEI.performance) Temporal alignment attributes.
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.
(MEI.shared) Attributes that identify the layer to which a feature applies.
layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces.
(MEI.shared) Attributes for identifying the part in which the current feature appears.
part(optional)Indicates the part in which the current feature should appear. Use '%all' when the feature should occur in every part. One or more values of datatype a string matching the following regular expression: "(%all|#[\i][\c]+)" , separated by spaces.
partstaff(optional)Signifies the part staff on which a notated feature occurs. Use '%all' when the feature should occur on every staff. One or more values of datatype a string matching the following regular expression: "(%all|\d+(-\d+)?)" , separated by spaces.
(MEI.shared) Attributes listing the active participants in a user-defined collection.
plist(optional)When the target attribute is present, plist identifies the active participants; that is, those entities pointed "from", in a relationship with the specified target(s). When the target attribute is not present, it identifies participants in a mutual relationship. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes for identifying the staff associated with the current feature.
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.
(MEI.shared) Attributes that deal with resolution of values in plist or target attributes.
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.)
(MEI.shared) Attributes that record a time stamp in terms of musical time, , beats[.fractional beat part].
tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
(MEI.gestural) Attributes that record a performed (as opposed to notated) time stamp.
tstamp.ges(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.real(optional)Records the onset time in terms of ISO time. Value conforms to data.ISOTIME.
(MEI.shared) Attributes that permit total duration to be represented by multiple values.
dur(optional)When a duration cannot be represented as a single power-of-two value, multiple space-separated values that add up to the total duration may be used. One or more values from data.DURATION, separated by spaces.
(MEI.shared) Attributes recording the identifiers of the first and last elements of a sequence of elements to which the current element is associated.
endid(optional)Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI.
(MEI.shared) Attributes that identify a relative starting point.
startid(optional)Holds a reference to the first element in a sequence of events to which the feature applies. Value conforms to data.URI.
(MEI.shared) Attributes that record a time stamp for the end of an event in terms of musical time.
tstamp2(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
(MEI.visual) Visual domain attributes.
(MEI.shared) Visual color 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.
(MEI.shared) Visual offset attributes. Some items may have their location recorded in terms of offsets from their programmatically-determined location. The ho attribute records the horizontal offset while vo records the vertical. The to attribute holds a timestamp offset, the most common use of which is as an alternative to the ho attribute.
(MEI.shared) Horizontal offset attributes.
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.MEASUREMENTSIGNED.
(MEI.shared) Horizontal offset attributes specified in terms of time.
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.
(MEI.shared) Vertical offset attributes.
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.MEASUREMENTSIGNED.
(MEI.shared) Visual offset attributes. Some items may have their location recorded in terms of pairs of offsets from their programmatically-determined location. The startho and endho attributes record the horizontal offsets of the start and end points of the item, respectively. Similarly, the startvo and endvo attributes record the vertical offsets of the start and end points of the item. The startto and endto attributes hold timestamp offsets, the most common use of which is as alternatives to the ho attributes.
(MEI.shared) Horizontal offset requiring a pair of attributes.
startho(optional)Records the horizontal adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
endho(optional)Records the horizontal adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
(MEI.shared) Horizontal offset attributes requiring a pair of attributes specified in terms of time.
startto(optional)Records a timestamp adjustment of a feature’s programmatically-determined start point. Value conforms to data.TSTAMPOFFSET.
endto(optional)Records a timestamp adjustment of a feature’s programmatically-determined end point. Value conforms to data.TSTAMPOFFSET.
(MEI.shared) Vertical offset attributes requiring a pair of attributes.
startvo(optional)Records a vertical adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
endvo(optional)Records a vertical adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
(MEI.shared) Output coordinate attributes. Some elements may have their exact rendered *output* coordinates recorded. x and y attributes indicate where to place the rendered output. Recording the coordinates of a feature in a facsimile requires the use of the facs attribute.
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 is a decimal number.
y(optional)Encodes a 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 is a decimal number.
(MEI.shared) Output coordinate attributes. Some elements may need 2 coordinate pairs to record their rendered *output* coordinates. The attributes indicate where to place the rendered output. Recording the coordinates of a feature in a facsimile requires the use of the facs attribute.
x2(optional)Encodes the optional 2nd x coordinate. Value is a decimal number.
y2(optional)Encodes the optional 2nd y coordinate. Value is a decimal number.
(MEI.cmn) Visual domain attributes.
(MEI.shared) Attributes that describe curvature.
bezier(optional)Records the placement of Bezier control points as a series of pairs of space-separated values; e.g., 19 45 -32 118. One or more values, each consisting of a sequence of decimal and decimal sub-values.
bulge(optional)Describes a curve as one or more pairs of values with respect to an imaginary line connecting the starting and ending points of the curve. The first value captures a distance to the left (positive value) or right (negative value) of the line, expressed in virtual units. The second value of each pair represents a point along the line, expressed as a percentage of the line’s length. N.B. An MEI virtual unit (vu) is half the distance between adjacent staff lines where the interline space is measured from the middle of a staff line. One or more of decimal.
curvedir(optional)Describes a curve with a generic term indicating the direction of curvature. Allowed values are: "above" (Upward curve.), "below" (Downward curve.), "mixed" (A "meandering" curve, both above and below the items it pertains to.)
(MEI.shared) Attributes that record the basic visual rendition of lines.
lform(optional)Describes the style of a line. Value conforms to data.LINEFORM.
lwidth(optional)Width of a line. Value conforms to data.LINEWIDTH.
lsegs(optional)Describes the number of segments into which a dashed or dotted line may be divided, or the number of "peaks" of a wavy line; a pair of space-separated values (minimum and maximum, respectively) provides a range between which a rendering system-supplied value may fall, while a single value indicates a fixed amount of space; that is, the minimum and maximum values are equal. One or two values of datatype a positive integer no smaller than 2, separated by a space.
Facsimile component declarations.
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. One or more values from data.URI, separated by spaces.
Gestural component declarations.
dots.ges(optional)Number of dots required for a gestural duration when different from that of the written duration. Value conforms to data.AUGMENTDOT.
dur.ges(optional)Records performed duration information that differs from the written duration. Value conforms to data.DURATION.GESTURAL.
dur.metrical(optional)Duration as a count of units provided in the time signature denominator. Value is a decimal number.
dur.ppq(optional)Duration recorded as pulses-per-quarter note, e.g., MIDI clicks or MusicXML divisions. Value is a positive integer, including 0.
dur.real(optional)Duration in seconds, e.g., 1.732. Value is a decimal number.
dur.recip(optional)Duration as an optionally dotted Humdrum **recip value. Value is a token.
tstamp.ges(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.real(optional)Records the onset time in terms of ISO time. Value conforms to data.ISOTIME.
tstamp2.ges(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.real(optional)Records the ending point of an event in terms of ISO time. Value conforms to data.ISOTIME.
Performance component declarations.
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.
Component declarations that are shared between two or more modules.
bezier(optional)Records the placement of Bezier control points as a series of pairs of space-separated values; e.g., 19 45 -32 118. One or more values, each consisting of a sequence of decimal and decimal sub-values.
bulge(optional)Describes a curve as one or more pairs of values with respect to an imaginary line connecting the starting and ending points of the curve. The first value captures a distance to the left (positive value) or right (negative value) of the line, expressed in virtual units. The second value of each pair represents a point along the line, expressed as a percentage of the line’s length. N.B. An MEI virtual unit (vu) is half the distance between adjacent staff lines where the interline space is measured from the middle of a staff line. One or more of decimal.
class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
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.
copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
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.
curvedir(optional)Describes a curve with a generic term indicating the direction of curvature. Allowed values are: "above" (Upward curve.), "below" (Downward curve.), "mixed" (A "meandering" curve, both above and below the items it pertains to.)
dur(optional)When a duration cannot be represented as a single power-of-two value, multiple space-separated values that add up to the total duration may be used. One or more values from data.DURATION, separated by spaces.
endho(optional)Records the horizontal adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
endid(optional)Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI.
endto(optional)Records a timestamp adjustment of a feature’s programmatically-determined end point. Value conforms to data.TSTAMPOFFSET.
endvo(optional)Records a vertical adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
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.)
follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
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.MEASUREMENTSIGNED.
join(optional)Used for linking visually separate entities that form a single logical entity, for example, multiple slurs broken across a system break that form a single musical phrase. Also used to indicate a measure which metrically completes the current one. Record the identifiers of the separately encoded components, excluding the one carrying the attribute. One or more values from data.URI, separated by spaces.
label(optional)Captures text to be used to generate a label for the element to which it’s attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value is plain text.
layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces.
lform(optional)Describes the style of a line. Value conforms to data.LINEFORM.
lsegs(optional)Describes the number of segments into which a dashed or dotted line may be divided, or the number of "peaks" of a wavy line; a pair of space-separated values (minimum and maximum, respectively) provides a range between which a rendering system-supplied value may fall, while a single value indicates a fixed amount of space; that is, the minimum and maximum values are equal. One or two values of datatype a positive integer no smaller than 2, separated by a space.
lwidth(optional)Width of a line. Value conforms to data.LINEWIDTH.
n(optional)Provides a number-like designation that indicates an element’s position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
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.
part(optional)Indicates the part in which the current feature should appear. Use '%all' when the feature should occur in every part. One or more values of datatype a string matching the following regular expression: "(%all|#[\i][\c]+)" , separated by spaces.
partstaff(optional)Signifies the part staff on which a notated feature occurs. Use '%all' when the feature should occur on every staff. One or more values of datatype a string matching the following regular expression: "(%all|\d+(-\d+)?)" , separated by spaces.
plist(optional)When the target attribute is present, plist identifies the active participants; that is, those entities pointed "from", in a relationship with the specified target(s). When the target attribute is not present, it identifies participants in a mutual relationship. One or more values from data.URI, separated by spaces.
precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
resp(optional)Indicates the agent(s) responsible for some aspect of the text’s transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
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.
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.
startho(optional)Records the horizontal adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
startid(optional)Holds a reference to the first element in a sequence of events to which the feature applies. Value conforms to data.URI.
startto(optional)Records a timestamp adjustment of a feature’s programmatically-determined start point. Value conforms to data.TSTAMPOFFSET.
startvo(optional)Records a vertical adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
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.
tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp2(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
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.MEASUREMENTSIGNED.
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 is a decimal number.
x2(optional)Encodes the optional 2nd x coordinate. Value is a decimal number.
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.
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 is a valid xml:id.
y(optional)Encodes a 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 is a decimal number.
y2(optional)Encodes the optional 2nd y coordinate. Value is a decimal number.
Member of
model.controlEventLikeGroups elements, such as dynamics, ties, phrase marks, pedal marks, etc., which depend upon other events, such as notes or rests, for their existence.
Contained By
(MEI.shared) Groups elements, such as dynamics, ties, phrase marks, pedal marks, etc., which depend upon other events, such as notes or rests, for their existence.
(MEI.cmn) Groups elements that may appear within a CMN measure.
measureUnit of musical time consisting of a fixed number of note values of a given type, as determined by the prevailing meter, and delimited in musical notation by bar lines.
(MEI.critapp) Groups elements that may appear as part of a musical variant.
(MEI.critapp) Groups elements that may appear as part of a textual or musical variant.
lemContains the lemma, or base text, of a textual variation.
rdgContains a single reading within a textual variation.
(MEI.edittrans) Groups elements that may appear as part of editorial and transcription elements in music notation.
(MEI.edittrans) Groups elements that may appear as part of editorial and transcription elements.
abbrA generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expanContains the expansion of an abbreviation.
origContains material which is marked as following the original, rather than being normalized or corrected.
regContains material which has been regularized or normalized in some sense.
restoreIndicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
sicContains apparently incorrect or inaccurate material.
suppliedContains material supplied by the transcriber or editor for any reason.
unclearContains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
(MEI.mensural) Groups elements that are components of a staff in the mensural repertoire.
(MEI.shared) Groups elements that are components of a staff in the mensural and neume repertoires.
(MEI.shared) Groups elements that are components of a staff.
oStaffA staff that holds an alternative passage which may be played instead of the original material.
staffA group of equidistant horizontal lines on which notes are placed in order to represent pitch or a grouping element for individual 'strands' of notes, rests, etc. that may or may not actually be rendered on staff lines; that is, both diastematic and non-diastematic signs.
(MEI.neumes) Groups elements that may appear as part of the content of a syllable.
syllableNeume notation can be thought of as "neumed text". Therefore, the syllable element provides high-level organization in this repertoire.
Common Music Notation (CMN) repertoire component declarations.
measureUnit of musical time consisting of a fixed number of note values of a given type, as determined by the prevailing meter, and delimited in musical notation by bar lines.
oStaffA staff that holds an alternative passage which may be played instead of the original material.
Critical apparatus component declarations.
lemContains the lemma, or base text, of a textual variation.
rdgContains a single reading within a textual variation.
Editorial and transcriptional component declarations.
abbrA generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expanContains the expansion of an abbreviation.
origContains material which is marked as following the original, rather than being normalized or corrected.
regContains material which has been regularized or normalized in some sense.
restoreIndicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
sicContains apparently incorrect or inaccurate material.
suppliedContains material supplied by the transcriber or editor for any reason.
unclearContains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
Neume repertoire component declarations.
syllableNeume notation can be thought of as "neumed text". Therefore, the syllable element provides high-level organization in this repertoire.
Component declarations that are shared between two or more modules.
staffA group of equidistant horizontal lines on which notes are placed in order to represent pitch or a grouping element for individual 'strands' of notes, rests, etc. that may or may not actually be rendered on staff lines; that is, both diastematic and non-diastematic signs.
May Contain
curveA curved line that cannot be represented by a more specific element, such as a slur.
User-defined symbols component declarations.
curveA curved line that cannot be represented by a more specific element, such as a slur.
Remarks

Historically, the term "slur" indicated two notes performed legato, while the term "phrase" was used for a "unified melodic idea". Nowadays, however, "slur" often has the same meaning as "phrase" (See Read, p. 265-266), since the visual rendition of the two concepts is the same. MEI provides two distinct elements so that those users wishing to maintain a distinction for historical reasons may do so. If the user does not want to maintain the distinction, then the more generic slur element should be employed. The starting point of the phrase/slur may be indicated by either a startid, tstamp, tstamp.ges, or tstamp.real attribute, while the ending point may be recorded by either a dur, dur.ges, endid, or tstamp2 attribute. It is a semantic error not to specify one starting and one ending type of attribute. Either place, bulge, or bezier attributes may be used to record the curvature of the phrase/slur. The slur and tie elements may be used instead of the slur.* and tie.* attributes provided on chord and note elements when 1) they are required by software, or 2) multiple, alternative slurs are needed.

Constraints

Must have one of the attributes: startid, tstamp, tstamp.ges or tstamp.real.
Must have one of the attributes: dur, dur.ges, endid, or tstamp2.
The visual attributes of the phrase (@bezier, @bulge, @curvedir, @lform, @lwidth, @ho, @startho, @endho, @to, @startto, @endto, @vo, @startvo, @endvo, @x, @y, @x2, and @y2) will be overridden by visual attributes of the contained curve elements.

Declaration
<elementSpec ident="phrase" module="MEI.shared">
<desc xml:lang="en">Indication of 1) a "unified melodic idea" or 2) performance technique.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.phrase.anl"/>
<memberOf key="att.phrase.ges"/>
<memberOf key="att.phrase.log"/>
<memberOf key="att.phrase.vis"/>
<memberOf key="model.controlEventLike"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:ref name="curve"/>
</rng:zeroOrMore>
</content>
<constraintSpec ident="phrase_start-_and_end-type_attributes_required" scheme="schematron">
<constraint>
<sch:rule context="mei:phrase">
<sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real">Must have one of the attributes: startid, tstamp, tstamp.ges or tstamp.real.</sch:assert>
<sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the attributes: dur, dur.ges, endid, or tstamp2.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<constraintSpec ident="phrase_containing_curve" scheme="schematron">
<constraint>
<sch:rule context="mei:phrase[mei:curve[@bezier or @bulge or @curvedir or @lform or @lwidth or @ho or @startho or @endho or @to or @startto or @endto or @vo or @startvo or @endvo or @x or @y or @x2 or @y2]]">
<sch:assert test="not(@bezier or @bulge or @curvedir or @lform or @lwidth or @ho or @startho or @endho or @to or @startto or @endto or @vo or @startvo or @endvo or @x or @y or @x2 or @y2)" role="warning">The visual attributes of the phrase (@bezier, @bulge, @curvedir, @lform, @lwidth, @ho, @startho, @endho, @to, @startto, @endto, @vo, @startvo, @endvo, @x, @y, @x2, and @y2) will be overridden by visual attributes of the contained curve elements.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<remarks xml:lang="en">
<p>Historically, the term "slur" indicated two notes performed legato, while the term "phrase" was used for a "unified melodic idea". Nowadays, however, "slur" often has the same meaning as "phrase" (See Read, p. 265-266), since the visual rendition of the two concepts is the same. MEI provides two distinct elements so that those users wishing to maintain a distinction for historical reasons may do so. If the user does not want to maintain the distinction, then the more generic <gi scheme="MEI">slur</gi> element should be employed. The starting point of the phrase/slur may be indicated by either a <att>startid</att>, <att>tstamp</att>, <att>tstamp.ges</att>, or <att>tstamp.real</att> attribute, while the ending point may be recorded by either a <att>dur</att>, <att>dur.ges</att>, <att>endid</att>, or <att>tstamp2</att> attribute. It is a semantic error not to specify one starting and one ending type of attribute. Either <att>place</att>, <att>bulge</att>, or <att>bezier</att> attributes may be used to record the curvature of the phrase/slur. The <gi scheme="MEI">slur</gi> and <gi scheme="MEI">tie</gi> elements may be used instead of the slur.* and tie.* attributes provided on <gi scheme="MEI">chord</gi> and <gi scheme="MEI">note</gi> elements when 1) they are required by software, or 2) multiple, alternative slurs are needed.</p>
</remarks>
</elementSpec>