<cpMark>

<cpMark> (copy/colla parte mark) – A verbal or graphical indication to copy musical material written elsewhere.
Module MEI.edittrans
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
@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
@dis (optional) Records the amount of octave displacement. Value conforms to data.OCTAVE.DIS . att.octavedisplacement
@dis.place (optional) Records the direction of octave displacement. Value conforms to data.PLACE . att.octavedisplacement
@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
@enclose (optional) Records the characters often used to mark accidentals, articulations, and sometimes notes as having a cautionary or editorial function. For an example of cautionary accidentals enclosed in parentheses, see Read, p. 131, ex. 9-14. Value conforms to data.ENCLOSURE . att.enclosingchars
@endid (optional) Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI . att.startendid
@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
@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
@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
@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
@origin.endid (optional) indicates the final element in a sequence of events. Value conforms to data.URI . att.origin.startendid
@origin.layer (optional) identifies the layer on which referenced notation occurs. One or more of positiveInteger. att.origin.layerident
@origin.staff (rec) signifies the staff on which referenced notation occurs. Defaults to the same value as the local staff. Mandatory when applicable. One or more of positiveInteger. att.origin.staffident
@origin.startid (optional) indicates the first element in a sequence of events. Value conforms to data.URI . att.origin.startendid
@origin.tstamp (optional) encodes the starting point of musical material in terms of musical time, i.e., a (potentially negative) count of measures plus a beat location. Value conforms to data.MEASUREBEATOFFSET . att.origin.timestamp.musical
@origin.tstamp2 (rec) encodes the ending point of musical material in terms of musical time, i.e., a count of measures plus a beat location. The values are relative to the measure identified by @origin.tstamp. Value conforms to data.MEASUREBEAT . att.origin.timestamp.musical
@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
@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
@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
@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
@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
@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
Declaration
<classes>
<memberOf key= " att.common" />
<memberOf key= " att.facsimile" />
<memberOf key= " att.cpMark.log" />
<memberOf key= " att.cpMark.vis" />
<memberOf key= " att.cpMark.ges" />
<memberOf key= " att.cpMark.anl" />
<memberOf key= " att.typed" />
<memberOf key= " model.controleventLike.cmn" />
</classes>
<content>
<rng:zeroOrMore>
<rng:choice>
<rng:text/>
<rng:ref name= " model.textphraseLike.limited" />
<rng:ref name= " model.editLike" />
<rng:ref name= " model.transcriptionLike" />
</rng:choice>
</rng:zeroOrMore>
</content>
Examples
<cpMark origin.tstamp= "-6m+1" staff= "8" tstamp= "1" tstamp2= "5m+4"> a. b. c. d. e. f. g. </cpMark>
<cpMark origin.staff= "8" staff= "9" tstamp= "1.5" tstamp2= "1m+3.5"> unis: </cpMark>
<cpMark dis= "8" dis.place= "below" origin.staff= "8" staff= "9" tstamp= "2" tstamp2= "2m+3.5"> in 8va </cpMark>
Remarks

Typical examples are colla parte instructions (such as "col Basso") or other indications intended to result in filling gaps in the score with material written elsewhere. It is recommended to capture the position of the indication itself with the attributes @tstamp and @staff. The area to be filled should contain space or mSpace elements. The material to be used to fill the gap can be identified by the attributes @origin.tstamp, @origin.tstamp2, @origin.staff, and @origin.layer. If @origin.tstamp2 is not provided, a duration similar to that of the local omission (as encoded in the combination of @tstamp and @tstamp2) is assumed. Any missing @origin.* attributes are assumed to take the same values as information associated with the cpMark. For example, when only the @origin.staff attribute is provided, it is assumed that the referenced part comes from a different staff in the same measure. If a different measure is provided by @origin.tstamp, but no @origin.staff is given, then it is assumed that the material is to be taken from the same staff.Textual instructions are encoded as text content of the cpMark, while graphical instructions may use the @altsym, @facs, or @extsym attributes.

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
<sch:rule context= "mei:cpMark">
<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>

MEI Guidelines Version 3.0.0

MEI Elements