You are here: MusicXML Reference > Score Schema (XSD) > Complex Types > Complex Type: attributes

Complex Type: attributes

Description

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.

Derived By

Restricting xs:anyType

Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Default  Description 
  1..1 
  0..1 
footnote  formatted-text  1..1  The footnote element specifies editorial information that appears in footnotes in the printed score. It is defined within a group due to its multiple uses within the MusicXML schema.
  0..1 
level  level  1..1  The level type is used to specify editorial information for different MusicXML elements.
divisions  positive-divisions  0..1  Musical notation duration is commonly represented as fractions. The divisions element indicates how many divisions per quarter note are used to indicate a note's duration. For example, if duration = 1 and divisions = 2, this is an eighth note duration. Duration and divisions are used directly for generating sound output, so they must be chosen to take tuplets into account. Using a divisions element lets us use just one number to represent a duration for each note in the score, while retaining the full power of a fractional representation. If maximum compatibility with Standard MIDI 1.0 files is important, do not have the divisions value exceed 16383.
key  key  0..* 

The key element represents a key signature. Both traditional and non-traditional key signatures are supported. The optional number attribute refers to staff numbers. If absent, the key signature applies to all staves in the part.

time  time  0..* 

Time signatures are represented by the beats element for the numerator and the beat-type element for the denominator.

staves  xs:nonNegativeInteger  0..1  The staves element is used if there is more than one staff represented in the given part (e.g., 2 staves for typical piano parts). If absent, a value of 1 is assumed. Staves are ordered from top to bottom in a part in numerical order, with staff 1 above staff 2.
part-symbol  part-symbol  0..1  The part-symbol element indicates how a symbol for a multi-staff part is indicated in the score.
instruments  xs:nonNegativeInteger  0..1  The instruments element is only used if more than one instrument is represented in the part (e.g., oboe I and II where they play together most of the time). If absent, a value of 1 is assumed.
clef  clef  0..* 

Clefs are represented by a combination of sign, line, and clef-octave-change elements.

staff-details  staff-details  0..*  The staff-details element is used to indicate different types of staves.
transpose  transpose  0..*  If the part is being encoded for a transposing instrument in written vs. concert pitch, the transposition must be encoded in the transpose element using the transpose type.
directive  xs:string (extension)  0..*  Directives are like directions, but can be grouped together with attributes for convenience. This is typically used for tempo markings at the beginning of a piece of music. This element has been deprecated in Version 2.0 in favor of the directive attribute for direction elements. Language names come from ISO 639, with optional country subcodes from ISO 3166.
measure-style  measure-style  0..* 

A measure-style indicates a special way to print partial to multiple measures within a part. This includes multiple rests over several measures, repeats of beats, single, or multiple measures, and use of slash notation.

Referenced By
Definition
<xs:complexType name="attributes">
  <xs:annotation>
    <xs:documentation>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.</xs:documentation>
  </xs:annotation>
  <xs:sequence>
    <xs:group ref="editorial" />
    <xs:element name="divisions" type="positive-divisions" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Musical notation duration is commonly represented as fractions. The divisions element indicates how many divisions per quarter note are used to indicate a note's duration. For example, if duration = 1 and divisions = 2, this is an eighth note duration. Duration and divisions are used directly for generating sound output, so they must be chosen to take tuplets into account. Using a divisions element lets us use just one number to represent a duration for each note in the score, while retaining the full power of a fractional representation. If maximum compatibility with Standard MIDI 1.0 files is important, do not have the divisions value exceed 16383.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="key" type="key" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>The key element represents a key signature. Both traditional and non-traditional key signatures are supported. The optional number attribute refers to staff numbers. If absent, the key signature applies to all staves in the part.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="time" type="time" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Time signatures are represented by the beats element for the numerator and the beat-type element for the denominator.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="staves" type="xs:nonNegativeInteger" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The staves element is used if there is more than one staff represented in the given part (e.g., 2 staves for typical piano parts). If absent, a value of 1 is assumed. Staves are ordered from top to bottom in a part in numerical order, with staff 1 above staff 2.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="part-symbol" type="part-symbol" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The part-symbol element indicates how a symbol for a multi-staff part is indicated in the score.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="instruments" type="xs:nonNegativeInteger" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The instruments element is only used if more than one instrument is represented in the part (e.g., oboe I and II where they play together most of the time). If absent, a value of 1 is assumed.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="clef" type="clef" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Clefs are represented by a combination of sign, line, and clef-octave-change elements.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="staff-details" type="staff-details" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>The staff-details element is used to indicate different types of staves.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="transpose" type="transpose" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>If the part is being encoded for a transposing instrument in written vs. concert pitch, the transposition must be encoded in the transpose element using the transpose type.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="directive" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Directives are like directions, but can be grouped together with attributes for convenience. This is typically used for tempo markings at the beginning of a piece of music. This element has been deprecated in Version 2.0 in favor of the directive attribute for direction elements. Language names come from ISO 639, with optional country subcodes from ISO 3166.</xs:documentation>
      </xs:annotation>
      <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:annotation>
        <xs:documentation>A measure-style indicates a special way to print partial to multiple measures within a part. This includes multiple rests over several measures, repeats of beats, single, or multiple measures, and use of slash notation.</xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>

 

MusicXML Documentation Home
Last built 2/20/2015

7007 Winchester Circle, Suite 140

Boulder, CO 80301