XML Schema Documentation
Schema Document Properties
Target Namespace | None |
---|---|
Element and Attribute Namespaces |
|
Schema Composition |
|
MusicXML W3C XML schema (XSD)
Version 4.0
Copyright © 2004-2021 the Contributors to the MusicXML Specification, published by the W3C Music Notation Community Group under the W3C Community Final Specification Agreement (FSA):
https://www.w3.org/community/about/agreements/final/
A human-readable summary is available:
https://www.w3.org/community/about/agreements/fsa-deed/
This is the W3C XML Schema (XSD) version of the MusicXML 4.0 format. Validation is tightened by moving MusicXML definitions from comments into schema data types and definitions. Character entities and other entity usages that are not supported in W3C XML Schema have been removed. The features of W3C XML Schema make it easier to define variations of the MusicXML format, either via extension or restriction.
This file defines the MusicXML 4.0 XSD, including the score-partwise and score-timewise document elements.
The XML catalog at catalog.xml supports validating against a local copy of this XSD rather than the networked version. Software often has trouble using system IDs due to factors such as restrictions on network access, or resources having moved from the original specified location. To validate with the MusicXML XSD, use a schema URI of "http://www.musicxml.org/xsd/musicxml.xsd".
MusicXML W3C XML schema (XSD)
Version 4.0
Copyright © 2004-2021 the Contributors to the MusicXML Specification, published by the W3C Music Notation Community Group under the W3C Community Final Specification Agreement (FSA):
https://www.w3.org/community/about/agreements/final/
A human-readable summary is available:
https://www.w3.org/community/about/agreements/fsa-deed/
This is the W3C XML Schema (XSD) version of the MusicXML 4.0 format. Validation is tightened by moving MusicXML definitions from comments into schema data types and definitions. Character entities and other entity usages that are not supported in W3C XML Schema have been removed. The features of W3C XML Schema make it easier to define variations of the MusicXML format, either via extension or restriction.
This file defines the MusicXML 4.0 XSD, including the score-partwise and score-timewise document elements.
The XML catalog at catalog.xml supports validating against a local copy of this XSD rather than the networked version. Software often has trouble using system IDs due to factors such as restrictions on network access, or resources having moved from the original specified location. To validate with the MusicXML XSD, use a schema URI of "http://www.musicxml.org/xsd/musicxml.xsd".
The MusicXML 4.0 DTD has no namespace, so for compatibility the MusicXML 4.0 XSD has no namespace either. Those who need to import the MusicXML XSD into another schema are advised to create a new version that uses "http://www.musicxml.org/xsd/MusicXML" as the namespace.
The MusicXML 4.0 DTD has no namespace, so for compatibility the MusicXML 4.0 XSD has no namespace either. Those who need to import the MusicXML XSD into another schema are advised to create a new version that uses "http://www.musicxml.org/xsd/MusicXML" as the namespace.
The score is the root element for the schema. It includes the score-header group, followed either by a series of parts with measures inside (score-partwise) or a series of measures with parts inside (score-timewise). Having distinct top-level elements for partwise and timewise scores makes it easy to ensure that an XSLT stylesheet does not try to transform a document already in the desired format.
The score is the root element for the schema. It includes the score-header group, followed either by a series of parts with measures inside (score-partwise) or a series of measures with parts inside (score-timewise). Having distinct top-level elements for partwise and timewise scores makes it easy to ensure that an XSLT stylesheet does not try to transform a document already in the desired format.
Global Declarations
Element: score-partwise
Name | score-partwise |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
Substitution Group Exclusions | restriction, extension |
Disallowed Substitutions | extension substitution |
The score-partwise element is the root element for a partwise MusicXML score. It includes a score-header group followed by a series of parts with measures inside. The document-attributes attribute group includes the version attribute.
The score-partwise element is the root element for a partwise MusicXML score. It includes a score-header group followed by a series of parts with measures inside. The document-attributes attribute group includes the version attribute.
<score-partwise version="xs:token" [0..1] > <work> work </work> [0..1] <movement-number> xs:string </movement-number> [0..1] <movement-title> xs:string </movement-title> [0..1] <identification> identification </identification> [0..1] <defaults> defaults </defaults> [0..1] <credit> credit </credit> [0..*] <part-list> part-list </part-list> [1] <part id="xs:IDREF" [1] > [1..*] <measure number="xs:token" [1] text="measure-text" [0..1] implicit="yes-no" [0..1] non-controlling="yes-no" [0..1] width="tenths" [0..1] id="xs:ID" [0..1] > [1..*] Start Choice [0..*] <note> note </note> [1] <backup> backup </backup> [1] <forward> forward </forward> [1] <direction> direction </direction> [1] <attributes> attributes </attributes> [1] <harmony> harmony </harmony> [1] <figured-bass> figured-bass </figured-bass> [1] <print> print </print> [1] <sound> sound </sound> [1] <listening> listening </listening> [1] <barline> barline </barline> [1] <grouping> grouping </grouping> [1] <link> link </link> [1] <bookmark> bookmark </bookmark> [1] End Choice </measure> </part> </score-partwise>
<xs:element name="score-partwise" block="extension substitution" final="#all"> <xs:complexType> <xs:sequence> <xs:group ref="score-header"/> <xs:element name="part" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="measure" maxOccurs="unbounded"> <xs:complexType> <xs:group ref="music-data"/> <xs:attributeGroup ref="measure-attributes"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attributeGroup ref="part-attributes"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attributeGroup ref="document-attributes"/> </xs:complexType> </xs:element>
Element: score-timewise
Name | score-timewise |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
Substitution Group Exclusions | restriction, extension |
Disallowed Substitutions | extension substitution |
The score-timewise element is the root element for a timewise MusicXML score. It includes a score-header group followed by a series of measures with parts inside. The document-attributes attribute group includes the version attribute.
The score-timewise element is the root element for a timewise MusicXML score. It includes a score-header group followed by a series of measures with parts inside. The document-attributes attribute group includes the version attribute.
<score-timewise version="xs:token" [0..1] > <work> work </work> [0..1] <movement-number> xs:string </movement-number> [0..1] <movement-title> xs:string </movement-title> [0..1] <identification> identification </identification> [0..1] <defaults> defaults </defaults> [0..1] <credit> credit </credit> [0..*] <part-list> part-list </part-list> [1] <measure number="xs:token" [1] text="measure-text" [0..1] implicit="yes-no" [0..1] non-controlling="yes-no" [0..1] width="tenths" [0..1] id="xs:ID" [0..1] > [1..*] <part id="xs:IDREF" [1] > [1..*] Start Choice [0..*] <note> note </note> [1] <backup> backup </backup> [1] <forward> forward </forward> [1] <direction> direction </direction> [1] <attributes> attributes </attributes> [1] <harmony> harmony </harmony> [1] <figured-bass> figured-bass </figured-bass> [1] <print> print </print> [1] <sound> sound </sound> [1] <listening> listening </listening> [1] <barline> barline </barline> [1] <grouping> grouping </grouping> [1] <link> link </link> [1] <bookmark> bookmark </bookmark> [1] End Choice </part> </measure> </score-timewise>
<xs:element name="score-timewise" block="extension substitution" final="#all"> <xs:complexType> <xs:sequence> <xs:group ref="score-header"/> <xs:element name="measure" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="part" maxOccurs="unbounded"> <xs:complexType> <xs:group ref="music-data"/> <xs:attributeGroup ref="part-attributes"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attributeGroup ref="measure-attributes"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attributeGroup ref="document-attributes"/> </xs:complexType> </xs:element>
Global Definitions
Attribute Group: bend-sound
Name | bend-sound |
---|
The bend-sound type is used for bend and slide elements, and is similar to the trill-sound attribute group. Here the beats element refers to the number of discrete elements (like MIDI pitch bends) used to represent a continuous bend or slide. The first-beat indicates the percentage of the duration for starting a bend; the last-beat the percentage for ending it. The default choices are:
accelerate = "no"
beats = "4"
first-beat = "25"
last-beat = "75"
The bend-sound type is used for bend and slide elements, and is similar to the trill-sound attribute group. Here the beats element refers to the number of discrete elements (like MIDI pitch bends) used to represent a continuous bend or slide. The first-beat indicates the percentage of the duration for starting a bend; the last-beat the percentage for ending it. The default choices are:
accelerate = "no"
beats = "4"
first-beat = "25"
last-beat = "75"
accelerate="yes-no" [0..1] beats="trill-beats" [0..1] first-beat="percent" [0..1] last-beat="percent" [0..1]
Attribute Group: bezier
Name | bezier |
---|
The bezier attribute group is used to indicate the curvature of slurs and ties, representing the control points for a cubic bezier curve. For ties, the bezier attribute group is used with the tied element.
Normal slurs, S-shaped slurs, and ties need only two bezier points: one associated with the start of the slur or tie, the other with the stop. Complex slurs and slurs divided over system breaks can specify additional bezier data at slur elements with a continue type.
The bezier-x, bezier-y, and bezier-offset attributes describe the outgoing bezier point for slurs and ties with a start type, and the incoming bezier point for slurs and ties with types of stop or continue. The bezier-x2, bezier-y2, and bezier-offset2 attributes are only valid with slurs of type continue, and describe the outgoing bezier point.
The bezier-x, bezier-y, bezier-x2, and bezier-y2 attributes are specified in tenths, relative to any position settings associated with the slur or tied element. The bezier-offset and bezier-offset2 attributes are measured in terms of musical divisions, like the offset element.
The bezier-offset and bezier-offset2 attributes are deprecated as of MusicXML 3.1. If both the bezier-x and bezier-offset attributes are present, the bezier-x attribute takes priority. Similarly, the bezier-x2 attribute takes priority over the bezier-offset2 attribute. The two types of bezier attributes are not additive.
The bezier attribute group is used to indicate the curvature of slurs and ties, representing the control points for a cubic bezier curve. For ties, the bezier attribute group is used with the tied element.
Normal slurs, S-shaped slurs, and ties need only two bezier points: one associated with the start of the slur or tie, the other with the stop. Complex slurs and slurs divided over system breaks can specify additional bezier data at slur elements with a continue type.
The bezier-x, bezier-y, and bezier-offset attributes describe the outgoing bezier point for slurs and ties with a start type, and the incoming bezier point for slurs and ties with types of stop or continue. The bezier-x2, bezier-y2, and bezier-offset2 attributes are only valid with slurs of type continue, and describe the outgoing bezier point.
The bezier-x, bezier-y, bezier-x2, and bezier-y2 attributes are specified in tenths, relative to any position settings associated with the slur or tied element. The bezier-offset and bezier-offset2 attributes are measured in terms of musical divisions, like the offset element.
The bezier-offset and bezier-offset2 attributes are deprecated as of MusicXML 3.1. If both the bezier-x and bezier-offset attributes are present, the bezier-x attribute takes priority. Similarly, the bezier-x2 attribute takes priority over the bezier-offset2 attribute. The two types of bezier attributes are not additive.
<xs:attributeGroup name="bezier"> <xs:attribute name="bezier-x" type="tenths"/> <xs:attribute name="bezier-y" type="tenths"/> <xs:attribute name="bezier-x2" type="tenths"/> <xs:attribute name="bezier-y2" type="tenths"/> <xs:attribute name="bezier-offset" type="divisions"/> <xs:attribute name="bezier-offset2" type="divisions"/> </xs:attributeGroup>
Attribute Group: color
Name | color |
---|
The color attribute group indicates the color of an element.
The color attribute group indicates the color of an element.
color="color" [0..1]
Attribute Group: dashed-formatting
Name | dashed-formatting |
---|
The dashed-formatting entity represents the length of dashes and spaces in a dashed line. Both the dash-length and space-length attributes are represented in tenths. These attributes are ignored if the corresponding line-type attribute is not dashed.
The dashed-formatting entity represents the length of dashes and spaces in a dashed line. Both the dash-length and space-length attributes are represented in tenths. These attributes are ignored if the corresponding line-type attribute is not dashed.
Attribute Group: directive
Name | directive |
---|
The directive attribute changes the default-x position of a direction. It indicates that the left-hand side of the direction is aligned with the left-hand side of the time signature. If no time signature is present, it is aligned with the left-hand side of the first music notational element in the measure. If a default-x, justify, or halign attribute is present, it overrides the directive attribute.
The directive attribute changes the default-x position of a direction. It indicates that the left-hand side of the direction is aligned with the left-hand side of the time signature. If no time signature is present, it is aligned with the left-hand side of the first music notational element in the measure. If a default-x, justify, or halign attribute is present, it overrides the directive attribute.
directive="yes-no" [0..1]
Attribute Group: document-attributes
Name | document-attributes |
---|
The document-attributes attribute group is used to specify the attributes for an entire MusicXML document. Currently this is used for the version attribute.
The version attribute was added in Version 1.1 for the score-partwise and score-timewise documents. It provides an easier way to get version information than through the MusicXML public ID. The default value is 1.0 to make it possible for programs that handle later versions to distinguish earlier version files reliably. Programs that write MusicXML 1.1 or later files should set this attribute.
The document-attributes attribute group is used to specify the attributes for an entire MusicXML document. Currently this is used for the version attribute.
The version attribute was added in Version 1.1 for the score-partwise and score-timewise documents. It provides an easier way to get version information than through the MusicXML public ID. The default value is 1.0 to make it possible for programs that handle later versions to distinguish earlier version files reliably. Programs that write MusicXML 1.1 or later files should set this attribute.
version="xs:token" [0..1]
Attribute Group: element-position
Name | element-position |
---|
The element and position attributes are new as of Version 2.0. They allow for bookmarks and links to be positioned at higher resolution than the level of music-data elements. When no element and position attributes are present, the bookmark or link element refers to the next sibling element in the MusicXML file. The element attribute specifies an element type for a descendant of the next sibling element that is not a link or bookmark. The position attribute specifies the position of this descendant element, where the first position is 1. The position attribute is ignored if the element attribute is not present. For instance, an element value of "beam" and a position value of "2" defines the link or bookmark to refer to the second beam descendant of the next sibling element that is not a link or bookmark. This is equivalent to an XPath test of [.//beam[2]] done in the context of the sibling element.
The element and position attributes are new as of Version 2.0. They allow for bookmarks and links to be positioned at higher resolution than the level of music-data elements. When no element and position attributes are present, the bookmark or link element refers to the next sibling element in the MusicXML file. The element attribute specifies an element type for a descendant of the next sibling element that is not a link or bookmark. The position attribute specifies the position of this descendant element, where the first position is 1. The position attribute is ignored if the element attribute is not present. For instance, an element value of "beam" and a position value of "2" defines the link or bookmark to refer to the second beam descendant of the next sibling element that is not a link or bookmark. This is equivalent to an XPath test of [.//beam[2]] done in the context of the sibling element.
Attribute Group: enclosure
Name | enclosure |
---|
The enclosure attribute group is used to specify the formatting of an enclosure around text or symbols.
The enclosure attribute group is used to specify the formatting of an enclosure around text or symbols.
enclosure="enclosure-shape" [0..1]
<xs:attributeGroup name="enclosure"> <xs:attribute name="enclosure" type="enclosure-shape"/> </xs:attributeGroup>
Attribute Group: font
Name | font |
---|
The font attribute group gathers together attributes for determining the font within a credit or direction. They are based on the text styles for Cascading Style Sheets. The font-family is a comma-separated list of font names.The font-style can be normal or italic. The font-size can be one of the CSS sizes or a numeric point size. The font-weight can be normal or bold. The default is application-dependent, but is a text font vs. a music font.
The font attribute group gathers together attributes for determining the font within a credit or direction. They are based on the text styles for Cascading Style Sheets. The font-family is a comma-separated list of font names.The font-style can be normal or italic. The font-size can be one of the CSS sizes or a numeric point size. The font-weight can be normal or bold. The default is application-dependent, but is a text font vs. a music font.
font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1]
<xs:attributeGroup name="font"> <xs:attribute name="font-family" type="font-family"/> <xs:attribute name="font-style" type="font-style"/> <xs:attribute name="font-size" type="font-size"/> <xs:attribute name="font-weight" type="font-weight"/> </xs:attributeGroup>
Attribute Group: group-name-text
Name | group-name-text |
---|
The group-name-text attribute group is used by the group-name and group-abbreviation elements. The print-style and justify attribute groups are deprecated in MusicXML 2.0 in favor of the new group-name-display and group-abbreviation-display elements.
The group-name-text attribute group is used by the group-name and group-abbreviation elements. The print-style and justify attribute groups are deprecated in MusicXML 2.0 in favor of the new group-name-display and group-abbreviation-display elements.
default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] justify="left-center-right" [0..1]
Attribute Group: halign
Name | halign |
---|
In cases where text extends over more than one line, horizontal alignment and justify values can be different. The most typical case is for credits, such as:
Words and music by
Pat Songwriter
Typically this type of credit is aligned to the right, so that the position information refers to the right-most part of the text. But in this example, the text is center-justified, not right-justified.
The halign attribute is used in these situations. If it is not present, its value is the same as for the justify attribute. For elements where a justify attribute is not allowed, the default is implementation-dependent.
In cases where text extends over more than one line, horizontal alignment and justify values can be different. The most typical case is for credits, such as:
Words and music by
Pat Songwriter
Typically this type of credit is aligned to the right, so that the position information refers to the right-most part of the text. But in this example, the text is center-justified, not right-justified.
The halign attribute is used in these situations. If it is not present, its value is the same as for the justify attribute. For elements where a justify attribute is not allowed, the default is implementation-dependent.
halign="left-center-right" [0..1]
<xs:attributeGroup name="halign"> <xs:attribute name="halign" type="left-center-right"/> </xs:attributeGroup>
Attribute Group: image-attributes
Name | image-attributes |
---|
The image-attributes group is used to include graphical images in a score. The required source attribute is the URL for the image file. The required type attribute is the MIME type for the image file format. Typical choices include application/postscript, image/gif, image/jpeg, image/png, and image/tiff. The optional height and width attributes are used to size and scale an image. The image should be scaled independently in X and Y if both height and width are specified. If only one attribute is specified, the image should be scaled proportionally to fit in the specified dimension.
The image-attributes group is used to include graphical images in a score. The required source attribute is the URL for the image file. The required type attribute is the MIME type for the image file format. Typical choices include application/postscript, image/gif, image/jpeg, image/png, and image/tiff. The optional height and width attributes are used to size and scale an image. The image should be scaled independently in X and Y if both height and width are specified. If only one attribute is specified, the image should be scaled proportionally to fit in the specified dimension.
source="xs:anyURI" [1] type="xs:token" [1] height="tenths" [0..1] width="tenths" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] halign="left-center-right" [0..1] valign="valign-image" [0..1]
<xs:attributeGroup name="image-attributes"> <xs:attribute name="source" type="xs:anyURI" use="required"/> <xs:attribute name="type" type="xs:token" use="required"/> <xs:attribute name="height" type="tenths"/> <xs:attribute name="width" type="tenths"/> <xs:attributeGroup ref="position"/> <xs:attributeGroup ref="halign"/> <xs:attributeGroup ref="valign-image"/> </xs:attributeGroup>
Attribute Group: justify
Name | justify |
---|
The justify attribute is used to indicate left, center, or right justification. The default value varies for different elements. For elements where the justify attribute is present but the halign attribute is not, the justify attribute indicates horizontal alignment as well as justification.
The justify attribute is used to indicate left, center, or right justification. The default value varies for different elements. For elements where the justify attribute is present but the halign attribute is not, the justify attribute indicates horizontal alignment as well as justification.
justify="left-center-right" [0..1]
<xs:attributeGroup name="justify"> <xs:attribute name="justify" type="left-center-right"/> </xs:attributeGroup>
Attribute Group: letter-spacing
Name | letter-spacing |
---|
The letter-spacing attribute specifies text tracking. Values are either "normal" or a number representing the number of ems to add between each letter. The number may be negative in order to subtract space. The default is normal, which allows flexibility of letter-spacing for purposes of text justification.
The letter-spacing attribute specifies text tracking. Values are either "normal" or a number representing the number of ems to add between each letter. The number may be negative in order to subtract space. The default is normal, which allows flexibility of letter-spacing for purposes of text justification.
letter-spacing="number-or-normal" [0..1]
<xs:attributeGroup name="letter-spacing"> <xs:attribute name="letter-spacing" type="number-or-normal"/> </xs:attributeGroup>
Attribute Group: level-display
Name | level-display |
---|
The level-display attribute group specifies three common ways to indicate editorial indications: putting parentheses or square brackets around a symbol, or making the symbol a different size. If not specified, they are left to application defaults. It is used by the level and accidental elements.
The level-display attribute group specifies three common ways to indicate editorial indications: putting parentheses or square brackets around a symbol, or making the symbol a different size. If not specified, they are left to application defaults. It is used by the level and accidental elements.
parentheses="yes-no" [0..1] bracket="yes-no" [0..1] size="symbol-size" [0..1]
Attribute Group: line-height
Name | line-height |
---|
The line-height attribute specifies text leading. Values are either "normal" or a number representing the percentage of the current font height to use for leading. The default is "normal". The exact normal value is implementation-dependent, but values between 100 and 120 are recommended.
The line-height attribute specifies text leading. Values are either "normal" or a number representing the percentage of the current font height to use for leading. The default is "normal". The exact normal value is implementation-dependent, but values between 100 and 120 are recommended.
line-height="number-or-normal" [0..1]
<xs:attributeGroup name="line-height"> <xs:attribute name="line-height" type="number-or-normal"/> </xs:attributeGroup>
Attribute Group: line-length
Name | line-length |
---|
The line-length attribute distinguishes between different line lengths for doit, falloff, plop, and scoop articulations.
The line-length attribute distinguishes between different line lengths for doit, falloff, plop, and scoop articulations.
line-length="line-length" [0..1]
<xs:attributeGroup name="line-length"> <xs:attribute name="line-length" type="line-length"/> </xs:attributeGroup>
Attribute Group: line-shape
Name | line-shape |
---|
The line-shape attribute distinguishes between straight and curved lines.
The line-shape attribute distinguishes between straight and curved lines.
line-shape="line-shape" [0..1]
<xs:attributeGroup name="line-shape"> <xs:attribute name="line-shape" type="line-shape"/> </xs:attributeGroup>
Attribute Group: line-type
Name | line-type |
---|
The line-type attribute distinguishes between solid, dashed, dotted, and wavy lines.
The line-type attribute distinguishes between solid, dashed, dotted, and wavy lines.
line-type="line-type" [0..1]
Attribute Group: link-attributes
Name | link-attributes |
---|
The link-attributes group includes all the simple XLink attributes supported in the MusicXML format. It is also used to connect a MusicXML score with MusicXML parts or a MusicXML opus.
The link-attributes group includes all the simple XLink attributes supported in the MusicXML format. It is also used to connect a MusicXML score with MusicXML parts or a MusicXML opus.
<xs:attributeGroup name="link-attributes"> <--<xs:attribute ref="xmnls:xlink" fixed="http://www.w3.org/1999/xlink"/>--> <xs:attribute ref="xlink:href" use="required"/> <xs:attribute ref="xlink:type" fixed="simple"/> <xs:attribute ref="xlink:role"/> <xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:show" default="replace"/> <xs:attribute ref="xlink:actuate" default="onRequest"/> </xs:attributeGroup>
Attribute Group: measure-attributes
Name | measure-attributes |
---|
The measure-attributes group is used by the measure element. Measures have a required number attribute (going from partwise to timewise, measures are grouped via the number).
The implicit attribute is set to "yes" for measures where the measure number should never appear, such as pickup measures and the last half of mid-measure repeats. The value is "no" if not specified.
The non-controlling attribute is intended for use in multimetric music like the Don Giovanni minuet. If set to "yes", the left barline in this measure does not coincide with the left barline of measures in other parts. The value is "no" if not specified.
In partwise files, the number attribute should be the same for measures in different parts that share the same left barline. While the number attribute is often numeric, it does not have to be. Non-numeric values are typically used together with the implicit or non-controlling attributes being set to "yes". For a pickup measure, the number attribute is typically set to "0" and the implicit attribute is typically set to "yes".
If measure numbers are not unique within a part, this can cause problems for conversions between partwise and timewise formats. The text attribute allows specification of displayed measure numbers that are different than what is used in the number attribute. This attribute is ignored for measures where the implicit attribute is set to "yes". Further details about measure numbering can be specified using the measure-numbering element.
Measure width is specified in tenths. These are the global tenths specified in the scaling element, not local tenths as modified by the staff-size element. The width covers the entire measure from barline or system start to barline or system end.
The measure-attributes group is used by the measure element. Measures have a required number attribute (going from partwise to timewise, measures are grouped via the number).
The implicit attribute is set to "yes" for measures where the measure number should never appear, such as pickup measures and the last half of mid-measure repeats. The value is "no" if not specified.
The non-controlling attribute is intended for use in multimetric music like the Don Giovanni minuet. If set to "yes", the left barline in this measure does not coincide with the left barline of measures in other parts. The value is "no" if not specified.
In partwise files, the number attribute should be the same for measures in different parts that share the same left barline. While the number attribute is often numeric, it does not have to be. Non-numeric values are typically used together with the implicit or non-controlling attributes being set to "yes". For a pickup measure, the number attribute is typically set to "0" and the implicit attribute is typically set to "yes".
If measure numbers are not unique within a part, this can cause problems for conversions between partwise and timewise formats. The text attribute allows specification of displayed measure numbers that are different than what is used in the number attribute. This attribute is ignored for measures where the implicit attribute is set to "yes". Further details about measure numbering can be specified using the measure-numbering element.
Measure width is specified in tenths. These are the global tenths specified in the scaling element, not local tenths as modified by the staff-size element. The width covers the entire measure from barline or system start to barline or system end.
<xs:attributeGroup name="measure-attributes"> <xs:attribute name="number" type="xs:token" use="required"/> <xs:attribute name="text" type="measure-text"/> <xs:attribute name="implicit" type="yes-no"/> <xs:attribute name="non-controlling" type="yes-no"/> <xs:attribute name="width" type="tenths"/> <xs:attributeGroup ref="optional-unique-id"/> </xs:attributeGroup>
Attribute Group: optional-unique-id
Name | optional-unique-id |
---|
The optional-unique-id attribute group allows an element to optionally specify an ID that is unique to the entire document. This attribute group is not used for a required id attribute, or for an id attribute that specifies an id reference.
The optional-unique-id attribute group allows an element to optionally specify an ID that is unique to the entire document. This attribute group is not used for a required id attribute, or for an id attribute that specifies an id reference.
id="xs:ID" [0..1]
Attribute Group: orientation
Name | orientation |
---|
The orientation attribute indicates whether slurs and ties are overhand (tips down) or underhand (tips up). This is distinct from the placement attribute used by any notation type.
The orientation attribute indicates whether slurs and ties are overhand (tips down) or underhand (tips up). This is distinct from the placement attribute used by any notation type.
orientation="over-under" [0..1]
<xs:attributeGroup name="orientation"> <xs:attribute name="orientation" type="over-under"/> </xs:attributeGroup>
Attribute Group: part-attributes
Name | part-attributes |
---|
In either partwise or timewise format, the part element has an id attribute that is an IDREF back to a score-part in the part-list.
In either partwise or timewise format, the part element has an id attribute that is an IDREF back to a score-part in the part-list.
id="xs:IDREF" [1]
Attribute Group: part-name-text
Name | part-name-text |
---|
The part-name-text attribute group is used by the part-name and part-abbreviation elements. The print-style and justify attribute groups are deprecated in MusicXML 2.0 in favor of the new part-name-display and part-abbreviation-display elements.
The part-name-text attribute group is used by the part-name and part-abbreviation elements. The print-style and justify attribute groups are deprecated in MusicXML 2.0 in favor of the new part-name-display and part-abbreviation-display elements.
default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] print-object="yes-no" [0..1] justify="left-center-right" [0..1]
<xs:attributeGroup name="part-name-text"> <xs:attributeGroup ref="print-style"/> <xs:attributeGroup ref="print-object"/> <xs:attributeGroup ref="justify"/> </xs:attributeGroup>
Attribute Group: placement
Name | placement |
---|
The placement attribute indicates whether something is above or below another element, such as a note or a notation.
The placement attribute indicates whether something is above or below another element, such as a note or a notation.
placement="above-below" [0..1]
<xs:attributeGroup name="placement"> <xs:attribute name="placement" type="above-below"/> </xs:attributeGroup>
Attribute Group: position
Name | position |
---|
For most elements, any program will compute a default x and y position. The position attributes let this be changed two ways.
The default-x and default-y attributes change the computation of the default position. For most elements, the origin is changed relative to the left-hand side of the note or the musical position within the bar (x) and the top line of the staff (y).
For the following elements, the default-x value changes the origin relative to the start of the current measure:
- note
- figured-bass
- harmony
- link
- directive
- measure-numbering
- all descendants of the part-list element
- all children of the direction-type element
This origin is from the start of the entire measure, at either the left barline or the start of the system.
When the default-x attribute is used within a child element of the part-name-display, part-abbreviation-display, group-name-display, or group-abbreviation-display elements, it changes the origin relative to the start of the first measure on the system. These values are used when the current measure or a succeeding measure starts a new system. The same change of origin is used for the group-symbol element.
For the note, figured-bass, and harmony elements, the default-x value is considered to have adjusted the musical position within the bar for its descendant elements.
Since the credit-words and credit-image elements are not related to a measure, in these cases the default-x and default-y attributes adjust the origin relative to the bottom left-hand corner of the specified page.
The relative-x and relative-y attributes change the position relative to the default position, either as computed by the individual program, or as overridden by the default-x and default-y attributes.
Positive x is right, negative x is left; positive y is up, negative y is down. All units are in tenths of interline space. For stems, positive relative-y lengthens a stem while negative relative-y shortens it.
The default-x and default-y position attributes provide higher-resolution positioning data than related features such as the placement attribute and the offset element. Applications reading a MusicXML file that can understand both features should generally rely on the default-x and default-y attributes for their greater accuracy. For the relative-x and relative-y attributes, the offset element, placement attribute, and directive attribute provide context for the relative position information, so the two features should be interpreted together.
As elsewhere in the MusicXML format, tenths are the global tenths defined by the scaling element, not the local tenths of a staff resized by the staff-size element.
For most elements, any program will compute a default x and y position. The position attributes let this be changed two ways.
The default-x and default-y attributes change the computation of the default position. For most elements, the origin is changed relative to the left-hand side of the note or the musical position within the bar (x) and the top line of the staff (y).
For the following elements, the default-x value changes the origin relative to the start of the current measure:
- note
- figured-bass
- harmony
- link
- directive
- measure-numbering
- all descendants of the part-list element
- all children of the direction-type element
This origin is from the start of the entire measure, at either the left barline or the start of the system.
When the default-x attribute is used within a child element of the part-name-display, part-abbreviation-display, group-name-display, or group-abbreviation-display elements, it changes the origin relative to the start of the first measure on the system. These values are used when the current measure or a succeeding measure starts a new system. The same change of origin is used for the group-symbol element.
For the note, figured-bass, and harmony elements, the default-x value is considered to have adjusted the musical position within the bar for its descendant elements.
Since the credit-words and credit-image elements are not related to a measure, in these cases the default-x and default-y attributes adjust the origin relative to the bottom left-hand corner of the specified page.
The relative-x and relative-y attributes change the position relative to the default position, either as computed by the individual program, or as overridden by the default-x and default-y attributes.
Positive x is right, negative x is left; positive y is up, negative y is down. All units are in tenths of interline space. For stems, positive relative-y lengthens a stem while negative relative-y shortens it.
The default-x and default-y position attributes provide higher-resolution positioning data than related features such as the placement attribute and the offset element. Applications reading a MusicXML file that can understand both features should generally rely on the default-x and default-y attributes for their greater accuracy. For the relative-x and relative-y attributes, the offset element, placement attribute, and directive attribute provide context for the relative position information, so the two features should be interpreted together.
As elsewhere in the MusicXML format, tenths are the global tenths defined by the scaling element, not the local tenths of a staff resized by the staff-size element.
Attribute Group: print-attributes
Name | print-attributes |
---|
The print-attributes group is used by the print element. The new-system and new-page attributes indicate whether to force a system or page break, or to force the current music onto the same system or page as the preceding music. Normally this is the first music data within a measure. If used in multi-part music, they should be placed in the same positions within each part, or the results are undefined. The page-number attribute sets the number of a new page; it is ignored if new-page is not "yes". Version 2.0 adds a blank-page attribute. This is a positive integer value that specifies the number of blank pages to insert before the current measure. It is ignored if new-page is not "yes". These blank pages have no music, but may have text or images specified by the credit element. This is used to allow a combination of pages that are all text, or all text and images, together with pages of music.
The staff-spacing attribute specifies spacing between multiple staves in tenths of staff space. This is deprecated as of Version 1.1; the staff-layout element should be used instead. If both are present, the staff-layout values take priority.
The print-attributes group is used by the print element. The new-system and new-page attributes indicate whether to force a system or page break, or to force the current music onto the same system or page as the preceding music. Normally this is the first music data within a measure. If used in multi-part music, they should be placed in the same positions within each part, or the results are undefined. The page-number attribute sets the number of a new page; it is ignored if new-page is not "yes". Version 2.0 adds a blank-page attribute. This is a positive integer value that specifies the number of blank pages to insert before the current measure. It is ignored if new-page is not "yes". These blank pages have no music, but may have text or images specified by the credit element. This is used to allow a combination of pages that are all text, or all text and images, together with pages of music.
The staff-spacing attribute specifies spacing between multiple staves in tenths of staff space. This is deprecated as of Version 1.1; the staff-layout element should be used instead. If both are present, the staff-layout values take priority.
<xs:attributeGroup name="print-attributes"> <xs:attribute name="staff-spacing" type="tenths"/> <xs:attribute name="new-system" type="yes-no"/> <xs:attribute name="new-page" type="yes-no"/> <xs:attribute name="blank-page" type="xs:positiveInteger"/> <xs:attribute name="page-number" type="xs:token"/> </xs:attributeGroup>
Attribute Group: print-object
Name | print-object |
---|
The print-object attribute specifies whether or not to print an object (e.g. a note or a rest). It is yes by default.
The print-object attribute specifies whether or not to print an object (e.g. a note or a rest). It is yes by default.
print-object="yes-no" [0..1]
Attribute Group: print-spacing
Name | print-spacing |
---|
The print-spacing attribute controls whether or not spacing is left for an invisible note or object. It is used only if no note, dot, or lyric is being printed. The value is yes (leave spacing) by default.
The print-spacing attribute controls whether or not spacing is left for an invisible note or object. It is used only if no note, dot, or lyric is being printed. The value is yes (leave spacing) by default.
print-spacing="yes-no" [0..1]
Attribute Group: print-style
Name | print-style |
---|
The print-style attribute group collects the most popular combination of printing attributes: position, font, and color.
The print-style attribute group collects the most popular combination of printing attributes: position, font, and color.
default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1]
Attribute Group: print-style-align
Name | print-style-align |
---|
The print-style-align attribute group adds the halign and valign attributes to the position, font, and color attributes.
The print-style-align attribute group adds the halign and valign attributes to the position, font, and color attributes.
default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] halign="left-center-right" [0..1] valign="valign" [0..1]
Attribute Group: printout
Name | printout |
---|
The printout attribute group collects the different controls over printing an object (e.g. a note or rest) and its parts, including augmentation dots and lyrics. This is especially useful for notes that overlap in different voices, or for chord sheets that contain lyrics and chords but no melody.
By default, all these attributes are set to yes. If print-object is set to no, the print-dot and print-lyric attributes are interpreted to also be set to no if they are not present.
The printout attribute group collects the different controls over printing an object (e.g. a note or rest) and its parts, including augmentation dots and lyrics. This is especially useful for notes that overlap in different voices, or for chord sheets that contain lyrics and chords but no melody.
By default, all these attributes are set to yes. If print-object is set to no, the print-dot and print-lyric attributes are interpreted to also be set to no if they are not present.
<xs:attributeGroup name="printout"> <xs:attributeGroup ref="print-object"/> <xs:attribute name="print-dot" type="yes-no"/> <xs:attributeGroup ref="print-spacing"/> <xs:attribute name="print-lyric" type="yes-no"/> </xs:attributeGroup>
Attribute Group: smufl
Name | smufl |
---|
The smufl attribute group is used to indicate a particular Standard Music Font Layout (SMuFL) character. Sometimes this is a formatting choice, and sometimes this is a refinement of the semantic meaning of an element.
The smufl attribute group is used to indicate a particular Standard Music Font Layout (SMuFL) character. Sometimes this is a formatting choice, and sometimes this is a refinement of the semantic meaning of an element.
smufl="smufl-glyph-name" [0..1]
<xs:attributeGroup name="smufl"> <xs:attribute name="smufl" type="smufl-glyph-name"/> </xs:attributeGroup>
Attribute Group: symbol-formatting
Name | symbol-formatting |
---|
The symbol-formatting attribute group collects the common formatting attributes for musical symbols. Default values may differ across the elements that use this group.
The symbol-formatting attribute group collects the common formatting attributes for musical symbols. Default values may differ across the elements that use this group.
justify="left-center-right" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] halign="left-center-right" [0..1] valign="valign" [0..1] underline="number-of-lines" [0..1] overline="number-of-lines" [0..1] line-through="number-of-lines" [0..1] rotation="rotation-degrees" [0..1] letter-spacing="number-or-normal" [0..1] line-height="number-or-normal" [0..1] dir="text-direction" [0..1] enclosure="enclosure-shape" [0..1]
<xs:attributeGroup name="symbol-formatting"> <xs:attributeGroup ref="justify"/> <xs:attributeGroup ref="print-style-align"/> <xs:attributeGroup ref="text-decoration"/> <xs:attributeGroup ref="text-rotation"/> <xs:attributeGroup ref="letter-spacing"/> <xs:attributeGroup ref="line-height"/> <xs:attributeGroup ref="text-direction"/> <xs:attributeGroup ref="enclosure"/> </xs:attributeGroup>
Attribute Group: system-relation
Name | system-relation |
---|
The system-relation attribute group distinguishes elements that are associated with a system rather than the particular part where the element appears.
The system-relation attribute group distinguishes elements that are associated with a system rather than the particular part where the element appears.
system="system-relation" [0..1]
<xs:attributeGroup name="system-relation"> <xs:attribute name="system" type="system-relation"/> </xs:attributeGroup>
Attribute Group: text-decoration
Name | text-decoration |
---|
The text-decoration attribute group is based on the similar feature in XHTML and CSS. It allows for text to be underlined, overlined, or struck-through. It extends the CSS version by allow double or triple lines instead of just being on or off.
The text-decoration attribute group is based on the similar feature in XHTML and CSS. It allows for text to be underlined, overlined, or struck-through. It extends the CSS version by allow double or triple lines instead of just being on or off.
underline="number-of-lines" [0..1] overline="number-of-lines" [0..1] line-through="number-of-lines" [0..1]
<xs:attributeGroup name="text-decoration"> <xs:attribute name="underline" type="number-of-lines"/> <xs:attribute name="overline" type="number-of-lines"/> <xs:attribute name="line-through" type="number-of-lines"/> </xs:attributeGroup>
Attribute Group: text-direction
Name | text-direction |
---|
The text-direction attribute is used to adjust and override the Unicode bidirectional text algorithm, similar to the Directionality data category in the W3C Internationalization Tag Set recommendation.
The text-direction attribute is used to adjust and override the Unicode bidirectional text algorithm, similar to the Directionality data category in the W3C Internationalization Tag Set recommendation.
dir="text-direction" [0..1]
<xs:attributeGroup name="text-direction"> <xs:attribute name="dir" type="text-direction"/> </xs:attributeGroup>
Attribute Group: text-formatting
Name | text-formatting |
---|
The text-formatting attribute group collects the common formatting attributes for text elements. Default values may differ across the elements that use this group.
The text-formatting attribute group collects the common formatting attributes for text elements. Default values may differ across the elements that use this group.
justify="left-center-right" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] halign="left-center-right" [0..1] valign="valign" [0..1] underline="number-of-lines" [0..1] overline="number-of-lines" [0..1] line-through="number-of-lines" [0..1] rotation="rotation-degrees" [0..1] letter-spacing="number-or-normal" [0..1] line-height="number-or-normal" [0..1] xml:lang="" [0..1] xml:space="" [0..1] dir="text-direction" [0..1] enclosure="enclosure-shape" [0..1]
<xs:attributeGroup name="text-formatting"> <xs:attributeGroup ref="justify"/> <xs:attributeGroup ref="print-style-align"/> <xs:attributeGroup ref="text-decoration"/> <xs:attributeGroup ref="text-rotation"/> <xs:attributeGroup ref="letter-spacing"/> <xs:attributeGroup ref="line-height"/> <xs:attribute ref="xml:lang"/> <xs:attribute ref="xml:space"/> <xs:attributeGroup ref="text-direction"/> <xs:attributeGroup ref="enclosure"/> </xs:attributeGroup>
Attribute Group: text-rotation
Name | text-rotation |
---|
The rotation attribute is used to rotate text around the alignment point specified by the halign and valign attributes. Positive values are clockwise rotations, while negative values are counter-clockwise rotations.
The rotation attribute is used to rotate text around the alignment point specified by the halign and valign attributes. Positive values are clockwise rotations, while negative values are counter-clockwise rotations.
rotation="rotation-degrees" [0..1]
<xs:attributeGroup name="text-rotation"> <xs:attribute name="rotation" type="rotation-degrees"/> </xs:attributeGroup>
Attribute Group: trill-sound
Name | trill-sound |
---|
The trill-sound attribute group includes attributes used to guide the sound of trills, mordents, turns, shakes, and wavy lines. The default choices are:
start-note = "upper"
trill-step = "whole"
two-note-turn = "none"
accelerate = "no"
beats = "4".
Second-beat and last-beat are percentages for landing on the indicated beat, with defaults of 25 and 75 respectively.
For mordent and inverted-mordent elements, the defaults are different:
The default start-note is "main", not "upper".
The default for beats is "3", not "4".
The default for second-beat is "12", not "25".
The default for last-beat is "24", not "75".
The trill-sound attribute group includes attributes used to guide the sound of trills, mordents, turns, shakes, and wavy lines. The default choices are:
start-note = "upper"
trill-step = "whole"
two-note-turn = "none"
accelerate = "no"
beats = "4".
Second-beat and last-beat are percentages for landing on the indicated beat, with defaults of 25 and 75 respectively.
For mordent and inverted-mordent elements, the defaults are different:
The default start-note is "main", not "upper".
The default for beats is "3", not "4".
The default for second-beat is "12", not "25".
The default for last-beat is "24", not "75".
start-note="start-note" [0..1] trill-step="trill-step" [0..1] two-note-turn="two-note-turn" [0..1] accelerate="yes-no" [0..1] beats="trill-beats" [0..1] second-beat="percent" [0..1] last-beat="percent" [0..1]
<xs:attributeGroup name="trill-sound"> <xs:attribute name="start-note" type="start-note"/> <xs:attribute name="trill-step" type="trill-step"/> <xs:attribute name="two-note-turn" type="two-note-turn"/> <xs:attribute name="accelerate" type="yes-no"/> <xs:attribute name="beats" type="trill-beats"/> <xs:attribute name="second-beat" type="percent"/> <xs:attribute name="last-beat" type="percent"/> </xs:attributeGroup>
Attribute Group: valign
Name | valign |
---|
The valign attribute is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. Defaults are implementation-dependent.
The valign attribute is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. Defaults are implementation-dependent.
valign="valign" [0..1]
Attribute Group: valign-image
Name | valign-image |
---|
The valign-image attribute is used to indicate vertical alignment for images and graphics, so it removes the baseline value. Defaults are implementation-dependent.
The valign-image attribute is used to indicate vertical alignment for images and graphics, so it removes the baseline value. Defaults are implementation-dependent.
valign="valign-image" [0..1]
<xs:attributeGroup name="valign-image"> <xs:attribute name="valign" type="valign-image"/> </xs:attributeGroup>
Attribute Group: x-position
Name | x-position |
---|
The x-position attribute group is used for elements like notes where specifying x position is common, but specifying y position is rare.
The x-position attribute group is used for elements like notes where specifying x position is common, but specifying y position is rare.
Attribute Group: y-position
Name | y-position |
---|
The y-position attribute group is used for elements like stems where specifying y position is common, but specifying x position is rare.
The y-position attribute group is used for elements like stems where specifying y position is common, but specifying x position is rare.
Complex Type: accidental
Super-types: | xs:positiveInteger < string-number (by restriction) < string (by extension) < accidental-value (by restriction) < accidental (by extension) |
---|---|
Sub-types: | None |
Name | accidental |
---|---|
Abstract | no |
The accidental type represents actual notated accidentals. Editorial and cautionary indications are indicated by attributes. Values for these attributes are "no" if not present. Specific graphic display such as parentheses, brackets, and size are controlled by the level-display attribute group.
The accidental type represents actual notated accidentals. Editorial and cautionary indications are indicated by attributes. Values for these attributes are "no" if not present. Specific graphic display such as parentheses, brackets, and size are controlled by the level-display attribute group.
<... cautionary="yes-no" [0..1] editorial="yes-no" [0..1] parentheses="yes-no" [0..1] bracket="yes-no" [0..1] size="symbol-size" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] smufl="smufl-accidental-glyph-name" [0..1] > accidental-value </...>
<xs:complexType name="accidental"> <xs:simpleContent> <xs:extension base="accidental-value"> <xs:attribute name="cautionary" type="yes-no"/> <xs:attribute name="editorial" type="yes-no"/> <xs:attributeGroup ref="level-display"/> <xs:attributeGroup ref="print-style"/> <xs:attribute name="smufl" type="smufl-accidental-glyph-name"/> </xs:extension> </xs:simpleContent> </xs:complexType>
Complex Type: accidental-mark
Super-types: | xs:positiveInteger < string-number (by restriction) < string (by extension) < accidental-value (by restriction) < accidental-mark (by extension) |
---|---|
Sub-types: | None |
Name | accidental-mark |
---|---|
Abstract | no |
An accidental-mark can be used as a separate notation or as part of an ornament. When used in an ornament, position and placement are relative to the ornament, not relative to the note.
An accidental-mark can be used as a separate notation or as part of an ornament. When used in an ornament, position and placement are relative to the ornament, not relative to the note.
<... parentheses="yes-no" [0..1] bracket="yes-no" [0..1] size="symbol-size" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] placement="above-below" [0..1] smufl="smufl-accidental-glyph-name" [0..1] id="xs:ID" [0..1] > accidental-value </...>
<xs:complexType name="accidental-mark"> <xs:simpleContent> <xs:extension base="accidental-value"> <xs:attributeGroup ref="level-display"/> <xs:attributeGroup ref="print-style"/> <xs:attributeGroup ref="placement"/> <xs:attribute name="smufl" type="smufl-accidental-glyph-name"/> <xs:attributeGroup ref="optional-unique-id"/> </xs:extension> </xs:simpleContent> </xs:complexType>
Complex Type: accidental-text
Super-types: | xs:positiveInteger < string-number (by restriction) < string (by extension) < accidental-value (by restriction) < accidental-text (by extension) |
---|---|
Sub-types: | None |
Name | accidental-text |
---|---|
Abstract | no |
The accidental-text type represents an element with an accidental value and text-formatting attributes.
The accidental-text type represents an element with an accidental value and text-formatting attributes.
<... justify="left-center-right" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] halign="left-center-right" [0..1] valign="valign" [0..1] underline="number-of-lines" [0..1] overline="number-of-lines" [0..1] line-through="number-of-lines" [0..1] rotation="rotation-degrees" [0..1] letter-spacing="number-or-normal" [0..1] line-height="number-or-normal" [0..1] xml:lang="" [0..1] xml:space="" [0..1] dir="text-direction" [0..1] enclosure="enclosure-shape" [0..1] smufl="smufl-accidental-glyph-name" [0..1] > accidental-value </...>
<xs:complexType name="accidental-text"> <xs:simpleContent> <xs:extension base="accidental-value"> <xs:attributeGroup ref="text-formatting"/> <xs:attribute name="smufl" type="smufl-accidental-glyph-name"/> </xs:extension> </xs:simpleContent> </xs:complexType>
Complex Type: accord
Super-types: | None |
---|---|
Sub-types: | None |
Name | accord |
---|---|
Abstract | no |
The accord type represents the tuning of a single string in the scordatura element. It uses the same group of elements as the staff-tuning element. Strings are numbered from high to low.
The accord type represents the tuning of a single string in the scordatura element. It uses the same group of elements as the staff-tuning element. Strings are numbered from high to low.
<... string="string-number" [0..1] > <tuning-step> step </tuning-step> [1] <tuning-alter> semitones </tuning-alter> [0..1] <tuning-octave> octave </tuning-octave> [1] </...>
Complex Type: accordion-registration
Super-types: | None |
---|---|
Sub-types: | None |
Name | accordion-registration |
---|---|
Abstract | no |
The accordion-registration type is used for accordion registration symbols. These are circular symbols divided horizontally into high, middle, and low sections that correspond to 4', 8', and 16' pipes. Each accordion-high, accordion-middle, and accordion-low element represents the presence of one or more dots in the registration diagram. An accordion-registration element needs to have at least one of the child elements present.
The accordion-registration type is used for accordion registration symbols. These are circular symbols divided horizontally into high, middle, and low sections that correspond to 4', 8', and 16' pipes. Each accordion-high, accordion-middle, and accordion-low element represents the presence of one or more dots in the registration diagram. An accordion-registration element needs to have at least one of the child elements present.
<... default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] halign="left-center-right" [0..1] valign="valign" [0..1] id="xs:ID" [0..1] > <accordion-high> empty </accordion-high> [0..1] <accordion-middle> accordion-middle </accordion-middle> [0..1] <accordion-low> empty </accordion-low> [0..1] </...>
<xs:complexType name="accordion-registration"> <xs:sequence> <xs:element name="accordion-high" type="empty" minOccurs="0"/> <xs:element name="accordion-middle" type="accordion-middle" minOccurs="0"/> <xs:element name="accordion-low" type="empty" minOccurs="0"/> </xs:sequence> <xs:attributeGroup ref="print-style-align"/> <xs:attributeGroup ref="optional-unique-id"/> </xs:complexType>
Complex Type: appearance
Super-types: | None |
---|---|
Sub-types: | None |
Name | appearance |
---|---|
Abstract | no |
The appearance type controls general graphical settings for the music's final form appearance on a printed page of display. This includes support for line widths, definitions for note sizes, and standard distances between notation elements, plus an extension element for other aspects of appearance.
The appearance type controls general graphical settings for the music's final form appearance on a printed page of display. This includes support for line widths, definitions for note sizes, and standard distances between notation elements, plus an extension element for other aspects of appearance.
<...> <line-width> line-width </line-width> [0..*] <note-size> note-size </note-size> [0..*] <distance> distance </distance> [0..*] <glyph> glyph </glyph> [0..*] <other-appearance> other-appearance </other-appearance> [0..*] </...>
<xs:complexType name="appearance"> <xs:sequence> <xs:element name="line-width" type="line-width" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="note-size" type="note-size" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="distance" type="distance" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="glyph" type="glyph" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="other-appearance" type="other-appearance" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>
Complex Type: arpeggiate
Super-types: | None |
---|---|
Sub-types: | None |
Name | arpeggiate |
---|---|
Abstract | no |
The arpeggiate type indicates that this note is part of an arpeggiated chord. The number attribute can be used to distinguish between two simultaneous chords arpeggiated separately (different numbers) or together (same number). The direction attribute is used if there is an arrow on the arpeggio sign. By default, arpeggios go from the lowest to highest note. The length of the sign can be determined from the position attributes for the arpeggiate elements used with the top and bottom notes of the arpeggiated chord. If the unbroken attribute is set to yes, it indicates that the arpeggio continues onto another staff within the part. This serves as a hint to applications and is not required for cross-staff arpeggios.
The arpeggiate type indicates that this note is part of an arpeggiated chord. The number attribute can be used to distinguish between two simultaneous chords arpeggiated separately (different numbers) or together (same number). The direction attribute is used if there is an arrow on the arpeggio sign. By default, arpeggios go from the lowest to highest note. The length of the sign can be determined from the position attributes for the arpeggiate elements used with the top and bottom notes of the arpeggiated chord. If the unbroken attribute is set to yes, it indicates that the arpeggio continues onto another staff within the part. This serves as a hint to applications and is not required for cross-staff arpeggios.
<... number="number-level" [0..1] direction="up-down" [0..1] unbroken="yes-no" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] placement="above-below" [0..1] color="color" [0..1] id="xs:ID" [0..1] />
<xs:complexType name="arpeggiate"> <xs:attribute name="number" type="number-level"/> <xs:attribute name="direction" type="up-down"/> <xs:attribute name="unbroken" type="yes-no"/> <xs:attributeGroup ref="position"/> <xs:attributeGroup ref="placement"/> <xs:attributeGroup ref="color"/> <xs:attributeGroup ref="optional-unique-id"/> </xs:complexType>
Complex Type: arrow
Super-types: | None |
---|---|
Sub-types: | None |
Name | arrow |
---|---|
Abstract | no |
The arrow element represents an arrow used for a musical technical indication. It can represent both Unicode and SMuFL arrows. The presence of an arrowhead element indicates that only the arrowhead is displayed, not the arrow stem. The smufl attribute distinguishes different SMuFL glyphs that have an arrow appearance such as arrowBlackUp, guitarStrumUp, or handbellsSwingUp. The specified glyph should match the descriptive representation.
The arrow element represents an arrow used for a musical technical indication. It can represent both Unicode and SMuFL arrows. The presence of an arrowhead element indicates that only the arrowhead is displayed, not the arrow stem. The smufl attribute distinguishes different SMuFL glyphs that have an arrow appearance such as arrowBlackUp, guitarStrumUp, or handbellsSwingUp. The specified glyph should match the descriptive representation.
<... default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] placement="above-below" [0..1] smufl="smufl-glyph-name" [0..1] > Start Choice [1] <arrow-direction> arrow-direction </arrow-direction> [1] <arrow-style> arrow-style </arrow-style> [0..1] <arrowhead> empty </arrowhead> [0..1] <circular-arrow> circular-arrow </circular-arrow> [1] End Choice </...>
<xs:complexType name="arrow"> <xs:choice> <xs:sequence> <xs:element name="arrow-direction" type="arrow-direction"/> <xs:element name="arrow-style" type="arrow-style" minOccurs="0"/> <xs:element name="arrowhead" type="empty" minOccurs="0"/> </xs:sequence> <xs:element name="circular-arrow" type="circular-arrow"/> </xs:choice> <xs:attributeGroup ref="print-style"/> <xs:attributeGroup ref="placement"/> <xs:attributeGroup ref="smufl"/> </xs:complexType>
Complex Type: articulations
Super-types: | None |
---|---|
Sub-types: | None |
Name | articulations |
---|---|
Abstract | no |
Articulations and accents are grouped together here.
Articulations and accents are grouped together here.
<... id="xs:ID" [0..1] > Start Choice [0..*] <accent> empty-placement </accent> [1] <strong-accent> strong-accent </strong-accent> [1] <staccato> empty-placement </staccato> [1] <tenuto> empty-placement </tenuto> [1] <detached-legato> empty-placement </detached-legato> [1] <staccatissimo> empty-placement </staccatissimo> [1] <spiccato> empty-placement </spiccato> [1] <scoop> empty-line </scoop> [1] <plop> empty-line </plop> [1] <doit> empty-line </doit> [1] <falloff> empty-line </falloff> [1] <breath-mark> breath-mark </breath-mark> [1] <caesura> caesura </caesura> [1] <stress> empty-placement </stress> [1] <unstress> empty-placement </unstress> [1] <soft-accent> empty-placement </soft-accent> [1] <other-articulation> other-placement-text </other-articulation> [1] End Choice </...>
<xs:complexType name="articulations"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="accent" type="empty-placement"/> <xs:element name="strong-accent" type="strong-accent"/> <xs:element name="staccato" type="empty-placement"/> <xs:element name="tenuto" type="empty-placement"/> <xs:element name="detached-legato" type="empty-placement"/> <xs:element name="staccatissimo" type="empty-placement"/> <xs:element name="spiccato" type="empty-placement"/> <xs:element name="scoop" type="empty-line"/> <xs:element name="plop" type="empty-line"/> <xs:element name="doit" type="empty-line"/> <xs:element name="falloff" type="empty-line"/> <xs:element name="breath-mark" type="breath-mark"/> <xs:element name="caesura" type="caesura"/> <xs:element name="stress" type="empty-placement"/> <xs:element name="unstress" type="empty-placement"/> <xs:element name="soft-accent" type="empty-placement"/> <xs:element name="other-articulation" type="other-placement-text"/> </xs:choice> <xs:attributeGroup ref="optional-unique-id"/> </xs:complexType>
Complex Type: assess
Super-types: | None |
---|---|
Sub-types: | None |
Name | assess |
---|---|
Abstract | no |
By default, an assessment application should assess all notes without a cue child element, and not assess any note with a cue child element. The assess type allows this default assessment to be overridden for individual notes. The optional player and time-only attributes restrict the type to apply to a single player or set of times through a repeated section, respectively. If missing, the type applies to all players or all times through the repeated section, respectively. The player attribute references the id attribute of a player element defined within the matching score-part.
By default, an assessment application should assess all notes without a cue child element, and not assess any note with a cue child element. The assess type allows this default assessment to be overridden for individual notes. The optional player and time-only attributes restrict the type to apply to a single player or set of times through a repeated section, respectively. If missing, the type applies to all players or all times through the repeated section, respectively. The player attribute references the id attribute of a player element defined within the matching score-part.
Complex Type: attributes
Super-types: | None |
---|---|
Sub-types: | None |
Name | attributes |
---|---|
Abstract | no |
The attributes element contains musical information that typically changes on measure boundaries. This includes key and time signatures, clefs, transpositions, and staving. When attributes are changed mid-measure, it affects the music in score order, not in MusicXML document order.
The attributes element contains musical information that typically changes on measure boundaries. This includes key and time signatures, clefs, transpositions, and staving. When attributes are changed mid-measure, it affects the music in score order, not in MusicXML document order.
<...> Start Group: footnote [0..1] <footnote> formatted-text </footnote> [1] End Group: footnote Start Group: level [0..1] <level> level </level> [1] End Group: level <divisions> positive-divisions </divisions> [0..1] <key> key </key> [0..*] <time> time </time> [0..*] <staves> xs:nonNegativeInteger </staves> [0..1] <part-symbol> part-symbol </part-symbol> [0..1] <instruments> xs:nonNegativeInteger </instruments> [0..1] <clef> clef </clef> [0..*] <staff-details> staff-details </staff-details> [0..*] Start Choice [1] <transpose> transpose </transpose> [0..*] <for-part> for-part </for-part> [0..*] End Choice <directive default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] xml:lang="" [0..1] > [0..*] xs:string </directive> <measure-style> measure-style </measure-style> [0..*] </...>
<xs:complexType name="attributes"> <xs:sequence> <xs:group ref="editorial"/> <xs:element name="divisions" type="positive-divisions" minOccurs="0"/> <xs:element name="key" type="key" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="time" type="time" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="staves" type="xs:nonNegativeInteger" minOccurs="0"/> <xs:element name="part-symbol" type="part-symbol" minOccurs="0"/> <xs:element name="instruments" type="xs:nonNegativeInteger" minOccurs="0"/> <xs:element name="clef" type="clef" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="staff-details" type="staff-details" minOccurs="0" maxOccurs="unbounded"/> <xs:choice> <xs:element name="transpose" type="transpose" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="for-part" type="for-part" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> <xs:element name="directive" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attributeGroup ref="print-style"/> <xs:attribute ref="xml:lang"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="measure-style" type="measure-style" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>
Complex Type: backup
Super-types: | None |
---|---|
Sub-types: | None |
Name | backup |
---|---|
Abstract | no |
The backup and forward elements are required to coordinate multiple voices in one part, including music on multiple staves. The backup type is generally used to move between voices and staves. Thus the backup element does not include voice or staff elements. Duration values should always be positive, and should not cross measure boundaries or mid-measure changes in the divisions value.
The backup and forward elements are required to coordinate multiple voices in one part, including music on multiple staves. The backup type is generally used to move between voices and staves. Thus the backup element does not include voice or staff elements. Duration values should always be positive, and should not cross measure boundaries or mid-measure changes in the divisions value.
<...> <duration> positive-divisions </duration> [1] Start Group: footnote [0..1] <footnote> formatted-text </footnote> [1] End Group: footnote Start Group: level [0..1] <level> level </level> [1] End Group: level </...>
Complex Type: bar-style-color
Super-types: | xs:positiveInteger < string-number (by restriction) < string (by extension) < bar-style (by restriction) < bar-style-color (by extension) |
---|---|
Sub-types: | None |
Name | bar-style-color |
---|---|
Abstract | no |
The bar-style-color type contains barline style and color information.
The bar-style-color type contains barline style and color information.
Complex Type: barline
Super-types: | None |
---|---|
Sub-types: | None |
Name | barline |
---|---|
Abstract | no |
If a barline is other than a normal single barline, it should be represented by a barline type that describes it. This includes information about repeats and multiple endings, as well as line style. Barline data is on the same level as the other musical data in a score - a child of a measure in a partwise score, or a part in a timewise score. This allows for barlines within measures, as in dotted barlines that subdivide measures in complex meters. The two fermata elements allow for fermatas on both sides of the barline (the lower one inverted).
Barlines have a location attribute to make it easier to process barlines independently of the other musical data in a score. It is often easier to set up measures separately from entering notes. The location attribute must match where the barline element occurs within the rest of the musical data in the score. If location is left, it should be the first element in the measure, aside from the print, bookmark, and link elements. If location is right, it should be the last element, again with the possible exception of the print, bookmark, and link elements. If no location is specified, the right barline is the default. The segno, coda, and divisions attributes work the same way as in the sound element. They are used for playback when barline elements contain segno or coda child elements.
If a barline is other than a normal single barline, it should be represented by a barline type that describes it. This includes information about repeats and multiple endings, as well as line style. Barline data is on the same level as the other musical data in a score - a child of a measure in a partwise score, or a part in a timewise score. This allows for barlines within measures, as in dotted barlines that subdivide measures in complex meters. The two fermata elements allow for fermatas on both sides of the barline (the lower one inverted).
Barlines have a location attribute to make it easier to process barlines independently of the other musical data in a score. It is often easier to set up measures separately from entering notes. The location attribute must match where the barline element occurs within the rest of the musical data in the score. If location is left, it should be the first element in the measure, aside from the print, bookmark, and link elements. If location is right, it should be the last element, again with the possible exception of the print, bookmark, and link elements. If no location is specified, the right barline is the default. The segno, coda, and divisions attributes work the same way as in the sound element. They are used for playback when barline elements contain segno or coda child elements.
<... location="right-left-middle" [0..1] segno="xs:token" [0..1] coda="xs:token" [0..1] divisions="divisions" [0..1] id="xs:ID" [0..1] > <bar-style> bar-style-color </bar-style> [0..1] Start Group: footnote [0..1] <footnote> formatted-text </footnote> [1] End Group: footnote Start Group: level [0..1] <level> level </level> [1] End Group: level <wavy-line> wavy-line </wavy-line> [0..1] <segno> segno </segno> [0..1] <coda> coda </coda> [0..1] <fermata> fermata </fermata> [0..2] <ending> ending </ending> [0..1] <repeat> repeat </repeat> [0..1] </...>
<xs:complexType name="barline"> <xs:sequence> <xs:element name="bar-style" type="bar-style-color" minOccurs="0"/> <xs:group ref="editorial"/> <xs:element name="wavy-line" type="wavy-line" minOccurs="0"/> <xs:element name="segno" type="segno" minOccurs="0"/> <xs:element name="coda" type="coda" minOccurs="0"/> <xs:element name="fermata" type="fermata" minOccurs="0" maxOccurs="2"/> <xs:element name="ending" type="ending" minOccurs="0"/> <xs:element name="repeat" type="repeat" minOccurs="0"/> </xs:sequence> <xs:attribute name="location" type="right-left-middle" default="right"/> <xs:attribute name="segno" type="xs:token"/> <xs:attribute name="coda" type="xs:token"/> <xs:attribute name="divisions" type="divisions"/> <xs:attributeGroup ref="optional-unique-id"/> </xs:complexType>
Complex Type: barre
Super-types: | None |
---|---|
Sub-types: | None |
Name | barre |
---|---|
Abstract | no |
The barre element indicates placing a finger over multiple strings on a single fret. The type is "start" for the lowest pitched string (e.g., the string with the highest MusicXML number) and is "stop" for the highest pitched string.
The barre element indicates placing a finger over multiple strings on a single fret. The type is "start" for the lowest pitched string (e.g., the string with the highest MusicXML number) and is "stop" for the highest pitched string.
<... type="start-stop" [1] color="color" [0..1] />
Complex Type: bass
Super-types: | None |
---|---|
Sub-types: | None |
Name | bass |
---|---|
Abstract | no |
The bass type is used to indicate a bass note in popular music chord symbols, e.g. G/C. It is generally not used in functional harmony, as inversion is generally not used in pop chord symbols. As with root, it is divided into step and alter elements, similar to pitches. The arrangement attribute specifies where the bass is displayed relative to what precedes it.
The bass type is used to indicate a bass note in popular music chord symbols, e.g. G/C. It is generally not used in functional harmony, as inversion is generally not used in pop chord symbols. As with root, it is divided into step and alter elements, similar to pitches. The arrangement attribute specifies where the bass is displayed relative to what precedes it.
<... arrangement="harmony-arrangement" [0..1] > <bass-separator> style-text </bass-separator> [0..1] <bass-step> bass-step </bass-step> [1] <bass-alter> harmony-alter </bass-alter> [0..1] </...>
<xs:complexType name="bass"> <xs:sequence> <xs:element name="bass-separator" type="style-text" minOccurs="0"/> <xs:element name="bass-step" type="bass-step"/> <xs:element name="bass-alter" type="harmony-alter" minOccurs="0"/> </xs:sequence> <xs:attribute name="arrangement" type="harmony-arrangement"/> </xs:complexType>
Complex Type: bass-step
Super-types: | xs:positiveInteger < string-number (by restriction) < string (by extension) < step (by restriction) < bass-step (by extension) |
---|---|
Sub-types: | None |
Name | bass-step |
---|---|
Abstract | no |
The bass-step type represents the pitch step of the bass of the current chord within the harmony element. The text attribute indicates how the bass should appear in a score if not using the element contents.
The bass-step type represents the pitch step of the bass of the current chord within the harmony element. The text attribute indicates how the bass should appear in a score if not using the element contents.
<... text="xs:token" [0..1] default-x="tenths" [0..1] default-y="tenths" [0..1] relative-x="tenths" [0..1] relative-y="tenths" [0..1] font-family="font-family" [0..1] font-style="font-style" [0..1] font-size="font-size" [0..1] font-weight="font-weight" [0..1] color="color" [0..1] > step </...>
Complex Type: beam
Super-types: | xs:positiveInteger < string-number (by restriction) < string (by extension) < beam-value (by restriction) < beam (by extension) |
---|---|
Sub-types: | None |
Name | beam |
---|---|
Abstract | no |
Beam values include begin, continue, end, forward hook, and backward hook. Up to eight concurrent beams are available to cover up to 1024th notes. Each beam in a note is represented with a separate beam element, starting with the eighth note beam using a number attribute of 1.
Note that the beam number does not distinguish sets of beams that overlap, as it does for slur and other elements. Beaming groups are distinguished by being in different voices and/or the presence or absence of grace and cue elements.
Beams that have a begin value can also have a fan attribute to indicate accelerandos and ritardandos using fanned beams. The fan attribute may also be used with a continue value if the fanning direction changes on that note. The value is "none" if not specified.
The repeater attribute has been deprecated in MusicXML 3.0. Formerly used for tremolos, it needs to be specified with a "yes" value for each beam using it.
Beam values include begin, continue, end, forward hook, and backward hook. Up to eight concurrent beams are available to cover up to 1024th notes. Each beam in a note is represented with a separate beam element, starting with the eighth note beam using a number attribute of 1.
Note that the beam number does not distinguish sets of beams that overlap, as it does for slur and other elements. Beaming groups are distinguished by being in different voices and/or the presence or absence of grace and cue elements.
Beams that have a begin value can also have a fan attribute to indicate accelerandos and ritardandos using fanned beams. The fan attribute may also be used with a continue value if the fanning direction changes on that note. The value is "none" if not specified.
The repeater attribute has been deprecated in MusicXML 3.0. Formerly used for tremolos, it needs to be specified with a "yes" value for each beam using it.
<... number="beam-level" [0..1] repeater="yes-no" [0..1] fan="fan" [0..1] color="color" [0..1] id="xs:ID" [0..1] > beam-value </...>
<xs:complexType name="beam"> <xs:simpleContent> <xs:extension base="beam-value"> <xs:attribute name="number" type="beam-level" default="1"/> <xs:attribute name="repeater" type="yes-no"/> <xs:attribute name="fan" type="fan"/> <xs:attributeGroup ref="color"/> <xs:attributeGroup ref="optional-unique-id"/> </xs:extension> </xs:simpleContent> </xs:complexType>
Complex Type: beat-repeat
Super-types: | None |
---|---|
Sub-types: | None |
Name | beat-repeat |
---|---|
Abstract | no |
The beat-repeat type is used to indicate that a single beat (but possibly many notes) is repeated. The slashes attribute specifies the number of slashes to use in the symbol. The use-dots attribute indicates whether or not to use dots as well (for instance, with mixed rhythm patterns). The value for slashes is 1 and the value for use-dots is no if not specified.
The stop type indicates the first beat where the repeats are no longer displayed. Both the start and stop of the beat being repeated should be specified unless the repeats are displayed through the end of the part.
The beat-repeat element specifies a notation style for repetitions. The actual music being repeated needs to be repeated within the MusicXML file. This element specifies the notation that indicates the repeat.
The beat-repeat type is used to indicate that a single beat (but possibly many notes) is repeated. The slashes attribute specifies the number of slashes to use in the symbol. The use-dots attribute indicates whether or not to use dots as well (for instance, with mixed rhythm patterns). The value for slashes is 1 and the value for use-dots is no if not specified.
The stop type indicates the first beat where the repeats are no longer displayed. Both the start and stop of the beat being repeated should be specified unless the repeats are displayed through the end of the part.
The beat-repeat element specifies a notation style for repetitions. The actual music being repeated needs to be repeated within the MusicXML file. This element specifies the notation that indicates the repeat.
<... type="start-stop" [1] slashes="xs:positiveInteger" [0..1] use-dots="yes-no" [0..1] > Start Group: slash [0..1] Start Sequence [0..1] <slash-type> note-type-value </slash-type> [1] <slash-dot> empty </slash-dot> [0..*] End Sequence <except-voice> xs:string </except-voice> [0..*] End Group: slash </...>
Complex Type: beat-unit-tied
Super-types: | None |
---|---|
Sub-types: | None |
Name | beat-unit-tied |
---|---|
Abstract | no |
The beat-unit-tied type indicates a beat-unit within a metronome mark that is tied to the preceding beat-unit. This allows two or more tied notes to be associated with a per-minute value in a metronome mark, whereas the metronome-tied element is restricted to metric relationship marks.
The beat-unit-tied type indicates a beat-unit within a metronome mark that is tied to the preceding beat-unit. This allows two or more tied notes to be associated with a per-minute value in a metronome mark, whereas the metronome-tied element is restricted to metric relationship marks.
<...> <beat-unit> note-type-value </beat-unit> [1] <beat-unit-dot> empty </beat-unit-dot> [0..*] </...>
Complex Type: beater
Super-types: | xs:positiveInteger < string-number (by restriction) < string (by extension) < beater-value (by restriction) < beater (by extension) |
---|---|
Sub-types: | None |
Name | beater |
---|---|
Abstract | no |
The beater type represents pictograms for beaters, mallets, and sticks that do not have different materials represented in the pictogram.
The beater type represents pictograms for beaters, mallets, and sticks that do not have different materials represented in the pictogram.
<... tip="tip-direction" [0..1] > beater-value </...>
<xs:complexType name="beater"> <xs:simpleContent> <xs:extension base="beater-value"> <xs:attribute n