Schema osfpvg.xsd


schema location:  http://www.musicxml.org/xsd/osfpvg.xsd
attribute form default:  unqualified
element form default:  qualified
 
Groups  Complex types  Simple types  Attr. groups 
editorial-voice (r)   appearance (r)   accidental-value (r)   group-name-text (r)  
harmony-chord (r)   articulations (r)   bar-style (r)   measure-attributes (r)  
music-data (r)   attributes (r)   clef-sign (r)   part-name-text (r)  
barline (r)   divisions (r)   print-attributes (r)  
beam (r)   ending-number (r)  
bracket (r)   fifths (r)  
dashes (r)   kind-value (r)  
direction-type (r)   line-width-type (r)  
dynamics (r)   mode (r)  
empty-line (r)   notehead-value (r)  
extend (r)   number-of-lines (r)  
frame (r)   time-symbol (r)  
glissando (r)  
key (r)  
octave-shift (r)  
ornaments (r)  
slide (r)  
slur (r)  
sound (r)  
staff-details (r)  
technical (r)  
tied (r)  
time (r)  
transpose (r)  


schema location:  http://www.musicxml.org/xsd/musicxml.xsd
attribute form default:  unqualified
element form default:  qualified
 
Elements  Groups  Complex types  Simple types  Attr. groups 
score-partwise  all-margins  accidental  above-below  bend-sound 
score-timewise  beat-unit  accidental-mark  accidental-value  bezier 
duration  accidental-text  accordion-middle  color 
editorial  accord  backward-forward  directive 
editorial-voice  accordion-registration  bar-style  document-attributes 
editorial-voice-direction  appearance  beam-level  element-position 
footnote  arpeggiate  beam-value  font 
full-note  articulations  clef-sign  group-name-text 
harmony-chord  attributes  color  halign 
layout  backup  comma-separated-text  image-attributes 
left-right-margins  bar-style-color  css-font-size  justify 
level  barline  degree-type-value  letter-spacing 
music-data  barre  divisions  level-display 
non-traditional-key  bass  enclosure  line-height 
part-group  bass-alter  ending-number  line-shape 
score-header  bass-step  fan  line-type 
score-part  beam  fermata-shape  link-attributes 
slash  beat-repeat  fifths  measure-attributes 
staff  bend  font-size  orientation 
traditional-key  bookmark  font-style  part-attributes 
tuning  bracket  font-weight  part-name-text 
voice  cancel  group-barline-value  placement 
clef  group-symbol-value  position 
credit  harmony-type  print-attributes 
dashes  kind-value  print-object 
defaults  left-center-right  print-spacing 
degree  left-right  print-style 
degree-alter  line-end  printout 
degree-type  line-shape  text-decoration 
degree-value  line-type  text-direction 
direction  line-width-type  text-formatting 
direction-type  margin-type  text-rotation 
display-step-octave  measure-numbering-value  trill-sound 
dynamics  midi-128  valign 
elision  midi-16  valign-image 
empty  midi-16384  x-position 
empty-font  millimeters  y-position 
empty-line  mode 
empty-placement  non-negative-decimal 
empty-print-style  note-size-type 
empty-trill-sound  note-type-value 
encoding  notehead-value 
ending  number-level 
extend  number-of-lines 
feature  number-or-normal 
fermata  octave 
figure  over-under 
figured-bass  percent 
fingering  positive-decimal 
first-fret  positive-divisions 
formatted-text  positive-integer-or-empty 
forward  rehearsal-enclosure 
frame  right-left-middle 
frame-note  rotation-degrees 
fret  semitones 
glissando  show-frets 
grace  show-tuplet 
group-barline  staff-line 
group-name  staff-number 
group-symbol  staff-type 
grouping  start-note 
hammer-on-pull-off  start-stop 
harmonic  start-stop-change 
harmony  start-stop-continue 
harp-pedals  start-stop-discontinue 
heel-toe  start-stop-single 
identification  stem-value 
image  step 
instrument  string-number 
inversion  syllabic 
key  symbol-size 
key-octave  tenths 
kind  text-direction 
level  time-symbol 
line-width  top-bottom 
link  tremolo-marks 
lyric  trill-beats 
lyric-font  trill-step 
lyric-language  two-note-turn 
measure-layout  up-down 
measure-numbering  up-down-stop 
measure-repeat  upright-inverted 
measure-style  valign 
metronome  valign-image 
metronome-beam  wedge-type 
metronome-note  yes-no 
metronome-tuplet  yes-no-number 
midi-device  yyyy-mm-dd 
midi-instrument 
miscellaneous 
miscellaneous-field 
mordent 
multiple-rest 
name-display 
non-arpeggiate 
notations 
note 
note-size 
note-type 
notehead 
octave-shift 
offset 
opus 
ornaments 
other-appearance 
other-direction 
other-notation 
page-layout 
page-margins 
part-group 
part-list 
part-name 
part-symbol 
pedal 
pedal-tuning 
per-minute 
pitch 
placement-text 
print 
rehearsal 
repeat 
root 
root-alter 
root-step 
scaling 
scordatura 
score-instrument 
score-part 
slash 
slide 
slur 
sound 
staff-details 
staff-layout 
staff-tuning 
stem 
string 
strong-accent 
style-text 
supports 
system-layout 
system-margins 
technical 
text-element-data 
tie 
tied 
time 
time-modification 
transpose 
tremolo 
tuplet 
tuplet-dot 
tuplet-number 
tuplet-portion 
tuplet-type 
typed-text 
wavy-line 
wedge 
work 


schema location:  altova://ystream/xml.xsd
attribute form default: 
element form default: 
targetNamespace:  http://www.w3.org/XML/1998/namespace
 
Attributes  Attr. groups 
base  specialAttrs 
id 
lang 
space 


schema location:  http://www.musicxml.org/xsd/xlink.xsd
attribute form default:  qualified
element form default:  qualified
targetNamespace:  http://www.w3.org/1999/xlink
 
Attributes 
actuate 
href 
role 
show 
title 
type 


redefinition of group editorial-voice
diagram
children footnote level voice
used by
complexTypes forward note
annotation
documentation
OSF requires the voice element to be present in the note and forward elements.
source <xs:group name="editorial-voice">
 
<xs:annotation>
   
<xs:documentation>OSF requires the voice element to be present in the note and forward elements.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="footnote" minOccurs="0"/>
   
<xs:group ref="level" minOccurs="0"/>
   
<xs:group ref="voice"/>
 
</xs:sequence>
</xs:group>

redefinition of group harmony-chord
diagram
children root kind bass degree
used by
complexType harmony
annotation
documentation
OSF PVG removes the function and inversion elements.
source <xs:group name="harmony-chord">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the function and inversion elements.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice>
     
<xs:element name="root" type="root"/>
   
</xs:choice>
   
<xs:element name="kind" type="kind"/>
   
<xs:element name="bass" type="bass" minOccurs="0"/>
   
<xs:element name="degree" type="degree" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:group>

element harmony-chord/root
diagram
type root
properties
isRef 0
content complex
children root-step root-alter
source <xs:element name="root" type="root"/>

element harmony-chord/kind
diagram
type kind
properties
isRef 0
content complex
facets
enumeration major
enumeration minor
enumeration augmented
enumeration diminished
enumeration dominant
enumeration major-seventh
enumeration minor-seventh
enumeration diminished-seventh
enumeration augmented-seventh
enumeration half-diminished
enumeration major-minor
enumeration major-sixth
enumeration minor-sixth
enumeration dominant-ninth
enumeration major-ninth
enumeration minor-ninth
enumeration dominant-11th
enumeration major-11th
enumeration minor-11th
enumeration dominant-13th
enumeration major-13th
enumeration minor-13th
enumeration suspended-second
enumeration suspended-fourth
enumeration pedal
enumeration power
enumeration other
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
use-symbolsyes-no      
textxs:token      
stack-degreesyes-no      
parentheses-degreesyes-no      
bracket-degreesyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
halignleft-center-right      
valignvalign      
source <xs:element name="kind" type="kind"/>

element harmony-chord/bass
diagram
type bass
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children bass-step bass-alter
source <xs:element name="bass" type="bass" minOccurs="0"/>

element harmony-chord/degree
diagram
type degree
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children degree-value degree-alter degree-type
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="degree" type="degree" minOccurs="0" maxOccurs="unbounded"/>

redefinition of group music-data
diagram
children note backup forward direction attributes harmony print sound barline grouping link bookmark
used by
elements score-partwise/part/measure score-timewise/measure/part
annotation
documentation
OSF PVG does not include the figured-bass element.
source <xs:group name="music-data">
 
<xs:annotation>
   
<xs:documentation>OSF PVG does not include the figured-bass element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice minOccurs="0" maxOccurs="unbounded">
     
<xs:element name="note" type="note"/>
     
<xs:element name="backup" type="backup"/>
     
<xs:element name="forward" type="forward"/>
     
<xs:element name="direction" type="direction"/>
     
<xs:element name="attributes" type="attributes"/>
     
<xs:element name="harmony" type="harmony"/>
     
<xs:element name="print" type="print"/>
     
<xs:element name="sound" type="sound"/>
     
<xs:element name="barline" type="barline"/>
     
<xs:element name="grouping" type="grouping"/>
     
<xs:element name="link" type="link"/>
     
<xs:element name="bookmark" type="bookmark"/>
   
</xs:choice>
 
</xs:sequence>
</xs:group>

element music-data/note
diagram
type note
properties
isRef 0
content complex
children grace chord pitch unpitched rest tie cue duration tie instrument footnote level voice type dot accidental time-modification stem notehead staff beam notations lyric
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
print-dotyes-no      
print-spacingyes-no      
print-lyricyes-no      
dynamicsnon-negative-decimal      
end-dynamicsnon-negative-decimal      
attackdivisions      
releasedivisions      
time-onlyxs:token      
pizzicatoyes-no      
source <xs:element name="note" type="note"/>

element music-data/backup
diagram
type backup
properties
isRef 0
content complex
children duration footnote level
source <xs:element name="backup" type="backup"/>

element music-data/forward
diagram
type forward
properties
isRef 0
content complex
children duration footnote level voice staff
source <xs:element name="forward" type="forward"/>

element music-data/direction
diagram
type direction
properties
isRef 0
content complex
children direction-type offset footnote level voice staff sound
attributes
Name  Type  Use  Default  Fixed  annotation
placementabove-below      
directiveyes-no      
source <xs:element name="direction" type="direction"/>

element music-data/attributes
diagram
type attributes
properties
isRef 0
content complex
children footnote level divisions key time staves part-symbol instruments clef staff-details measure-style
source <xs:element name="attributes" type="attributes"/>

element music-data/harmony
diagram
type harmony
properties
isRef 0
content complex
children root kind bass degree frame offset footnote level staff
attributes
Name  Type  Use  Default  Fixed  annotation
typeharmony-type      
print-objectyes-no      
print-frameyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="harmony" type="harmony"/>

element music-data/print
diagram
type print
properties
isRef 0
content complex
children page-layout system-layout staff-layout measure-layout measure-numbering part-name-display part-abbreviation-display
attributes
Name  Type  Use  Default  Fixed  annotation
new-systemyes-no      
new-pageyes-no      
blank-pagexs:positiveInteger      
page-numberxs:token      
source <xs:element name="print" type="print"/>

element music-data/sound
diagram
type sound
properties
isRef 0
content complex
children midi-instrument offset
attributes
Name  Type  Use  Default  Fixed  annotation
panrotation-degrees      
elevationrotation-degrees      
temponon-negative-decimal      
dynamicsnon-negative-decimal      
dacapoyes-no      
segnoxs:token      
dalsegnoxs:token      
codaxs:token      
tocodaxs:token      
divisionsdivisions      
forward-repeatyes-no      
finexs:token      
time-onlyxs:token      
pizzicatoyes-no      
damper-pedalyes-no-number      
soft-pedalyes-no-number      
sostenuto-pedalyes-no-number      
source <xs:element name="sound" type="sound"/>

element music-data/barline
diagram
type barline
properties
isRef 0
content complex
children bar-style footnote level ending repeat
attributes
Name  Type  Use  Default  Fixed  annotation
locationright-left-middle  right    
source <xs:element name="barline" type="barline"/>

element music-data/grouping
diagram
type grouping
properties
isRef 0
content complex
children feature
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-singlerequired      
numberxs:token  1    
member-ofxs:token      
source <xs:element name="grouping" type="grouping"/>

element music-data/link
diagram
type link
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
source <xs:element name="link" type="link"/>

element music-data/bookmark
diagram
type bookmark
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
source <xs:element name="bookmark" type="bookmark"/>

redefinition of complexType appearance
diagram
type extension of appearance
properties
base appearance
children line-width note-size other-appearance hyphen-distance
used by
element defaults/appearance
complexType appearance
annotation
documentation
OSF PVG adds a hyphen-distance element to control hyphen spacing in lyrics. The hyphen-distance content is the standard distance between hyphens measured in tenths of staff space.
source <xs:complexType name="appearance">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds a hyphen-distance element to control hyphen spacing in lyrics. The hyphen-distance content is the standard distance between hyphens measured in tenths of staff space.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="appearance">
     
<xs:sequence>
       
<xs:element name="hyphen-distance" type="tenths" minOccurs="0"/>
     
</xs:sequence>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

element appearance/hyphen-distance
diagram
type tenths
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="hyphen-distance" type="tenths" minOccurs="0"/>

redefinition of complexType articulations
diagram
type restriction of articulations
properties
base articulations
children accent strong-accent staccato tenuto detached-legato staccatissimo spiccato scoop plop doit falloff breath-mark caesura stress unstress
used by
element notations/articulations
complexType articulations
annotation
documentation
OSF removes the other-articulation element.
source <xs:complexType name="articulations">
 
<xs:annotation>
   
<xs:documentation>OSF removes the other-articulation element.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="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="empty-placement"/>
       
<xs:element name="caesura" type="empty-placement"/>
       
<xs:element name="stress" type="empty-placement"/>
       
<xs:element name="unstress" type="empty-placement"/>
     
</xs:choice>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

element articulations/accent
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="accent" type="empty-placement"/>

element articulations/strong-accent
diagram
type strong-accent
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
typeup-down  up    
source <xs:element name="strong-accent" type="strong-accent"/>

element articulations/staccato
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="staccato" type="empty-placement"/>

element articulations/tenuto
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="tenuto" type="empty-placement"/>

element articulations/detached-legato
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="detached-legato" type="empty-placement"/>

element articulations/staccatissimo
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="staccatissimo" type="empty-placement"/>

element articulations/spiccato
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="spiccato" type="empty-placement"/>

element articulations/scoop
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="scoop" type="empty-line"/>

element articulations/plop
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="plop" type="empty-line"/>

element articulations/doit
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="doit" type="empty-line"/>

element articulations/falloff
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="falloff" type="empty-line"/>

element articulations/breath-mark
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="breath-mark" type="empty-placement"/>

element articulations/caesura
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="caesura" type="empty-placement"/>

element articulations/stress
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="stress" type="empty-placement"/>

element articulations/unstress
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="unstress" type="empty-placement"/>

redefinition of complexType attributes
diagram
type restriction of attributes
properties
base attributes
children footnote level divisions key time staves part-symbol instruments clef staff-details measure-style
used by
element music-data/attributes
complexType attributes
annotation
documentation
OSF PVG removes the deprecated directive element. For PVG, the transpose element is also removed.
source <xs:complexType name="attributes">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the deprecated directive element. For PVG, the transpose element is also removed.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="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:element name="measure-style" type="measure-style" minOccurs="0" maxOccurs="unbounded"/>
     
</xs:sequence>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

element attributes/divisions
diagram
type positive-divisions
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minExclusive 0
fractionDigits 0
source <xs:element name="divisions" type="positive-divisions" minOccurs="0"/>

element attributes/key
diagram
type key
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children cancel fifths mode key-step key-alter key-octave
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
source <xs:element name="key" type="key" minOccurs="0" maxOccurs="unbounded"/>

element attributes/time
diagram
type time
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children beats beat-type senza-misura
attributes
Name  Type  Use  Default  Fixed  annotation
symboltime-symbol      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
source <xs:element name="time" type="time" minOccurs="0" maxOccurs="unbounded"/>

element attributes/staves
diagram
type xs:nonNegativeInteger
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="staves" type="xs:nonNegativeInteger" minOccurs="0"/>

element attributes/part-symbol
diagram
type part-symbol
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration none
enumeration brace
enumeration line
enumeration bracket
attributes
Name  Type  Use  Default  Fixed  annotation
top-staffstaff-number      
bottom-staffstaff-number      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
source <xs:element name="part-symbol" type="part-symbol" minOccurs="0"/>

element attributes/instruments
diagram
type xs:nonNegativeInteger
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="instruments" type="xs:nonNegativeInteger" minOccurs="0"/>

element attributes/clef
diagram
type clef
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children sign line clef-octave-change
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
additionalyes-no      
sizesymbol-size      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
source <xs:element name="clef" type="clef" minOccurs="0" maxOccurs="unbounded"/>

element attributes/staff-details
diagram
type staff-details
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children staff-type staff-lines staff-size
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
print-objectyes-no      
print-spacingyes-no      
source <xs:element name="staff-details" type="staff-details" minOccurs="0" maxOccurs="unbounded"/>

element attributes/measure-style
diagram
type measure-style
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children multiple-rest measure-repeat beat-repeat slash
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="measure-style" type="measure-style" minOccurs="0" maxOccurs="unbounded"/>

redefinition of complexType barline
diagram
type restriction of barline
properties
base barline
children bar-style footnote level ending repeat
used by
element music-data/barline
complexType barline
attributes
Name  Type  Use  Default  Fixed  annotation
locationright-left-middle  right    
segnoxs:tokenprohibited      
codaxs:tokenprohibited      
divisionsdivisionsprohibited      
annotation
documentation
OSF PVG removes wavy-line, segno, coda, and fermata element associated with a barline instead of a direction, including their playback attributes.
source <xs:complexType name="barline">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes wavy-line, segno, coda, and fermata element associated with a barline instead of a direction, including their playback attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="barline">
     
<xs:sequence>
       
<xs:element name="bar-style" type="bar-style-color" minOccurs="0"/>
       
<xs:group ref="editorial"/>
       
<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" use="prohibited"/>
     
<xs:attribute name="coda" type="xs:token" use="prohibited"/>
     
<xs:attribute name="divisions" type="divisions" use="prohibited"/>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

attribute barline/@location
type right-left-middle
properties
isRef 0
default right
facets
enumeration right
enumeration left
enumeration middle
source <xs:attribute name="location" type="right-left-middle" default="right"/>

attribute barline/@segno
type xs:token
properties
isRef 0
use prohibited
source <xs:attribute name="segno" type="xs:token" use="prohibited"/>

attribute barline/@coda
type xs:token
properties
isRef 0
use prohibited
source <xs:attribute name="coda" type="xs:token" use="prohibited"/>

attribute barline/@divisions
type divisions
properties
isRef 0
use prohibited
facets
fractionDigits 0
source <xs:attribute name="divisions" type="divisions" use="prohibited"/>

element barline/bar-style
diagram
type bar-style-color
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration regular
enumeration dotted
enumeration dashed
enumeration light-light
enumeration light-heavy
enumeration heavy-light
enumeration heavy-heavy
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
colorcolor      
source <xs:element name="bar-style" type="bar-style-color" minOccurs="0"/>

element barline/ending
diagram
type ending
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
numberending-numberrequired      
typestart-stop-discontinuerequired      
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
end-lengthtenths      
text-xtenths      
text-ytenths      
source <xs:element name="ending" type="ending" minOccurs="0"/>

element barline/repeat
diagram
type repeat
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
directionbackward-forwardrequired      
timesxs:nonNegativeInteger      
source <xs:element name="repeat" type="repeat" minOccurs="0"/>

redefinition of complexType beam
diagram
type restriction of beam
properties
base beam
used by
element note/beam
complexType beam
facets
enumeration begin
enumeration continue
enumeration end
enumeration forward hook
enumeration backward hook
attributes
Name  Type  Use  Default  Fixed  annotation
numberbeam-level  1    
repeateryes-noprohibited      
fanfanprohibited      
colorcolor      
annotation
documentation
OSF removes the repeater and fan attributes.
source <xs:complexType name="beam">
 
<xs:annotation>
   
<xs:documentation>OSF removes the repeater and fan attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:restriction base="beam">
     
<xs:attribute name="repeater" type="yes-no" use="prohibited"/>
     
<xs:attribute name="fan" type="fan" use="prohibited"/>
   
</xs:restriction>
 
</xs:simpleContent>
</xs:complexType>

attribute beam/@repeater
type yes-no
properties
isRef 0
use prohibited
facets
enumeration yes
enumeration no
source <xs:attribute name="repeater" type="yes-no" use="prohibited"/>

attribute beam/@fan
type fan
properties
isRef 0
use prohibited
facets
enumeration accel
enumeration rit
enumeration none
source <xs:attribute name="fan" type="fan" use="prohibited"/>

redefinition of complexType bracket
diagram
type extension of bracket
properties
base bracket
used by
element direction-type/bracket
complexType bracket
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
line-endline-endrequired      
end-lengthtenths      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to brackets.
source <xs:complexType name="bracket">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to brackets.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="bracket">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute bracket/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute bracket/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType dashes
diagram
type extension of dashes
properties
base dashes
used by
element direction-type/dashes
complexType dashes
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to dashes.
source <xs:complexType name="dashes">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to dashes.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="dashes">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute dashes/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute dashes/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType direction-type
diagram
type restriction of direction-type
properties
base direction-type
children rehearsal segno words coda wedge dynamics dashes bracket pedal metronome octave-shift image other-direction
used by
element direction/direction-type
complexType direction-type
annotation
documentation
OSF PVG removes the harp-pedals, damp, damp-all, eyeglasses, scordatura, and accordion-registration elements.
source <xs:complexType name="direction-type">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the harp-pedals, damp, damp-all, eyeglasses, scordatura, and accordion-registration elements.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="direction-type">
     
<xs:choice>
       
<xs:element name="rehearsal" type="rehearsal" maxOccurs="unbounded"/>
       
<xs:element name="segno" type="empty-print-style" maxOccurs="unbounded"/>
       
<xs:element name="words" type="formatted-text" maxOccurs="unbounded"/>
       
<xs:element name="coda" type="empty-print-style" maxOccurs="unbounded"/>
       
<xs:element name="wedge" type="wedge"/>
       
<xs:element name="dynamics" type="dynamics" maxOccurs="unbounded"/>
       
<xs:element name="dashes" type="dashes"/>
       
<xs:element name="bracket" type="bracket"/>
       
<xs:element name="pedal" type="pedal"/>
       
<xs:element name="metronome" type="metronome"/>
       
<xs:element name="octave-shift" type="octave-shift"/>
       
<xs:element name="image" type="image"/>
       
<xs:element name="other-direction" type="other-direction"/>
     
</xs:choice>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

element direction-type/rehearsal
diagram
type rehearsal
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
rotationrotation-degrees      
enclosurerehearsal-enclosure      
source <xs:element name="rehearsal" type="rehearsal" maxOccurs="unbounded"/>

element direction-type/segno
diagram
type empty-print-style
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="segno" type="empty-print-style" maxOccurs="unbounded"/>

element direction-type/words
diagram
type formatted-text
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
source <xs:element name="words" type="formatted-text" maxOccurs="unbounded"/>

element direction-type/coda
diagram
type empty-print-style
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="coda" type="empty-print-style" maxOccurs="unbounded"/>

element direction-type/wedge
diagram
type wedge
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typewedge-typerequired      
numbernumber-level      
spreadtenths      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
source <xs:element name="wedge" type="wedge"/>

element direction-type/dynamics
diagram
type dynamics
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children p pp ppp pppp ppppp pppppp f ff fff ffff fffff ffffff mp mf sf sfp sfpp fp rf rfz sfz sffz fz
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="dynamics" type="dynamics" maxOccurs="unbounded"/>

element direction-type/dashes
diagram
type dashes
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="dashes" type="dashes"/>

element direction-type/bracket
diagram
type bracket
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
line-endline-endrequired      
end-lengthtenths      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="bracket" type="bracket"/>

element direction-type/pedal
diagram
type pedal
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-changerequired      
lineyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="pedal" type="pedal"/>

element direction-type/metronome
diagram
type metronome
properties
isRef 0
content complex
children beat-unit beat-unit-dot per-minute metronome-note metronome-relation metronome-note
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
parenthesesyes-no      
source <xs:element name="metronome" type="metronome"/>

element direction-type/octave-shift
diagram
type octave-shift
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typeup-down-stoprequired      
numbernumber-level      
sizexs:positiveInteger  8    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="octave-shift" type="octave-shift"/>

element direction-type/image
diagram
type image
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
sourcexs:anyURIrequired      
typexs:tokenrequired      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
halignleft-center-right      
valignvalign-image      
source <xs:element name="image" type="image"/>

element direction-type/other-direction
diagram
type other-direction
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="other-direction" type="other-direction"/>

redefinition of complexType dynamics
diagram
type restriction of dynamics
properties
base dynamics
children p pp ppp pppp ppppp pppppp f ff fff ffff fffff ffffff mp mf sf sfp sfpp fp rf rfz sfz sffz fz
used by
elements notations/dynamics direction-type/dynamics
complexType dynamics
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
OSF PVG removes the other-dynamics element.
source <xs:complexType name="dynamics">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the other-dynamics element.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="dynamics">
     
<xs:choice minOccurs="0" maxOccurs="unbounded">
       
<xs:element name="p" type="empty"/>
       
<xs:element name="pp" type="empty"/>
       
<xs:element name="ppp" type="empty"/>
       
<xs:element name="pppp" type="empty"/>
       
<xs:element name="ppppp" type="empty"/>
       
<xs:element name="pppppp" type="empty"/>
       
<xs:element name="f" type="empty"/>
       
<xs:element name="ff" type="empty"/>
       
<xs:element name="fff" type="empty"/>
       
<xs:element name="ffff" type="empty"/>
       
<xs:element name="fffff" type="empty"/>
       
<xs:element name="ffffff" type="empty"/>
       
<xs:element name="mp" type="empty"/>
       
<xs:element name="mf" type="empty"/>
       
<xs:element name="sf" type="empty"/>
       
<xs:element name="sfp" type="empty"/>
       
<xs:element name="sfpp" type="empty"/>
       
<xs:element name="fp" type="empty"/>
       
<xs:element name="rf" type="empty"/>
       
<xs:element name="rfz" type="empty"/>
       
<xs:element name="sfz" type="empty"/>
       
<xs:element name="sffz" type="empty"/>
       
<xs:element name="fz" type="empty"/>
     
</xs:choice>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

element dynamics/p
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="p" type="empty"/>

element dynamics/pp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="pp" type="empty"/>

element dynamics/ppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ppp" type="empty"/>

element dynamics/pppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="pppp" type="empty"/>

element dynamics/ppppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ppppp" type="empty"/>

element dynamics/pppppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="pppppp" type="empty"/>

element dynamics/f
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="f" type="empty"/>

element dynamics/ff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ff" type="empty"/>

element dynamics/fff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fff" type="empty"/>

element dynamics/ffff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ffff" type="empty"/>

element dynamics/fffff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fffff" type="empty"/>

element dynamics/ffffff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ffffff" type="empty"/>

element dynamics/mp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="mp" type="empty"/>

element dynamics/mf
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="mf" type="empty"/>

element dynamics/sf
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sf" type="empty"/>

element dynamics/sfp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sfp" type="empty"/>

element dynamics/sfpp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sfpp" type="empty"/>

element dynamics/fp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fp" type="empty"/>

element dynamics/rf
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="rf" type="empty"/>

element dynamics/rfz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="rfz" type="empty"/>

element dynamics/sfz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sfz" type="empty"/>

element dynamics/sffz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sffz" type="empty"/>

element dynamics/fz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fz" type="empty"/>

redefinition of complexType empty-line
diagram
type extension of empty-line
properties
base empty-line
used by
elements articulations/doit articulations/falloff articulations/plop articulations/scoop
complexType empty-line
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to the empty-line type used by the scoop, doit, plop, and falloff elements..
source <xs:complexType name="empty-line">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to the empty-line type used by the scoop, doit, plop, and falloff elements..</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="empty-line">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute empty-line/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute empty-line/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType extend
diagram
type extension of extend
properties
base extend
used by
elements figure/extend lyric/extend lyric/extend
complexType extend
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
typestart-stop-continue      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
annotation
documentation
OSF adds optional type and positioning attributes to the extend element for more formatting control than is possible in MusicXML 2.0.
source <xs:complexType name="extend">
 
<xs:annotation>
   
<xs:documentation>OSF adds optional type and positioning attributes to the extend element for more formatting control than is possible in MusicXML 2.0.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="extend">
     
<xs:attribute name="type" type="start-stop-continue"/>
     
<xs:attributeGroup ref="position"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute extend/@type
type start-stop-continue
properties
isRef 0
facets
enumeration start
enumeration stop
enumeration continue
source <xs:attribute name="type" type="start-stop-continue"/>

redefinition of complexType frame
diagram
type extension of frame
properties
base frame
children frame-strings frame-frets first-fret frame-note
used by
element harmony/frame
complexType frame
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
halignleft-center-right      
valignvalign      
heighttenths      
widthtenths      
unplayedxs:token      
annotation
documentation
OSF PVG adds a way to indicate whether unplayed strings display with an x above the string in the chord diagram. The unplayed attribute for the frame type indicates what to display above a string that has no associated frame-note element. Typical values are x and the empty string. If the attribute is not present, the display of the unplayed string is application-defined.
source <xs:complexType name="frame">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds a way to indicate whether unplayed strings display with an x above the string in the chord diagram. The unplayed attribute for the frame type indicates what to display above a string that has no associated frame-note element. Typical values are x and the empty string. If the attribute is not present, the display of the unplayed string is application-defined.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="frame">
     
<xs:attribute name="unplayed" type="xs:token"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute frame/@unplayed
type xs:token
properties
isRef 0
source <xs:attribute name="unplayed" type="xs:token"/>

redefinition of complexType glissando
diagram
type extension of glissando
properties
base glissando
used by
element notations/glissando
complexType glissando
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to glissandos.
source <xs:complexType name="glissando">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to glissandos.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="glissando">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute glissando/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute glissando/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType key
diagram
type restriction of key
properties
base key
children cancel fifths mode key-step key-alter key-octave
used by
element attributes/key
complexType key
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-numberprohibited      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
documentation
OSF PVG removes the number attribute for different key signatures per staff.
source <xs:complexType name="key">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the number attribute for different key signatures per staff.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="key">
     
<xs:sequence>
       
<xs:choice>
         
<xs:group ref="traditional-key"/>
         
<xs:group ref="non-traditional-key" minOccurs="0" maxOccurs="unbounded"/>
       
</xs:choice>
       
<xs:element name="key-octave" type="key-octave" minOccurs="0" maxOccurs="unbounded"/>
     
</xs:sequence>
     
<xs:attribute name="number" type="staff-number" use="prohibited"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="print-object"/>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

attribute key/@number
type staff-number
properties
isRef 0
use prohibited
source <xs:attribute name="number" type="staff-number" use="prohibited"/>

element key/key-octave
diagram
type key-octave
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
facets
minInclusive 0
maxInclusive 9
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:positiveIntegerrequired      
cancelyes-no      
source <xs:element name="key-octave" type="key-octave" minOccurs="0" maxOccurs="unbounded"/>

redefinition of complexType octave-shift
diagram
type extension of octave-shift
properties
base octave-shift
used by
element direction-type/octave-shift
complexType octave-shift
attributes
Name  Type  Use  Default  Fixed  annotation
typeup-down-stoprequired      
numbernumber-level      
sizexs:positiveInteger  8    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to octave-shift elements
source <xs:complexType name="octave-shift">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to octave-shift elements</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="octave-shift">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute octave-shift/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute octave-shift/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType ornaments
diagram
type restriction of ornaments
properties
base ornaments
children trill-mark turn delayed-turn inverted-turn shake wavy-line mordent inverted-mordent tremolo accidental-mark
used by
element notations/ornaments
complexType ornaments
annotation
documentation
OSF removes the schleifer and other-ornament elements.
source <xs:complexType name="ornaments">
 
<xs:annotation>
   
<xs:documentation>OSF removes the schleifer and other-ornament elements.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="ornaments">
     
<xs:sequence minOccurs="0" maxOccurs="unbounded">
       
<xs:choice>
         
<xs:element name="trill-mark" type="empty-trill-sound"/>
         
<xs:element name="turn" type="empty-trill-sound"/>
         
<xs:element name="delayed-turn" type="empty-trill-sound"/>
         
<xs:element name="inverted-turn" type="empty-trill-sound"/>
         
<xs:element name="shake" type="empty-trill-sound"/>
         
<xs:element name="wavy-line" type="wavy-line"/>
         
<xs:element name="mordent" type="mordent"/>
         
<xs:element name="inverted-mordent" type="mordent"/>
         
<xs:element name="tremolo" type="tremolo"/>
       
</xs:choice>
       
<xs:element name="accidental-mark" type="accidental-mark" minOccurs="0" maxOccurs="unbounded"/>
     
</xs:sequence>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

element ornaments/trill-mark
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="trill-mark" type="empty-trill-sound"/>

element ornaments/turn
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="turn" type="empty-trill-sound"/>

element ornaments/delayed-turn
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="delayed-turn" type="empty-trill-sound"/>

element ornaments/inverted-turn
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="inverted-turn" type="empty-trill-sound"/>

element ornaments/shake
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="shake" type="empty-trill-sound"/>

element ornaments/wavy-line
diagram
type wavy-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-continuerequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="wavy-line" type="wavy-line"/>

element ornaments/mordent
diagram
type mordent
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
longyes-no      
source <xs:element name="mordent" type="mordent"/>

element ornaments/inverted-mordent
diagram
type mordent
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
longyes-no      
source <xs:element name="inverted-mordent" type="mordent"/>

element ornaments/tremolo
diagram
type tremolo
properties
isRef 0
content complex
facets
minInclusive 0
maxInclusive 6
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-single  single    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="tremolo" type="tremolo"/>

element ornaments/accidental-mark
diagram
type accidental-mark
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="accidental-mark" type="accidental-mark" minOccurs="0" maxOccurs="unbounded"/>

redefinition of complexType slide
diagram
type extension of slide
properties
base slide
used by
element notations/slide
complexType slide
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
accelerateyes-no      
beatstrill-beats      
first-beatpercent      
last-beatpercent      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to slides.
source <xs:complexType name="slide">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to slides.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="slide">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute slide/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute slide/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType slur
diagram
type extension of slur
properties
base slur
used by
element notations/slur
complexType slur
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-continuerequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
orientationover-under      
bezier-offsetdivisions      
bezier-offset2divisions      
bezier-xtenths      
bezier-ytenths      
bezier-x2tenths      
bezier-y2tenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to slurs.
source <xs:complexType name="slur">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to slurs.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="slur">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute slur/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute slur/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType sound
diagram
type restriction of sound
properties
base sound
children midi-instrument offset
used by
elements direction/sound music-data/sound
complexType sound
attributes
Name  Type  Use  Default  Fixed  annotation
temponon-negative-decimal      
dynamicsnon-negative-decimal      
dacapoyes-no      
segnoxs:token      
dalsegnoxs:token      
codaxs:token      
tocodaxs:token      
divisionsdivisions      
forward-repeatyes-no      
finexs:token      
time-onlyxs:token      
pizzicatoyes-no      
panrotation-degrees      
elevationrotation-degrees      
damper-pedalyes-no-number      
soft-pedalyes-no-number      
sostenuto-pedalyes-no-number      
annotation
documentation
OSF removes the pan and elevation attributes that are deprecated in MusicXML 2.0.
source <xs:complexType name="sound">
 
<xs:annotation>
   
<xs:documentation>OSF removes the pan and elevation attributes that are deprecated in MusicXML 2.0.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="sound">
     
<xs:sequence>
       
<xs:element name="midi-instrument" type="midi-instrument" minOccurs="0" maxOccurs="unbounded"/>
       
<xs:element name="offset" type="offset" minOccurs="0"/>
     
</xs:sequence>
     
<xs:attribute name="tempo" type="non-negative-decimal"/>
     
<xs:attribute name="dynamics" type="non-negative-decimal"/>
     
<xs:attribute name="dacapo" type="yes-no"/>
     
<xs:attribute name="segno" type="xs:token"/>
     
<xs:attribute name="dalsegno" type="xs:token"/>
     
<xs:attribute name="coda" type="xs:token"/>
     
<xs:attribute name="tocoda" type="xs:token"/>
     
<xs:attribute name="divisions" type="divisions"/>
     
<xs:attribute name="forward-repeat" type="yes-no"/>
     
<xs:attribute name="fine" type="xs:token"/>
     
<xs:attribute name="time-only" type="xs:token"/>
     
<xs:attribute name="pizzicato" type="yes-no"/>
     
<xs:attribute name="damper-pedal" type="yes-no-number"/>
     
<xs:attribute name="soft-pedal" type="yes-no-number"/>
     
<xs:attribute name="sostenuto-pedal" type="yes-no-number"/>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

attribute sound/@tempo
type non-negative-decimal
properties
isRef 0
facets
minInclusive 0
source <xs:attribute name="tempo" type="non-negative-decimal"/>

attribute sound/@dynamics
type non-negative-decimal
properties
isRef 0
facets
minInclusive 0
source <xs:attribute name="dynamics" type="non-negative-decimal"/>

attribute sound/@dacapo
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="dacapo" type="yes-no"/>

attribute sound/@segno
type xs:token
properties
isRef 0
source <xs:attribute name="segno" type="xs:token"/>

attribute sound/@dalsegno
type xs:token
properties
isRef 0
source <xs:attribute name="dalsegno" type="xs:token"/>

attribute sound/@coda
type xs:token
properties
isRef 0
source <xs:attribute name="coda" type="xs:token"/>

attribute sound/@tocoda
type xs:token
properties
isRef 0
source <xs:attribute name="tocoda" type="xs:token"/>

attribute sound/@divisions
type divisions
properties
isRef 0
facets
fractionDigits 0
source <xs:attribute name="divisions" type="divisions"/>

attribute sound/@forward-repeat
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="forward-repeat" type="yes-no"/>

attribute sound/@fine
type xs:token
properties
isRef 0
source <xs:attribute name="fine" type="xs:token"/>

attribute sound/@time-only
type xs:token
properties
isRef 0
source <xs:attribute name="time-only" type="xs:token"/>

attribute sound/@pizzicato
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="pizzicato" type="yes-no"/>

attribute sound/@damper-pedal
type yes-no-number
properties
isRef 0
source <xs:attribute name="damper-pedal" type="yes-no-number"/>

attribute sound/@soft-pedal
type yes-no-number
properties
isRef 0
source <xs:attribute name="soft-pedal" type="yes-no-number"/>

attribute sound/@sostenuto-pedal
type yes-no-number
properties
isRef 0
source <xs:attribute name="sostenuto-pedal" type="yes-no-number"/>

element sound/midi-instrument
diagram
type midi-instrument
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children midi-channel midi-name midi-bank midi-program midi-unpitched volume pan elevation
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
source <xs:element name="midi-instrument" type="midi-instrument" minOccurs="0" maxOccurs="unbounded"/>

element sound/offset
diagram
type offset
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
fractionDigits 0
attributes
Name  Type  Use  Default  Fixed  annotation
soundyes-no      
source <xs:element name="offset" type="offset" minOccurs="0"/>

redefinition of complexType staff-details
diagram
type restriction of staff-details
properties
base staff-details
children staff-type staff-lines staff-size
used by
element attributes/staff-details
complexType staff-details
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
show-fretsshow-fretsprohibited      
print-objectyes-no      
print-spacingyes-no      
print-objectyes-no      
print-spacingyes-no      
annotation
documentation
OSF PVG removes the staff-tuning element, the capo element, and the show-frets attribute.
source <xs:complexType name="staff-details">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the staff-tuning element, the capo element, and the show-frets attribute.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="staff-details">
     
<xs:sequence>
       
<xs:element name="staff-type" type="staff-type" minOccurs="0"/>
       
<xs:element name="staff-lines" type="xs:nonNegativeInteger" minOccurs="0"/>
       
<xs:element name="staff-size" type="non-negative-decimal" minOccurs="0"/>
     
</xs:sequence>
     
<xs:attribute name="number" type="staff-number"/>
     
<xs:attribute name="show-frets" type="show-frets" use="prohibited"/>
     
<xs:attributeGroup ref="print-object"/>
     
<xs:attributeGroup ref="print-spacing"/>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

attribute staff-details/@number
type staff-number
properties
isRef 0
source <xs:attribute name="number" type="staff-number"/>

attribute staff-details/@show-frets
type show-frets
properties
isRef 0
use prohibited
facets
enumeration numbers
enumeration letters
source <xs:attribute name="show-frets" type="show-frets" use="prohibited"/>

element staff-details/staff-type
diagram
type staff-type
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
enumeration ossia
enumeration cue
enumeration editorial
enumeration regular
enumeration alternate
source <xs:element name="staff-type" type="staff-type" minOccurs="0"/>

element staff-details/staff-lines
diagram
type xs:nonNegativeInteger
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="staff-lines" type="xs:nonNegativeInteger" minOccurs="0"/>

element staff-details/staff-size
diagram
type non-negative-decimal
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 0
source <xs:element name="staff-size" type="non-negative-decimal" minOccurs="0"/>

redefinition of complexType technical
diagram
type restriction of technical
properties
base technical
children fingering bend
used by
element notations/technical
complexType technical
annotation
documentation
OSF removes all the technical indications except fingering and bend.
source <xs:complexType name="technical">
 
<xs:annotation>
   
<xs:documentation>OSF removes all the technical indications except fingering and bend.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="technical">
     
<xs:choice minOccurs="0" maxOccurs="unbounded">
       
<xs:element name="fingering" type="fingering"/>
       
<xs:element name="bend" type="bend"/>
     
</xs:choice>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

element technical/fingering
diagram
type fingering
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
substitutionyes-no      
alternateyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="fingering" type="fingering"/>

element technical/bend
diagram
type bend
properties
isRef 0
content complex
children bend-alter pre-bend release with-bar
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
accelerateyes-no      
beatstrill-beats      
first-beatpercent      
last-beatpercent      
source <xs:element name="bend" type="bend"/>

redefinition of complexType tied
diagram
type extension of tied
properties
base tied
used by
element notations/tied
complexType tied
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
orientationover-under      
bezier-offsetdivisions      
bezier-offset2divisions      
bezier-xtenths      
bezier-ytenths      
bezier-x2tenths      
bezier-y2tenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
OSF PVG adds dashed line formatting attributes to ties.
source <xs:complexType name="tied">
 
<xs:annotation>
   
<xs:documentation>OSF PVG adds dashed line formatting attributes to ties.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="tied">
     
<xs:attribute name="dash-length" type="tenths"/>
     
<xs:attribute name="space-length" type="tenths"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute tied/@dash-length
type tenths
properties
isRef 0
source <xs:attribute name="dash-length" type="tenths"/>

attribute tied/@space-length
type tenths
properties
isRef 0
source <xs:attribute name="space-length" type="tenths"/>

redefinition of complexType time
diagram
type restriction of time
properties
base time
children beats beat-type senza-misura
used by
element attributes/time
complexType time
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-numberprohibited      
symboltime-symbol      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
documentation
OSF removes the number attribute for different time signatures per staff.
source <xs:complexType name="time">
 
<xs:annotation>
   
<xs:documentation>OSF removes the number attribute for different time signatures per staff.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="time">
     
<xs:choice>
       
<xs:sequence maxOccurs="unbounded">
         
<xs:element name="beats" type="xs:string"/>
         
<xs:element name="beat-type" type="xs:string"/>
       
</xs:sequence>
       
<xs:element name="senza-misura" type="empty"/>
     
</xs:choice>
     
<xs:attribute name="number" type="staff-number" use="prohibited"/>
     
<xs:attribute name="symbol" type="time-symbol"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="print-object"/>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

attribute time/@number
type staff-number
properties
isRef 0
use prohibited
source <xs:attribute name="number" type="staff-number" use="prohibited"/>

attribute time/@symbol
type time-symbol
properties
isRef 0
facets
enumeration common
enumeration cut
enumeration normal
source <xs:attribute name="symbol" type="time-symbol"/>

element time/beats
diagram
type xs:string
properties
isRef 0
content simple
source <xs:element name="beats" type="xs:string"/>

element time/beat-type
diagram
type xs:string
properties
isRef 0
content simple
source <xs:element name="beat-type" type="xs:string"/>

element time/senza-misura
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="senza-misura" type="empty"/>

redefinition of complexType transpose
diagram
type restriction of transpose
properties
base transpose
children diatonic chromatic octave-change
used by
complexType transpose
annotation
documentation
OSF requires the diatonic element and eliminates the double element.
source <xs:complexType name="transpose">
 
<xs:annotation>
   
<xs:documentation>OSF requires the diatonic element and eliminates the double element.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:restriction base="transpose">
     
<xs:sequence>
       
<xs:element name="diatonic" type="xs:integer"/>
       
<xs:element name="chromatic" type="semitones"/>
       
<xs:element name="octave-change" type="xs:integer" minOccurs="0"/>
     
</xs:sequence>
   
</xs:restriction>
 
</xs:complexContent>
</xs:complexType>

element transpose/diatonic
diagram
type xs:integer
properties
isRef 0
content simple
source <xs:element name="diatonic" type="xs:integer"/>

element transpose/chromatic
diagram
type semitones
properties
isRef 0
content simple
source <xs:element name="chromatic" type="semitones"/>

element transpose/octave-change
diagram
type xs:integer
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="octave-change" type="xs:integer" minOccurs="0"/>

redefinition of simpleType accidental-value
type restriction of accidental-value
used by
complexTypes accidental accidental-mark accidental-text
simpleType accidental-value
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
annotation
documentation
OSF PVG removes support for quarter-tone accidentals.
source <xs:simpleType name="accidental-value">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes support for quarter-tone accidentals.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="accidental-value">
   
<xs:enumeration value="sharp"/>
   
<xs:enumeration value="natural"/>
   
<xs:enumeration value="flat"/>
   
<xs:enumeration value="double-sharp"/>
   
<xs:enumeration value="sharp-sharp"/>
   
<xs:enumeration value="flat-flat"/>
   
<xs:enumeration value="natural-sharp"/>
   
<xs:enumeration value="natural-flat"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType bar-style
type restriction of bar-style
used by
complexType bar-style-color
simpleType bar-style
facets
enumeration regular
enumeration dotted
enumeration dashed
enumeration light-light
enumeration light-heavy
enumeration heavy-light
enumeration heavy-heavy
enumeration none
annotation
documentation
OSF PVG removes the heavy, tick, and short bar styles.
source <xs:simpleType name="bar-style">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the heavy, tick, and short bar styles.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="bar-style">
   
<xs:enumeration value="regular"/>
   
<xs:enumeration value="dotted"/>
   
<xs:enumeration value="dashed"/>
   
<xs:enumeration value="light-light"/>
   
<xs:enumeration value="light-heavy"/>
   
<xs:enumeration value="heavy-light"/>
   
<xs:enumeration value="heavy-heavy"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType clef-sign
type restriction of clef-sign
used by
element clef/sign
simpleType clef-sign
facets
enumeration G
enumeration F
enumeration percussion
annotation
documentation
OSF PVG only supports G clef sign for treble, F clef sign for bass, and percussion clef sign for drum patterns.
source <xs:simpleType name="clef-sign">
 
<xs:annotation>
   
<xs:documentation>OSF PVG only supports G clef sign for treble, F clef sign for bass, and percussion clef sign for drum patterns.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="clef-sign">
   
<xs:enumeration value="G"/>
   
<xs:enumeration value="F"/>
   
<xs:enumeration value="percussion"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType divisions
type restriction of divisions
used by
complexType offset
simpleTypes divisions positive-divisions
attributes note/@attack bezier/@bezier-offset bezier/@bezier-offset2 sound/@divisions barline/@divisions grace/@make-time note/@release
facets
fractionDigits 0
annotation
documentation
The divisions type is used to express values in terms of the musical divisions defined by the divisions element. MusicXML conservatively defines this as a decimal value to avoid compatibility issues, but OSF redefines it to remove the fractional digits.
source <xs:simpleType name="divisions">
 
<xs:annotation>
   
<xs:documentation>The divisions type is used to express values in terms of the musical divisions defined by the divisions element. MusicXML conservatively defines this as a decimal value to avoid compatibility issues, but OSF redefines it to remove the fractional digits.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="divisions">
   
<xs:fractionDigits value="0"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType ending-number
type restriction of ending-number
used by
simpleType ending-number
attribute ending/@number
facets
pattern [1-9][0-9]*(, ?[1-9][0-9]*)*
annotation
documentation
OSF PVG removes the workaround for unknown ending types and requires a comma-separated list of integers.
source <xs:simpleType name="ending-number">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the workaround for unknown ending types and requires a comma-separated list of integers.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="ending-number">
   
<xs:pattern value="[1-9][0-9]*(, ?[1-9][0-9]*)*"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType fifths
type restriction of fifths
used by
element traditional-key/fifths
complexType cancel
simpleType fifths
facets
minInclusive -7
maxInclusive 7
annotation
documentation
OSF PVG limits fifths to values between -7 and 7.
source <xs:simpleType name="fifths">
 
<xs:annotation>
   
<xs:documentation>OSF PVG limits fifths to values between -7 and 7.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="fifths">
   
<xs:minInclusive value="-7"/>
   
<xs:maxInclusive value="7"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType kind-value
type restriction of kind-value
used by
complexType kind
simpleType kind-value
facets
enumeration major
enumeration minor
enumeration augmented
enumeration diminished
enumeration dominant
enumeration major-seventh
enumeration minor-seventh
enumeration diminished-seventh
enumeration augmented-seventh
enumeration half-diminished
enumeration major-minor
enumeration major-sixth
enumeration minor-sixth
enumeration dominant-ninth
enumeration major-ninth
enumeration minor-ninth
enumeration dominant-11th
enumeration major-11th
enumeration minor-11th
enumeration dominant-13th
enumeration major-13th
enumeration minor-13th
enumeration suspended-second
enumeration suspended-fourth
enumeration pedal
enumeration power
enumeration other
enumeration none
annotation
documentation
OSF PVG removes the functional sixths and Tristan kinds.
source <xs:simpleType name="kind-value">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes the functional sixths and Tristan kinds.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="kind-value">
   
<xs:enumeration value="major"/>
   
<xs:enumeration value="minor"/>
   
<xs:enumeration value="augmented"/>
   
<xs:enumeration value="diminished"/>
   
<xs:enumeration value="dominant"/>
   
<xs:enumeration value="major-seventh"/>
   
<xs:enumeration value="minor-seventh"/>
   
<xs:enumeration value="diminished-seventh"/>
   
<xs:enumeration value="augmented-seventh"/>
   
<xs:enumeration value="half-diminished"/>
   
<xs:enumeration value="major-minor"/>
   
<xs:enumeration value="major-sixth"/>
   
<xs:enumeration value="minor-sixth"/>
   
<xs:enumeration value="dominant-ninth"/>
   
<xs:enumeration value="major-ninth"/>
   
<xs:enumeration value="minor-ninth"/>
   
<xs:enumeration value="dominant-11th"/>
   
<xs:enumeration value="major-11th"/>
   
<xs:enumeration value="minor-11th"/>
   
<xs:enumeration value="dominant-13th"/>
   
<xs:enumeration value="major-13th"/>
   
<xs:enumeration value="minor-13th"/>
   
<xs:enumeration value="suspended-second"/>
   
<xs:enumeration value="suspended-fourth"/>
   
<xs:enumeration value="pedal"/>
   
<xs:enumeration value="power"/>
   
<xs:enumeration value="other"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType line-width-type
type restriction of line-width-type
used by
simpleType line-width-type
attribute line-width/@type
facets
enumeration beam
enumeration bracket
enumeration dashes
enumeration enclosure
enumeration ending
enumeration extend
enumeration heavy barline
enumeration leger
enumeration light barline
enumeration octave shift
enumeration pedal
enumeration slur middle
enumeration slur tip
enumeration staff
enumeration stem
enumeration tie middle
enumeration tie tip
enumeration tuplet bracket
enumeration wedge
annotation
documentation
OSF PVG limits line-width-type values to the standard definitions listed in the MusicXML 2.0 DTD.
source <xs:simpleType name="line-width-type">
 
<xs:annotation>
   
<xs:documentation>OSF PVG limits line-width-type values to the standard definitions listed in the MusicXML 2.0 DTD.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="line-width-type">
   
<xs:enumeration value="beam"/>
   
<xs:enumeration value="bracket"/>
   
<xs:enumeration value="dashes"/>
   
<xs:enumeration value="enclosure"/>
   
<xs:enumeration value="ending"/>
   
<xs:enumeration value="extend"/>
   
<xs:enumeration value="heavy barline"/>
   
<xs:enumeration value="leger"/>
   
<xs:enumeration value="light barline"/>
   
<xs:enumeration value="octave shift"/>
   
<xs:enumeration value="pedal"/>
   
<xs:enumeration value="slur middle"/>
   
<xs:enumeration value="slur tip"/>
   
<xs:enumeration value="staff"/>
   
<xs:enumeration value="stem"/>
   
<xs:enumeration value="tie middle"/>
   
<xs:enumeration value="tie tip"/>
   
<xs:enumeration value="tuplet bracket"/>
   
<xs:enumeration value="wedge"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType mode
type restriction of mode
used by
element traditional-key/mode
simpleType mode
facets
enumeration major
enumeration minor
enumeration dorian
enumeration phrygian
enumeration lydian
enumeration mixolydian
enumeration aeolian
enumeration ionian
enumeration locrian
annotation
documentation
OSF PVG limits mode values to the standard definitions listed in the MusicXML 2.0 DTD.
source <xs:simpleType name="mode">
 
<xs:annotation>
   
<xs:documentation>OSF PVG limits mode values to the standard definitions listed in the MusicXML 2.0 DTD.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="mode">
   
<xs:enumeration value="major"/>
   
<xs:enumeration value="minor"/>
   
<xs:enumeration value="dorian"/>
   
<xs:enumeration value="phrygian"/>
   
<xs:enumeration value="lydian"/>
   
<xs:enumeration value="mixolydian"/>
   
<xs:enumeration value="aeolian"/>
   
<xs:enumeration value="ionian"/>
   
<xs:enumeration value="locrian"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType notehead-value
type restriction of notehead-value
used by
complexType notehead
simpleType notehead-value
facets
enumeration slash
enumeration triangle
enumeration diamond
enumeration x
enumeration circle-x
enumeration inverted triangle
enumeration normal
enumeration cluster
enumeration none
annotation
documentation
OSF PVG removes support for shape-note noteheads and other noteheads not used in PVG repertoire.
source <xs:simpleType name="notehead-value">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes support for shape-note noteheads and other noteheads not used in PVG repertoire.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="notehead-value">
   
<xs:enumeration value="slash"/>
   
<xs:enumeration value="triangle"/>
   
<xs:enumeration value="diamond"/>
   
<xs:enumeration value="x"/>
   
<xs:enumeration value="circle-x"/>
   
<xs:enumeration value="inverted triangle"/>
   
<xs:enumeration value="normal"/>
   
<xs:enumeration value="cluster"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType number-of-lines
type restriction of number-of-lines
used by
simpleType number-of-lines
attributes text-decoration/@line-through text-decoration/@overline text-decoration/@underline
facets
minInclusive 0
maxInclusive 1
annotation
documentation
OSF PVG removes support for double or triple lines in text decoration.
source <xs:simpleType name="number-of-lines">
 
<xs:annotation>
   
<xs:documentation>OSF PVG removes support for double or triple lines in text decoration.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="number-of-lines">
   
<xs:minInclusive value="0"/>
   
<xs:maxInclusive value="1"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of simpleType time-symbol
type restriction of time-symbol
used by
simpleType time-symbol
attribute time/@symbol
facets
enumeration common
enumeration cut
enumeration normal
annotation
documentation
OSF PVG excludes the single-number value for time-symbol.
source <xs:simpleType name="time-symbol">
 
<xs:annotation>
   
<xs:documentation>OSF PVG excludes the single-number value for time-symbol.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="time-symbol">
   
<xs:enumeration value="common"/>
   
<xs:enumeration value="cut"/>
   
<xs:enumeration value="normal"/>
 
</xs:restriction>
</xs:simpleType>

redefinition of attributeGroup group-name-text
used by
complexType group-name
annotation
documentation
OSF removes the print-style and justify attribute groups whose use here is deprecated in MusicXML 2.0 in favor of the new group-name-display and group-abbreviation-display elements.
source <xs:attributeGroup name="group-name-text">
 
<xs:annotation>
   
<xs:documentation>OSF removes the print-style and justify attribute groups whose use here is deprecated in MusicXML 2.0 in favor of the new group-name-display and group-abbreviation-display elements.</xs:documentation>
 
</xs:annotation>
</xs:attributeGroup>

redefinition of attributeGroup measure-attributes
used by
elements score-partwise/part/measure score-timewise/measure
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:tokenrequired      
implicityes-no      
non-controllingyes-noprohibited      
widthtenths      
annotation
documentation
OSF removes non-controlling measures.
source <xs:attributeGroup name="measure-attributes">
 
<xs:annotation>
   
<xs:documentation>OSF removes non-controlling measures. </xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="number" type="xs:token" use="required"/>
 
<xs:attribute name="implicit" type="yes-no"/>
 
<xs:attribute name="non-controlling" type="yes-no" use="prohibited"/>
 
<xs:attribute name="width" type="tenths"/>
</xs:attributeGroup>

redefinition of attributeGroup part-name-text
used by
complexType part-name
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
annotation
documentation
OSF removes the print-style and justify attribute groups whose use here is deprecated in MusicXML 2.0 in favor of the new part-name-display and part-abbreviation-display elements.
source <xs:attributeGroup name="part-name-text">
 
<xs:annotation>
   
<xs:documentation>OSF removes the print-style and justify attribute groups whose use here is deprecated in MusicXML 2.0 in favor of the new part-name-display and part-abbreviation-display elements.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="print-object"/>
</xs:attributeGroup>

redefinition of attributeGroup print-attributes
used by
complexType print
attributes
Name  Type  Use  Default  Fixed  annotation
staff-spacingtenthsprohibited      
new-systemyes-no      
new-pageyes-no      
blank-pagexs:positiveInteger      
page-numberxs:token      
annotation
documentation
OSF removes the deprecated staff-spacing attribute.
source <xs:attributeGroup name="print-attributes">
 
<xs:annotation>
   
<xs:documentation>OSF removes the deprecated staff-spacing attribute.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="staff-spacing" type="tenths" use="prohibited"/>
 
<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>

element score-partwise
diagram
properties
content complex
block extension substitution
final #all
children work movement-number movement-title identification defaults credit part-list part
attributes
Name  Type  Use  Default  Fixed  annotation
versionxs:token  1.0    
annotation
documentation
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.
source <xs:element name="score-partwise" block="extension substitution" final="#all">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<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-partwise/part
diagram
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children measure
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
source <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>

element score-partwise/part/measure
diagram
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children note backup forward direction attributes harmony print sound barline grouping link bookmark
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:tokenrequired      
implicityes-no      
widthtenths      
source <xs:element name="measure" maxOccurs="unbounded">
 
<xs:complexType>
   
<xs:group ref="music-data"/>
   
<xs:attributeGroup ref="measure-attributes"/>
 
</xs:complexType>
</xs:element>

element score-timewise
diagram
properties
content complex
block extension substitution
final #all
children work movement-number movement-title identification defaults credit part-list measure
attributes
Name  Type  Use  Default  Fixed  annotation
versionxs:token  1.0    
annotation
documentation
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.
source <xs:element name="score-timewise" block="extension substitution" final="#all">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<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>

element score-timewise/measure
diagram
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children part
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:tokenrequired      
implicityes-no      
widthtenths      
source <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>

element score-timewise/measure/part
diagram
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children note backup forward direction attributes harmony print sound barline grouping link bookmark
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
source <xs:element name="part" maxOccurs="unbounded">
 
<xs:complexType>
   
<xs:group ref="music-data"/>
   
<xs:attributeGroup ref="part-attributes"/>
 
</xs:complexType>
</xs:element>

group all-margins
diagram
children left-margin right-margin top-margin bottom-margin
used by
complexType page-margins
annotation
documentation
The all-margins group specifies both horizontal and vertical margins in tenths.
source <xs:group name="all-margins">
 
<xs:annotation>
   
<xs:documentation>The all-margins group specifies both horizontal and vertical margins in tenths.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="left-right-margins"/>
   
<xs:element name="top-margin" type="tenths"/>
   
<xs:element name="bottom-margin" type="tenths"/>
 
</xs:sequence>
</xs:group>

element all-margins/top-margin
diagram
type tenths
properties
isRef 0
content simple
source <xs:element name="top-margin" type="tenths"/>

element all-margins/bottom-margin
diagram
type tenths
properties
isRef 0
content simple
source <xs:element name="bottom-margin" type="tenths"/>

group beat-unit
diagram
children beat-unit beat-unit-dot
used by
complexTypes metronome metronome
annotation
documentation
The beat-unit group combines elements used repeatedly in the metronome element to specify a note within a metronome mark.
source <xs:group name="beat-unit">
 
<xs:annotation>
   
<xs:documentation>The beat-unit group combines elements used repeatedly in the metronome element to specify a note within a metronome mark.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="beat-unit" type="note-type-value">
     
<xs:annotation>
       
<xs:documentation>The beat-unit element indicates the graphical note type to use in a metronome mark.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="beat-unit-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The beat-unit-dot element is used to specify any augmentation dots for a metronome mark note.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:group>

element beat-unit/beat-unit
diagram
type note-type-value
properties
isRef 0
content simple
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
annotation
documentation
The beat-unit element indicates the graphical note type to use in a metronome mark.
source <xs:element name="beat-unit" type="note-type-value">
 
<xs:annotation>
   
<xs:documentation>The beat-unit element indicates the graphical note type to use in a metronome mark.</xs:documentation>
 
</xs:annotation>
</xs:element>

element beat-unit/beat-unit-dot
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
annotation
documentation
The beat-unit-dot element is used to specify any augmentation dots for a metronome mark note.
source <xs:element name="beat-unit-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The beat-unit-dot element is used to specify any augmentation dots for a metronome mark note.</xs:documentation>
 
</xs:annotation>
</xs:element>

group duration
diagram
children duration
used by
complexTypes backup figured-bass forward note note
annotation
documentation
The duration element is defined within a group due to its uses within the note, figure-bass, backup, and forward elements.
source <xs:group name="duration">
 
<xs:annotation>
   
<xs:documentation>The duration element is defined within a group due to its uses within the note, figure-bass, backup, and forward elements.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="duration" type="positive-divisions">
     
<xs:annotation>
       
<xs:documentation>Duration is a positive number specified in division units. This is the intended duration vs. notated duration (for instance, swing eighths vs. even eighths, or differences in dotted notes in Baroque-era music). Differences in duration specific to an interpretation or performance should use the note element's attack and release attributes.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:group>

element duration/duration
diagram
type positive-divisions
properties
isRef 0
content simple
facets
minExclusive 0
fractionDigits 0
annotation
documentation
Duration is a positive number specified in division units. This is the intended duration vs. notated duration (for instance, swing eighths vs. even eighths, or differences in dotted notes in Baroque-era music). Differences in duration specific to an interpretation or performance should use the note element's attack and release attributes.
source <xs:element name="duration" type="positive-divisions">
 
<xs:annotation>
   
<xs:documentation>Duration is a positive number specified in division units. This is the intended duration vs. notated duration (for instance, swing eighths vs. even eighths, or differences in dotted notes in Baroque-era music). Differences in duration specific to an interpretation or performance should use the note element's attack and release attributes.</xs:documentation>
 
</xs:annotation>
</xs:element>

group editorial
diagram
children footnote level
used by
complexTypes attributes backup barline figured-bass harmony lyric notations part-group
annotation
documentation
The editorial group specifies editorial information for a musical element.
source <xs:group name="editorial">
 
<xs:annotation>
   
<xs:documentation>The editorial group specifies editorial information for a musical element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="footnote" minOccurs="0"/>
   
<xs:group ref="level" minOccurs="0"/>
 
</xs:sequence>
</xs:group>

group editorial-voice
diagram
children footnote level voice
used by
complexTypes forward note
annotation
documentation
The editorial-voice group supports the common combination of editorial and voice information for a musical element.
source <xs:group name="editorial-voice">
 
<xs:annotation>
   
<xs:documentation>The editorial-voice group supports the common combination of editorial and voice information for a musical element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="footnote" minOccurs="0"/>
   
<xs:group ref="level" minOccurs="0"/>
   
<xs:group ref="voice" minOccurs="0"/>
 
</xs:sequence>
</xs:group>

group editorial-voice-direction
diagram
children footnote level voice
used by
complexType direction
annotation
documentation
The editorial-voice-direction group supports the common combination of editorial and voice information for a direction element. It is separate from the editorial-voice element because extensions and restrictions might be different for directions than for the note and forward elements.
source <xs:group name="editorial-voice-direction">
 
<xs:annotation>
   
<xs:documentation>The editorial-voice-direction group supports the common combination of editorial and voice information for a direction element. It is separate from the editorial-voice element because extensions and restrictions might be different for directions than for the note and forward elements.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="footnote" minOccurs="0"/>
   
<xs:group ref="level" minOccurs="0"/>
   
<xs:group ref="voice" minOccurs="0"/>
 
</xs:sequence>
</xs:group>

group footnote
diagram
children footnote
used by
groups editorial editorial-voice editorial-voice-direction
annotation
documentation
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.
source <xs:group name="footnote">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="footnote" type="formatted-text"/>
 
</xs:sequence>
</xs:group>

element footnote/footnote
diagram
type formatted-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
source <xs:element name="footnote" type="formatted-text"/>

group full-note
diagram
children chord pitch unpitched rest
used by
complexTypes note note note
annotation
documentation
The full-note group is a sequence of the common note elements between cue/grace notes and regular (full) notes: pitch, chord, and rest information, but not duration (cue and grace notes do not have duration encoded). Unpitched elements are used for unpitched percussion, speaking voice, and other musical elements lacking determinate pitch.
source <xs:group name="full-note">
 
<xs:annotation>
   
<xs:documentation>The full-note group is a sequence of the common note elements between cue/grace notes and regular (full) notes: pitch, chord, and rest information, but not duration (cue and grace notes do not have duration encoded). Unpitched elements are used for unpitched percussion, speaking voice, and other musical elements lacking determinate pitch.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="chord" type="empty" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The chord element indicates that this note is an additional chord tone with the preceding note. The duration of this note can be no longer than the preceding note. In MuseData, a missing duration indicates the same length as the previous note, but the MusicXML format requires a duration for chord notes too.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:choice>
     
<xs:element name="pitch" type="pitch"/>
     
<xs:element name="unpitched" type="display-step-octave">
       
<xs:annotation>
         
<xs:documentation>The unpitched element indicates musical elements that are notated on the staff but lack definite pitch, such as unpitched percussion and speaking voice.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="rest" type="display-step-octave">
       
<xs:annotation>
         
<xs:documentation>The rest element indicates notated rests or silences. Rest are usually empty, but placement on the staff can be specified using display-step and display-octave elements.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
 
</xs:sequence>
</xs:group>

element full-note/chord
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc 1
content complex
annotation
documentation
The chord element indicates that this note is an additional chord tone with the preceding note. The duration of this note can be no longer than the preceding note. In MuseData, a missing duration indicates the same length as the previous note, but the MusicXML format requires a duration for chord notes too.
source <xs:element name="chord" type="empty" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The chord element indicates that this note is an additional chord tone with the preceding note. The duration of this note can be no longer than the preceding note. In MuseData, a missing duration indicates the same length as the previous note, but the MusicXML format requires a duration for chord notes too.</xs:documentation>
 
</xs:annotation>
</xs:element>

element full-note/pitch
diagram
type pitch
properties
isRef 0
content complex
children step alter octave
source <xs:element name="pitch" type="pitch"/>

element full-note/unpitched
diagram
type display-step-octave
properties
isRef 0
content complex
children display-step display-octave
annotation
documentation
The unpitched element indicates musical elements that are notated on the staff but lack definite pitch, such as unpitched percussion and speaking voice.
source <xs:element name="unpitched" type="display-step-octave">
 
<xs:annotation>
   
<xs:documentation>The unpitched element indicates musical elements that are notated on the staff but lack definite pitch, such as unpitched percussion and speaking voice.</xs:documentation>
 
</xs:annotation>
</xs:element>

element full-note/rest
diagram
type display-step-octave
properties
isRef 0
content complex
children display-step display-octave
annotation
documentation
The rest element indicates notated rests or silences. Rest are usually empty, but placement on the staff can be specified using display-step and display-octave elements.
source <xs:element name="rest" type="display-step-octave">
 
<xs:annotation>
   
<xs:documentation>The rest element indicates notated rests or silences. Rest are usually empty, but placement on the staff can be specified using display-step and display-octave elements.</xs:documentation>
 
</xs:annotation>
</xs:element>

group harmony-chord
diagram
children root function kind inversion bass degree
used by
complexType harmony
annotation
documentation
A harmony element can contain many stacked chords (e.g. V of II). A sequence of harmony-chord groups is used for this type of secondary function, where V of II would be represented by a harmony-chord with a V function followed by a harmony-chord with a II function.

A root is a pitch name like C, D, E, where a function is an indication like I, II, III. It is an either/or choice to avoid data inconsistency.
source <xs:group name="harmony-chord">
 
<xs:annotation>
   
<xs:documentation>A harmony element can contain many stacked chords (e.g. V of II). A sequence of harmony-chord groups is used for this type of secondary function, where V of II would be represented by a harmony-chord with a V function followed by a harmony-chord with a II function.

A root is a pitch name like C, D, E, where a function is an indication like I, II, III. It is an either/or choice to avoid data inconsistency.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice>
     
<xs:element name="root" type="root"/>
     
<xs:element name="function" type="style-text">
       
<xs:annotation>
         
<xs:documentation>The function element is used to represent classical functional harmony with an indication like I, II, III rather than C, D, E. It is relative to the key that is specified in the MusicXML encoding.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
   
<xs:element name="kind" type="kind"/>
   
<xs:element name="inversion" type="inversion" minOccurs="0"/>
   
<xs:element name="bass" type="bass" minOccurs="0"/>
   
<xs:element name="degree" type="degree" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:group>

element harmony-chord/root
diagram
type root
properties
isRef 0
content complex
children root-step root-alter
source <xs:element name="root" type="root"/>

element harmony-chord/function
diagram
type style-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The function element is used to represent classical functional harmony with an indication like I, II, III rather than C, D, E. It is relative to the key that is specified in the MusicXML encoding.
source <xs:element name="function" type="style-text">
 
<xs:annotation>
   
<xs:documentation>The function element is used to represent classical functional harmony with an indication like I, II, III rather than C, D, E. It is relative to the key that is specified in the MusicXML encoding.</xs:documentation>
 
</xs:annotation>
</xs:element>

element harmony-chord/kind
diagram
type kind
properties
isRef 0
content complex
facets
enumeration major
enumeration minor
enumeration augmented
enumeration diminished
enumeration dominant
enumeration major-seventh
enumeration minor-seventh
enumeration diminished-seventh
enumeration augmented-seventh
enumeration half-diminished
enumeration major-minor
enumeration major-sixth
enumeration minor-sixth
enumeration dominant-ninth
enumeration major-ninth
enumeration minor-ninth
enumeration dominant-11th
enumeration major-11th
enumeration minor-11th
enumeration dominant-13th
enumeration major-13th
enumeration minor-13th
enumeration suspended-second
enumeration suspended-fourth
enumeration pedal
enumeration power
enumeration other
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
use-symbolsyes-no      
textxs:token      
stack-degreesyes-no      
parentheses-degreesyes-no      
bracket-degreesyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
halignleft-center-right      
valignvalign      
source <xs:element name="kind" type="kind"/>

element harmony-chord/inversion
diagram
type inversion
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="inversion" type="inversion" minOccurs="0"/>

element harmony-chord/bass
diagram
type bass
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children bass-step bass-alter
source <xs:element name="bass" type="bass" minOccurs="0"/>

element harmony-chord/degree
diagram
type degree
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children degree-value degree-alter degree-type
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="degree" type="degree" minOccurs="0" maxOccurs="unbounded"/>

group layout
diagram
children page-layout system-layout staff-layout
used by
complexTypes defaults print
annotation
documentation
The layout group specifies the sequence of page, system, and staff layout elements that is common to both the defaults and print elements.
source <xs:group name="layout">
 
<xs:annotation>
   
<xs:documentation>The layout group specifies the sequence of page, system, and staff layout elements that is common to both the defaults and print elements.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="page-layout" type="page-layout" minOccurs="0"/>
   
<xs:element name="system-layout" type="system-layout" minOccurs="0"/>
   
<xs:element name="staff-layout" type="staff-layout" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:group>

element layout/page-layout
diagram
type page-layout
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children page-height page-width page-margins
source <xs:element name="page-layout" type="page-layout" minOccurs="0"/>

element layout/system-layout
diagram
type system-layout
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children system-margins system-distance top-system-distance
source <xs:element name="system-layout" type="system-layout" minOccurs="0"/>

element layout/staff-layout
diagram
type staff-layout
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children staff-distance
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
source <xs:element name="staff-layout" type="staff-layout" minOccurs="0" maxOccurs="unbounded"/>

group left-right-margins
diagram
children left-margin right-margin
used by
complexType system-margins
group all-margins
annotation
documentation
The left-right-margins group specifies horizontal margins in tenths.
source <xs:group name="left-right-margins">
 
<xs:annotation>
   
<xs:documentation>The left-right-margins group specifies horizontal margins in tenths.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="left-margin" type="tenths"/>
   
<xs:element name="right-margin" type="tenths"/>
 
</xs:sequence>
</xs:group>

element left-right-margins/left-margin
diagram
type tenths
properties
isRef 0
content simple
source <xs:element name="left-margin" type="tenths"/>

element left-right-margins/right-margin
diagram
type tenths
properties
isRef 0
content simple
source <xs:element name="right-margin" type="tenths"/>

group level
diagram
children level
used by
groups editorial editorial-voice editorial-voice-direction
annotation
documentation
The level element specifies editorial information for different MusicXML elements. It is defined within a group due to its multiple uses within the MusicXML schema.
source <xs:group name="level">
 
<xs:annotation>
   
<xs:documentation>The level element specifies editorial information for different MusicXML elements. It is defined within a group due to its multiple uses within the MusicXML schema.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="level" type="level"/>
 
</xs:sequence>
</xs:group>

element level/level
diagram
type level
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
referenceyes-no      
parenthesesyes-no      
bracketyes-no      
sizesymbol-size      
source <xs:element name="level" type="level"/>

group music-data
diagram
children note backup forward direction attributes harmony figured-bass print sound barline grouping link bookmark
used by
elements score-partwise/part/measure score-timewise/measure/part
annotation
documentation
The music-data group contains the basic musical data that is either associated with a part or a measure, depending on whether the partwise or timewise hierarchy is used.
source <xs:group name="music-data">
 
<xs:annotation>
   
<xs:documentation>The music-data group contains the basic musical data that is either associated with a part or a measure, depending on whether the partwise or timewise hierarchy is used.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice minOccurs="0" maxOccurs="unbounded">
     
<xs:element name="note" type="note"/>
     
<xs:element name="backup" type="backup"/>
     
<xs:element name="forward" type="forward"/>
     
<xs:element name="direction" type="direction"/>
     
<xs:element name="attributes" type="attributes"/>
     
<xs:element name="harmony" type="harmony"/>
     
<xs:element name="figured-bass" type="figured-bass"/>
     
<xs:element name="print" type="print"/>
     
<xs:element name="sound" type="sound"/>
     
<xs:element name="barline" type="barline"/>
     
<xs:element name="grouping" type="grouping"/>
     
<xs:element name="link" type="link"/>
     
<xs:element name="bookmark" type="bookmark"/>
   
</xs:choice>
 
</xs:sequence>
</xs:group>

element music-data/note
diagram
type note
properties
isRef 0
content complex
children grace chord pitch unpitched rest tie cue duration tie instrument footnote level voice type dot accidental time-modification stem notehead staff beam notations lyric
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
print-dotyes-no      
print-spacingyes-no      
print-lyricyes-no      
dynamicsnon-negative-decimal      
end-dynamicsnon-negative-decimal      
attackdivisions      
releasedivisions      
time-onlyxs:token      
pizzicatoyes-no      
source <xs:element name="note" type="note"/>

element music-data/backup
diagram
type backup
properties
isRef 0
content complex
children duration footnote level
source <xs:element name="backup" type="backup"/>

element music-data/forward
diagram
type forward
properties
isRef 0
content complex
children duration footnote level voice staff
source <xs:element name="forward" type="forward"/>

element music-data/direction
diagram
type direction
properties
isRef 0
content complex
children direction-type offset footnote level voice staff sound
attributes
Name  Type  Use  Default  Fixed  annotation
placementabove-below      
directiveyes-no      
source <xs:element name="direction" type="direction"/>

element music-data/attributes
diagram
type attributes
properties
isRef 0
content complex
children footnote level divisions key time staves part-symbol instruments clef staff-details measure-style
source <xs:element name="attributes" type="attributes"/>

element music-data/harmony
diagram
type harmony
properties
isRef 0
content complex
children root kind bass degree frame offset footnote level staff
attributes
Name  Type  Use  Default  Fixed  annotation
typeharmony-type      
print-objectyes-no      
print-frameyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="harmony" type="harmony"/>

element music-data/figured-bass
diagram
type figured-bass
properties
isRef 0
content complex
children figure duration footnote level
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
print-dotyes-no      
print-spacingyes-no      
print-lyricyes-no      
parenthesesyes-no      
source <xs:element name="figured-bass" type="figured-bass"/>

element music-data/print
diagram
type print
properties
isRef 0
content complex
children page-layout system-layout staff-layout measure-layout measure-numbering part-name-display part-abbreviation-display
attributes
Name  Type  Use  Default  Fixed  annotation
new-systemyes-no      
new-pageyes-no      
blank-pagexs:positiveInteger      
page-numberxs:token      
source <xs:element name="print" type="print"/>

element music-data/sound
diagram
type sound
properties
isRef 0
content complex
children midi-instrument offset
attributes
Name  Type  Use  Default  Fixed  annotation
panrotation-degrees      
elevationrotation-degrees      
temponon-negative-decimal      
dynamicsnon-negative-decimal      
dacapoyes-no      
segnoxs:token      
dalsegnoxs:token      
codaxs:token      
tocodaxs:token      
divisionsdivisions      
forward-repeatyes-no      
finexs:token      
time-onlyxs:token      
pizzicatoyes-no      
damper-pedalyes-no-number      
soft-pedalyes-no-number      
sostenuto-pedalyes-no-number      
source <xs:element name="sound" type="sound"/>

element music-data/barline
diagram
type barline
properties
isRef 0
content complex
children bar-style footnote level ending repeat
attributes
Name  Type  Use  Default  Fixed  annotation
locationright-left-middle  right    
source <xs:element name="barline" type="barline"/>

element music-data/grouping
diagram
type grouping
properties
isRef 0
content complex
children feature
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-singlerequired      
numberxs:token  1    
member-ofxs:token      
source <xs:element name="grouping" type="grouping"/>

element music-data/link
diagram
type link
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
source <xs:element name="link" type="link"/>

element music-data/bookmark
diagram
type bookmark
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
source <xs:element name="bookmark" type="bookmark"/>

group non-traditional-key
diagram
children key-step key-alter
used by
complexType key
annotation
documentation
The non-traditional-key group represents a single alteration within a non-traditional key signature. A sequence of these groups makes up a non-traditional key signature
source <xs:group name="non-traditional-key">
 
<xs:annotation>
   
<xs:documentation>The non-traditional-key group represents a single alteration within a non-traditional key signature. A sequence of these groups makes up a non-traditional key signature</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="key-step" type="step">
     
<xs:annotation>
       
<xs:documentation>Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-step element indicates the pitch step to be altered, represented using the same names as in the step element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="key-alter" type="semitones">
     
<xs:annotation>
       
<xs:documentation>Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-alter element represents the alteration for a given pitch step, represented with semitones in the same manner as the alter element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:group>

element non-traditional-key/key-step
diagram
type step
properties
isRef 0
content simple
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
annotation
documentation
Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-step element indicates the pitch step to be altered, represented using the same names as in the step element.
source <xs:element name="key-step" type="step">
 
<xs:annotation>
   
<xs:documentation>Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-step element indicates the pitch step to be altered, represented using the same names as in the step element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element non-traditional-key/key-alter
diagram
type semitones
properties
isRef 0
content simple
annotation
documentation
Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-alter element represents the alteration for a given pitch step, represented with semitones in the same manner as the alter element.
source <xs:element name="key-alter" type="semitones">
 
<xs:annotation>
   
<xs:documentation>Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-alter element represents the alteration for a given pitch step, represented with semitones in the same manner as the alter element.</xs:documentation>
 
</xs:annotation>
</xs:element>

group part-group
diagram
children part-group
used by
complexTypes part-list part-list
annotation
documentation
The part-group element is defined within a group due to its multiple uses within the part-list element.
source <xs:group name="part-group">
 
<xs:annotation>
   
<xs:documentation>The part-group element is defined within a group due to its multiple uses within the part-list element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="part-group" type="part-group"/>
 
</xs:sequence>
</xs:group>

element part-group/part-group
diagram
type part-group
properties
isRef 0
content complex
children group-name group-name-display group-abbreviation group-abbreviation-display group-symbol group-barline group-time footnote level
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numberxs:token  1    
source <xs:element name="part-group" type="part-group"/>

group score-header
diagram
children work movement-number movement-title identification defaults credit part-list
used by
elements score-partwise score-timewise
annotation
documentation
The score-header group contains basic score metadata about the work and movement, score-wide defaults for layout and fonts, credits that appear on the first or following pages, and the part list.
source <xs:group name="score-header">
 
<xs:annotation>
   
<xs:documentation>The score-header group contains basic score metadata about the work and movement, score-wide defaults for layout and fonts, credits that appear on the first or following pages, and the part list.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="work" type="work" minOccurs="0"/>
   
<xs:element name="movement-number" type="xs:string" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The movement-number element specifies the number of a movement.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="movement-title" type="xs:string" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The movement-title element specifies the title of a movement, not including its number.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="identification" type="identification" minOccurs="0"/>
   
<xs:element name="defaults" type="defaults" minOccurs="0"/>
   
<xs:element name="credit" type="credit" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="part-list" type="part-list"/>
 
</xs:sequence>
</xs:group>

element score-header/work
diagram
type work
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children work-number work-title opus
source <xs:element name="work" type="work" minOccurs="0"/>

element score-header/movement-number
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The movement-number element specifies the number of a movement.
source <xs:element name="movement-number" type="xs:string" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The movement-number element specifies the number of a movement.</xs:documentation>
 
</xs:annotation>
</xs:element>

element score-header/movement-title
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The movement-title element specifies the title of a movement, not including its number.
source <xs:element name="movement-title" type="xs:string" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The movement-title element specifies the title of a movement, not including its number.</xs:documentation>
 
</xs:annotation>
</xs:element>

element score-header/identification
diagram
type identification
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children creator rights encoding source relation miscellaneous
source <xs:element name="identification" type="identification" minOccurs="0"/>

element score-header/defaults
diagram
type defaults
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children scaling page-layout system-layout staff-layout appearance music-font word-font lyric-font lyric-language
source <xs:element name="defaults" type="defaults" minOccurs="0"/>

element score-header/credit
diagram
type credit
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children link bookmark credit-image credit-words link bookmark credit-words
attributes
Name  Type  Use  Default  Fixed  annotation
pagexs:positiveInteger      
source <xs:element name="credit" type="credit" minOccurs="0" maxOccurs="unbounded"/>

element score-header/part-list
diagram
type part-list
properties
isRef 0
content complex
children part-group score-part
source <xs:element name="part-list" type="part-list"/>

group score-part
diagram
children score-part
used by
complexTypes part-list part-list
annotation
documentation
The score-part element is defined within a group due to its multiple uses within the part-list element.
source <xs:group name="score-part">
 
<xs:annotation>
   
<xs:documentation>The score-part element is defined within a group due to its multiple uses within the part-list element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="score-part" type="score-part">
     
<xs:annotation>
       
<xs:documentation>Each MusicXML part corresponds to a track in a Standard MIDI Format 1 file. The score-instrument elements are used when there are multiple instruments per track. The midi-device element is used to make a MIDI device or port assignment for the given track. Initial midi-instrument assignments may be made here as well.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:group>

element score-part/score-part
diagram
type score-part
properties
isRef 0
content complex
children identification part-name part-name-display part-abbreviation part-abbreviation-display group score-instrument midi-device midi-instrument
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
annotation
documentation
Each MusicXML part corresponds to a track in a Standard MIDI Format 1 file. The score-instrument elements are used when there are multiple instruments per track. The midi-device element is used to make a MIDI device or port assignment for the given track. Initial midi-instrument assignments may be made here as well.
source <xs:element name="score-part" type="score-part">
 
<xs:annotation>
   
<xs:documentation>Each MusicXML part corresponds to a track in a Standard MIDI Format 1 file. The score-instrument elements are used when there are multiple instruments per track. The midi-device element is used to make a MIDI device or port assignment for the given track. Initial midi-instrument assignments may be made here as well.</xs:documentation>
 
</xs:annotation>
</xs:element>

group slash
diagram
children slash-type slash-dot
used by
complexTypes beat-repeat slash
annotation
documentation
The slash group combines elements used for more complete specification of the slash and beat-repeat measure-style elements. They have the same values as the type and dot elements, and define what the beat is for the display of repetition marks. If not present, the beat is based on the current time signature.
source <xs:group name="slash">
 
<xs:annotation>
   
<xs:documentation>The slash group combines elements used for more complete specification of the slash and beat-repeat measure-style elements. They have the same values as the type and dot elements, and define what the beat is for the display of repetition marks. If not present, the beat is based on the current time signature.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="slash-type" type="note-type-value">
     
<xs:annotation>
       
<xs:documentation>The slash-type element indicates the graphical note type to use for the display of repetition marks.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="slash-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The slash-dot element is used to specify any augmentation dots in the note type used to display repetition marks.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:group>

element slash/slash-type
diagram
type note-type-value
properties
isRef 0
content simple
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
annotation
documentation
The slash-type element indicates the graphical note type to use for the display of repetition marks.
source <xs:element name="slash-type" type="note-type-value">
 
<xs:annotation>
   
<xs:documentation>The slash-type element indicates the graphical note type to use for the display of repetition marks.</xs:documentation>
 
</xs:annotation>
</xs:element>

element slash/slash-dot
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
annotation
documentation
The slash-dot element is used to specify any augmentation dots in the note type used to display repetition marks.
source <xs:element name="slash-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The slash-dot element is used to specify any augmentation dots in the note type used to display repetition marks.</xs:documentation>
 
</xs:annotation>
</xs:element>

group staff
diagram
children staff
used by
complexTypes direction forward harmony note
annotation
documentation
The staff element is defined within a group due to its use by both notes and direction elements.
source <xs:group name="staff">
 
<xs:annotation>
   
<xs:documentation>The staff element is defined within a group due to its use by both notes and direction elements.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="staff" type="xs:positiveInteger">
     
<xs:annotation>
       
<xs:documentation>Staff assignment is only needed for music notated on multiple staves. Used by both notes and directions. Staff values are numbers, with 1 referring to the top-most staff in a part.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:group>

element staff/staff
diagram
type xs:positiveInteger
properties
isRef 0
content simple
annotation
documentation
Staff assignment is only needed for music notated on multiple staves. Used by both notes and directions. Staff values are numbers, with 1 referring to the top-most staff in a part.
source <xs:element name="staff" type="xs:positiveInteger">
 
<xs:annotation>
   
<xs:documentation>Staff assignment is only needed for music notated on multiple staves. Used by both notes and directions. Staff values are numbers, with 1 referring to the top-most staff in a part.</xs:documentation>
 
</xs:annotation>
</xs:element>

group traditional-key
diagram
children cancel fifths mode
used by
complexType key
annotation
documentation
The traditional-key group represents a traditional key signature using the cycle of fifths.
source <xs:group name="traditional-key">
 
<xs:annotation>
   
<xs:documentation>The traditional-key group represents a traditional key signature using the cycle of fifths.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="cancel" type="cancel" minOccurs="0"/>
   
<xs:element name="fifths" type="fifths"/>
   
<xs:element name="mode" type="mode" minOccurs="0"/>
 
</xs:sequence>
</xs:group>

element traditional-key/cancel
diagram
type cancel
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
minInclusive -7
maxInclusive 7
attributes
Name  Type  Use  Default  Fixed  annotation
locationleft-right      
source <xs:element name="cancel" type="cancel" minOccurs="0"/>

element traditional-key/fifths
diagram
type fifths
properties
isRef 0
content simple
facets
minInclusive -7
maxInclusive 7
source <xs:element name="fifths" type="fifths"/>

element traditional-key/mode
diagram
type mode
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
enumeration major
enumeration minor
enumeration dorian
enumeration phrygian
enumeration lydian
enumeration mixolydian
enumeration aeolian
enumeration ionian
enumeration locrian
source <xs:element name="mode" type="mode" minOccurs="0"/>

group tuning
diagram
children tuning-step tuning-alter tuning-octave
used by
complexTypes accord staff-tuning
annotation
documentation
The tuning group contains the sequence of elements common to the staff-tuning and accord elements.
source <xs:group name="tuning">
 
<xs:annotation>
   
<xs:documentation>The tuning group contains the sequence of elements common to the staff-tuning and accord elements.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="tuning-step" type="step">
     
<xs:annotation>
       
<xs:documentation>The tuning-step element is represented like the step element, with a different name to reflect is different function.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="tuning-alter" type="semitones" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The tuning-alter element is represented like the alter element, with a different name to reflect is different function.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="tuning-octave" type="octave">
     
<xs:annotation>
       
<xs:documentation>The tuning-octave element is represented like the octave element, with a different name to reflect is different function.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:group>

element tuning/tuning-step
diagram
type step
properties
isRef 0
content simple
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
annotation
documentation
The tuning-step element is represented like the step element, with a different name to reflect is different function.
source <xs:element name="tuning-step" type="step">
 
<xs:annotation>
   
<xs:documentation>The tuning-step element is represented like the step element, with a different name to reflect is different function.</xs:documentation>
 
</xs:annotation>
</xs:element>

element tuning/tuning-alter
diagram
type semitones
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The tuning-alter element is represented like the alter element, with a different name to reflect is different function.
source <xs:element name="tuning-alter" type="semitones" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The tuning-alter element is represented like the alter element, with a different name to reflect is different function.</xs:documentation>
 
</xs:annotation>
</xs:element>

element tuning/tuning-octave
diagram
type octave
properties
isRef 0
content simple
facets
minInclusive 0
maxInclusive 9
annotation
documentation
The tuning-octave element is represented like the octave element, with a different name to reflect is different function.
source <xs:element name="tuning-octave" type="octave">
 
<xs:annotation>
   
<xs:documentation>The tuning-octave element is represented like the octave element, with a different name to reflect is different function.</xs:documentation>
 
</xs:annotation>
</xs:element>

group voice
diagram
children voice
used by
groups editorial-voice editorial-voice-direction
annotation
documentation
The voice is used to distinguish between multiple voices (what MuseData calls tracks) in individual parts. It is defined within a group due to its multiple uses within the MusicXML schema.
source <xs:group name="voice">
 
<xs:annotation>
   
<xs:documentation>The voice is used to distinguish between multiple voices (what MuseData calls tracks) in individual parts. It is defined within a group due to its multiple uses within the MusicXML schema.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="voice" type="xs:string"/>
 
</xs:sequence>
</xs:group>

element voice/voice
diagram
type xs:string
properties
isRef 0
content simple
source <xs:element name="voice" type="xs:string"/>

complexType accidental
diagram
type extension of accidental-value
properties
base accidental-value
used by
element note/accidental
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
cautionaryyes-no      
editorialyes-no      
parenthesesyes-no      
bracketyes-no      
sizesymbol-size      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
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.
source <xs:complexType name="accidental">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<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:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute accidental/@cautionary
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="cautionary" type="yes-no"/>

attribute accidental/@editorial
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="editorial" type="yes-no"/>

complexType accidental-mark
diagram
type extension of accidental-value
properties
base accidental-value
used by
elements notations/accidental-mark ornaments/accidental-mark
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
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.
source <xs:complexType name="accidental-mark">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="accidental-value">
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType accidental-text
diagram
type extension of accidental-value
properties
base accidental-value
used by
element name-display/accidental-text
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
annotation
documentation
The accidental-text type represents an element with an accidental value and text-formatting attributes.
source <xs:complexType name="accidental-text">
 
<xs:annotation>
   
<xs:documentation>The accidental-text type represents an element with an accidental value and text-formatting attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="accidental-value">
     
<xs:attributeGroup ref="text-formatting"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType accord
diagram
children tuning-step tuning-alter tuning-octave
used by
element scordatura/accord
attributes
Name  Type  Use  Default  Fixed  annotation
stringstring-number      
annotation
documentation
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.
source <xs:complexType name="accord">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:group ref="tuning"/>
 
<xs:attribute name="string" type="string-number"/>
</xs:complexType>

attribute accord/@string
type string-number
properties
isRef 0
source <xs:attribute name="string" type="string-number"/>

complexType accordion-registration
diagram
children accordion-high accordion-middle accordion-low
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The accordion-registration type is use 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.
source <xs:complexType name="accordion-registration">
 
<xs:annotation>
   
<xs:documentation>The accordion-registration type is use 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.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="accordion-high" type="empty" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The accordion-high element indicates the presence of a dot in the high (4') section of the registration symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="accordion-middle" type="accordion-middle" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The accordion-middle element indicates the presence of 1 to 3 dots in the middle (8') section of the registration symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="accordion-low" type="empty" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The accordion-low element indicates the presence of a dot in the low (16') section of the registration symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-style"/>
</xs:complexType>

element accordion-registration/accordion-high
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc 1
content complex
annotation
documentation
The accordion-high element indicates the presence of a dot in the high (4') section of the registration symbol.
source <xs:element name="accordion-high" type="empty" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The accordion-high element indicates the presence of a dot in the high (4') section of the registration symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element accordion-registration/accordion-middle
diagram
type accordion-middle
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 1
maxInclusive 3
annotation
documentation
The accordion-middle element indicates the presence of 1 to 3 dots in the middle (8') section of the registration symbol.
source <xs:element name="accordion-middle" type="accordion-middle" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The accordion-middle element indicates the presence of 1 to 3 dots in the middle (8') section of the registration symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element accordion-registration/accordion-low
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc 1
content complex
annotation
documentation
The accordion-low element indicates the presence of a dot in the low (16') section of the registration symbol.
source <xs:element name="accordion-low" type="empty" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The accordion-low element indicates the presence of a dot in the low (16') section of the registration symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType appearance
diagram
children line-width note-size other-appearance
used by
element defaults/appearance
complexType appearance
annotation
documentation
The appearance type controls general graphical settings for the music's final form appearance on a printed page of display. Currently this includes support for line widths and definitions for note sizes, plus an extension element for other aspects of appearance.
source <xs:complexType name="appearance">
 
<xs:annotation>
   
<xs:documentation>The appearance type controls general graphical settings for the music's final form appearance on a printed page of display. Currently this includes support for line widths and definitions for note sizes, plus an extension element for other aspects of appearance.</xs:documentation>
 
</xs:annotation>
 
<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="other-appearance" type="other-appearance" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:complexType>

element appearance/line-width
diagram
type line-width
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typeline-width-typerequired      
source <xs:element name="line-width" type="line-width" minOccurs="0" maxOccurs="unbounded"/>

element appearance/note-size
diagram
type note-size
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
facets
minInclusive 0
attributes
Name  Type  Use  Default  Fixed  annotation
typenote-size-typerequired      
source <xs:element name="note-size" type="note-size" minOccurs="0" maxOccurs="unbounded"/>

element appearance/other-appearance
diagram
type other-appearance
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:tokenrequired      
source <xs:element name="other-appearance" type="other-appearance" minOccurs="0" maxOccurs="unbounded"/>

complexType arpeggiate
diagram
used by
element notations/arpeggiate
attributes
Name  Type  Use  Default  Fixed  annotation
numbernumber-level      
directionup-down      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
annotation
documentation
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 up-down attribute is used if there is an arrow on the arpeggio sign. By default, arpeggios go from the lowest to highest note.
source <xs:complexType name="arpeggiate">
 
<xs:annotation>
   
<xs:documentation>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 up-down attribute is used if there is an arrow on the arpeggio sign. By default, arpeggios go from the lowest to highest note.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attribute name="direction" type="up-down"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute arpeggiate/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

attribute arpeggiate/@direction
type up-down
properties
isRef 0
facets
enumeration up
enumeration down
source <xs:attribute name="direction" type="up-down"/>

complexType articulations
diagram
children accent strong-accent staccato tenuto detached-legato staccatissimo spiccato scoop plop doit falloff breath-mark caesura stress unstress other-articulation
used by
element notations/articulations
complexType articulations
annotation
documentation
Articulations and accents are grouped together here.
source <xs:complexType name="articulations">
 
<xs:annotation>
   
<xs:documentation>Articulations and accents are grouped together here.</xs:documentation>
 
</xs:annotation>
 
<xs:choice minOccurs="0" maxOccurs="unbounded">
   
<xs:element name="accent" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The accent element indicates a regular horizontal accent mark.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="strong-accent" type="strong-accent">
     
<xs:annotation>
       
<xs:documentation>The strong-accent element indicates a vertical accent mark.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="staccato" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The staccato element is used for a dot articulation, as opposed to a stroke or a wedge.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="tenuto" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The tenuto element indicates a tenuto line symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="detached-legato" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The detached-legato element indicates the combination of a tenuto line and staccato dot symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="staccatissimo" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The staccatissimo element is used for a wedge articulation, as opposed to a dot or a stroke.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="spiccato" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The spiccato element is used for a stroke articulation, as opposed to a dot or a wedge.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="scoop" type="empty-line">
     
<xs:annotation>
       
<xs:documentation>The scoop element is an indeterminate slide attached to a single note. The scoop element appears before the main note and comes from below the main pitch.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="plop" type="empty-line">
     
<xs:annotation>
       
<xs:documentation>The plop element is an indeterminate slide attached to a single note. The plop element appears before the main note and comes from above the main pitch.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="doit" type="empty-line">
     
<xs:annotation>
       
<xs:documentation>The doit element is an indeterminate slide attached to a single note. The doit element appears after the main note and goes above the main pitch.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="falloff" type="empty-line">
     
<xs:annotation>
       
<xs:documentation>The falloff element is an indeterminate slide attached to a single note. The falloff element appears before the main note and goes below the main pitch.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="breath-mark" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The breath-mark element indicates a place to take a breath. It is typically notated with a comma / apostrophe symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="caesura" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The caesura element indicates a slight pause. It is notated using a "railroad tracks" symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="stress" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The stress element indicates a stressed note.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="unstress" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The unstress element indicates an unstressed note. It is often notated using a u-shaped symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="other-articulation" type="placement-text">
     
<xs:annotation>
       
<xs:documentation>The other-articulation element is used to define any articulations not yet in the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:choice>
</xs:complexType>

element articulations/accent
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The accent element indicates a regular horizontal accent mark.
source <xs:element name="accent" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The accent element indicates a regular horizontal accent mark.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/strong-accent
diagram
type strong-accent
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
typeup-down  up    
annotation
documentation
The strong-accent element indicates a vertical accent mark.
source <xs:element name="strong-accent" type="strong-accent">
 
<xs:annotation>
   
<xs:documentation>The strong-accent element indicates a vertical accent mark.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/staccato
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The staccato element is used for a dot articulation, as opposed to a stroke or a wedge.
source <xs:element name="staccato" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The staccato element is used for a dot articulation, as opposed to a stroke or a wedge.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/tenuto
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The tenuto element indicates a tenuto line symbol.
source <xs:element name="tenuto" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The tenuto element indicates a tenuto line symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/detached-legato
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The detached-legato element indicates the combination of a tenuto line and staccato dot symbol.
source <xs:element name="detached-legato" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The detached-legato element indicates the combination of a tenuto line and staccato dot symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/staccatissimo
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The staccatissimo element is used for a wedge articulation, as opposed to a dot or a stroke.
source <xs:element name="staccatissimo" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The staccatissimo element is used for a wedge articulation, as opposed to a dot or a stroke.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/spiccato
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The spiccato element is used for a stroke articulation, as opposed to a dot or a wedge.
source <xs:element name="spiccato" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The spiccato element is used for a stroke articulation, as opposed to a dot or a wedge.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/scoop
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
The scoop element is an indeterminate slide attached to a single note. The scoop element appears before the main note and comes from below the main pitch.
source <xs:element name="scoop" type="empty-line">
 
<xs:annotation>
   
<xs:documentation>The scoop element is an indeterminate slide attached to a single note. The scoop element appears before the main note and comes from below the main pitch.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/plop
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
The plop element is an indeterminate slide attached to a single note. The plop element appears before the main note and comes from above the main pitch.
source <xs:element name="plop" type="empty-line">
 
<xs:annotation>
   
<xs:documentation>The plop element is an indeterminate slide attached to a single note. The plop element appears before the main note and comes from above the main pitch.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/doit
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
The doit element is an indeterminate slide attached to a single note. The doit element appears after the main note and goes above the main pitch.
source <xs:element name="doit" type="empty-line">
 
<xs:annotation>
   
<xs:documentation>The doit element is an indeterminate slide attached to a single note. The doit element appears after the main note and goes above the main pitch.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/falloff
diagram
type empty-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
dash-lengthtenths      
space-lengthtenths      
annotation
documentation
The falloff element is an indeterminate slide attached to a single note. The falloff element appears before the main note and goes below the main pitch.
source <xs:element name="falloff" type="empty-line">
 
<xs:annotation>
   
<xs:documentation>The falloff element is an indeterminate slide attached to a single note. The falloff element appears before the main note and goes below the main pitch.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/breath-mark
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The breath-mark element indicates a place to take a breath. It is typically notated with a comma / apostrophe symbol.
source <xs:element name="breath-mark" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The breath-mark element indicates a place to take a breath. It is typically notated with a comma / apostrophe symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/caesura
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The caesura element indicates a slight pause. It is notated using a "railroad tracks" symbol.
source <xs:element name="caesura" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The caesura element indicates a slight pause. It is notated using a "railroad tracks" symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/stress
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The stress element indicates a stressed note.
source <xs:element name="stress" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The stress element indicates a stressed note.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/unstress
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The unstress element indicates an unstressed note. It is often notated using a u-shaped symbol.
source <xs:element name="unstress" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The unstress element indicates an unstressed note. It is often notated using a u-shaped symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element articulations/other-articulation
diagram
type placement-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The other-articulation element is used to define any articulations not yet in the MusicXML format. This allows extended representation, though without application interoperability.
source <xs:element name="other-articulation" type="placement-text">
 
<xs:annotation>
   
<xs:documentation>The other-articulation element is used to define any articulations not yet in the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType attributes
diagram
children footnote level divisions key time staves part-symbol instruments clef staff-details transpose directive measure-style
used by
element music-data/attributes
complexType attributes
annotation
documentation
The attributes element contains musical information that typically changes on measure boundaries. This includes key and time signatures, clefs, transpositions, and staving.
source <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.</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">
     
<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>

element attributes/divisions
diagram
type positive-divisions
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minExclusive 0
fractionDigits 0
annotation
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.
source <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>

element attributes/key
diagram
type key
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children cancel fifths mode key-step key-alter key-octave
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
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.
source <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>

element attributes/time
diagram
type time
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children beats beat-type senza-misura
attributes
Name  Type  Use  Default  Fixed  annotation
symboltime-symbol      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
documentation
Time signatures are represented by the beats element for the numerator and the beat-type element for the denominator.
source <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>

element attributes/staves
diagram
type xs:nonNegativeInteger
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
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.
source <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>

element attributes/part-symbol
diagram
type part-symbol
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration none
enumeration brace
enumeration line
enumeration bracket
attributes
Name  Type  Use  Default  Fixed  annotation
top-staffstaff-number      
bottom-staffstaff-number      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
annotation
documentation
The part-symbol element indicates how a symbol for a multi-staff part is indicated in the score.
source <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>

element attributes/instruments
diagram
type xs:nonNegativeInteger
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
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.
source <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>

element attributes/clef
diagram
type clef
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children sign line clef-octave-change
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
additionalyes-no      
sizesymbol-size      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
documentation
Clefs are represented by a combination of sign, line, and clef-octave-change elements.
source <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>

element attributes/staff-details
diagram
type staff-details
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children staff-type staff-lines staff-size
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
print-objectyes-no      
print-spacingyes-no      
annotation
documentation
The staff-details element is used to indicate different types of staves.
source <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>

element attributes/transpose
diagram
type transpose
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children diatonic chromatic octave-change
annotation
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.
source <xs:element name="transpose" type="transpose" minOccurs="0">
 
<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>

element attributes/directive
diagram
type extension of xs:string
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
annotation
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.
source <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>

element attributes/measure-style
diagram
type measure-style
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children multiple-rest measure-repeat beat-repeat slash
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
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.
source <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>

complexType backup
diagram
children duration footnote level
used by
element music-data/backup
annotation
documentation
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.
source <xs:complexType name="backup">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="duration"/>
   
<xs:group ref="editorial"/>
 
</xs:sequence>
</xs:complexType>

complexType bar-style-color
diagram
type extension of bar-style
properties
base bar-style
used by
element barline/bar-style
facets
enumeration regular
enumeration dotted
enumeration dashed
enumeration light-light
enumeration light-heavy
enumeration heavy-light
enumeration heavy-heavy
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
colorcolor      
annotation
documentation
The bar-style-color type contains barline style and color information.
source <xs:complexType name="bar-style-color">
 
<xs:annotation>
   
<xs:documentation>The bar-style-color type contains barline style and color information.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="bar-style">
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType barline
diagram
children bar-style footnote level wavy-line segno coda fermata ending repeat
used by
element music-data/barline
complexType barline
attributes
Name  Type  Use  Default  Fixed  annotation
locationright-left-middle  right    
segnoxs:token      
codaxs:token      
divisionsdivisions      
annotation
documentation
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.
source <xs:complexType name="barline">
 
<xs:annotation>
   
<xs:documentation>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.
</xs:documentation>
 
</xs:annotation>
 
<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="empty-print-style" minOccurs="0"/>
   
<xs:element name="coda" type="empty-print-style" 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:complexType>

attribute barline/@location
type right-left-middle
properties
isRef 0
default right
facets
enumeration right
enumeration left
enumeration middle
source <xs:attribute name="location" type="right-left-middle" default="right"/>

attribute barline/@segno
type xs:token
properties
isRef 0
source <xs:attribute name="segno" type="xs:token"/>

attribute barline/@coda
type xs:token
properties
isRef 0
source <xs:attribute name="coda" type="xs:token"/>

attribute barline/@divisions
type divisions
properties
isRef 0
facets
fractionDigits 0
source <xs:attribute name="divisions" type="divisions"/>

element barline/bar-style
diagram
type bar-style-color
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration regular
enumeration dotted
enumeration dashed
enumeration light-light
enumeration light-heavy
enumeration heavy-light
enumeration heavy-heavy
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
colorcolor      
source <xs:element name="bar-style" type="bar-style-color" minOccurs="0"/>

element barline/wavy-line
diagram
type wavy-line
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-continuerequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="wavy-line" type="wavy-line" minOccurs="0"/>

element barline/segno
diagram
type empty-print-style
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="segno" type="empty-print-style" minOccurs="0"/>

element barline/coda
diagram
type empty-print-style
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="coda" type="empty-print-style" minOccurs="0"/>

element barline/fermata
diagram
type fermata
properties
isRef 0
minOcc 0
maxOcc 2
content complex
facets
enumeration normal
enumeration angled
enumeration square
enumeration 
attributes
Name  Type  Use  Default  Fixed  annotation
typeupright-inverted      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="fermata" type="fermata" minOccurs="0" maxOccurs="2"/>

element barline/ending
diagram
type ending
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
numberending-numberrequired      
typestart-stop-discontinuerequired      
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
end-lengthtenths      
text-xtenths      
text-ytenths      
source <xs:element name="ending" type="ending" minOccurs="0"/>

element barline/repeat
diagram
type repeat
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
directionbackward-forwardrequired      
timesxs:nonNegativeInteger      
source <xs:element name="repeat" type="repeat" minOccurs="0"/>

complexType barre
diagram
used by
element frame-note/barre
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
colorcolor      
annotation
documentation
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.
source <xs:complexType name="barre">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute barre/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

complexType bass
diagram
children bass-step bass-alter
used by
element harmony-chord/bass
annotation
documentation
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.
source <xs:complexType name="bass">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="bass-step" type="bass-step"/>
   
<xs:element name="bass-alter" type="bass-alter" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element bass/bass-step
diagram
type bass-step
properties
isRef 0
content complex
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="bass-step" type="bass-step"/>

element bass/bass-alter
diagram
type bass-alter
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
locationleft-right      
source <xs:element name="bass-alter" type="bass-alter" minOccurs="0"/>

complexType bass-alter
diagram
type extension of semitones
properties
base semitones
used by
element bass/bass-alter
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
locationleft-right      
annotation
documentation
The bass-alter type represents the chromatic alteration of the bass of the current chord within the harmony element. In some chord styles, the text for the bass-step element may include bass-alter information. In that case, the print-object attribute of the bass-alter element can be set to no. The location attribute indicates whether the alteration should appear to the left or the right of the bass-step; it is right by default.
source <xs:complexType name="bass-alter">
 
<xs:annotation>
   
<xs:documentation>The bass-alter type represents the chromatic alteration of the bass of the current chord within the harmony element. In some chord styles, the text for the bass-step element may include bass-alter information. In that case, the print-object attribute of the bass-alter element can be set to no. The location attribute indicates whether the alteration should appear to the left or the right of the bass-step; it is right by default.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="semitones">
     
<xs:attributeGroup ref="print-object"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attribute name="location" type="left-right"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute bass-alter/@location
type left-right
properties
isRef 0
facets
enumeration left
enumeration right
source <xs:attribute name="location" type="left-right"/>

complexType bass-step
diagram
type extension of step
properties
base step
used by
element bass/bass-step
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
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 on the page if not using the element contents.
source <xs:complexType name="bass-step">
 
<xs:annotation>
   
<xs:documentation>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 on the page if not using the element contents.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="step">
     
<xs:attribute name="text" type="xs:token"/>
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute bass-step/@text
type xs:token
properties
isRef 0
source <xs:attribute name="text" type="xs:token"/>

complexType beam
diagram
type extension of beam-value
properties
base beam-value
used by
element note/beam
complexType beam
facets
enumeration begin
enumeration continue
enumeration end
enumeration forward hook
enumeration backward hook
attributes
Name  Type  Use  Default  Fixed  annotation
numberbeam-level  1    
repeateryes-no      
fanfan      
colorcolor      
annotation
documentation
Beam values include begin, continue, end, forward hook, and backward hook. Up to six concurrent beam levels are available to cover up to 256th notes. The repeater attribute, used for tremolos, needs to be specified with a "yes" value for each beam using it. 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.

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.
source <xs:complexType name="beam">
 
<xs:annotation>
   
<xs:documentation>Beam values include begin, continue, end, forward hook, and backward hook. Up to six concurrent beam levels are available to cover up to 256th notes. The repeater attribute, used for tremolos, needs to be specified with a "yes" value for each beam using it. 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.

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.
</xs:documentation>
 
</xs:annotation>
 
<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:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute beam/@number
type beam-level
properties
isRef 0
default 1
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="beam-level" default="1"/>

attribute beam/@repeater
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="repeater" type="yes-no"/>

attribute beam/@fan
type fan
properties
isRef 0
facets
enumeration accel
enumeration rit
enumeration none
source <xs:attribute name="fan" type="fan"/>

complexType beat-repeat
diagram
children slash-type slash-dot
used by
element measure-style/beat-repeat
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
slashesxs:positiveInteger      
use-dotsyes-no      
annotation
documentation
The beat-repeat type is used to indicate that a single beat (but possibly many notes) is repeated. Both the start and stop of the beat being repeated should be specified. 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). By default, the value for slashes is 1 and the value for use-dots is no.

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.
source <xs:complexType name="beat-repeat">
 
<xs:annotation>
   
<xs:documentation>The beat-repeat type is used to indicate that a single beat (but possibly many notes) is repeated. Both the start and stop of the beat being repeated should be specified. 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). By default, the value for slashes is 1 and the value for use-dots is no.

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.
</xs:documentation>
 
</xs:annotation>
 
<xs:group ref="slash" minOccurs="0"/>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attribute name="slashes" type="xs:positiveInteger"/>
 
<xs:attribute name="use-dots" type="yes-no"/>
</xs:complexType>

attribute beat-repeat/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute beat-repeat/@slashes
type xs:positiveInteger
properties
isRef 0
source <xs:attribute name="slashes" type="xs:positiveInteger"/>

attribute beat-repeat/@use-dots
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="use-dots" type="yes-no"/>

complexType bend
diagram
children bend-alter pre-bend release with-bar
used by
element technical/bend
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
accelerateyes-no      
beatstrill-beats      
first-beatpercent      
last-beatpercent      
annotation
documentation
The bend type is used in guitar and tablature. The bend-alter element indicates the number of steps in the bend, similar to the alter element. As with the alter element, numbers like 0.5 can be used to indicate microtones. Negative numbers indicate pre-bends or releases; the pre-bend and release elements are used to distinguish what is intended. A with-bar element indicates that the bend is to be done at the bridge with a whammy or vibrato bar. The content of the element indicates how this should be notated.
source <xs:complexType name="bend">
 
<xs:annotation>
   
<xs:documentation>The bend type is used in guitar and tablature. The bend-alter element indicates the number of steps in the bend, similar to the alter element. As with the alter element, numbers like 0.5 can be used to indicate microtones. Negative numbers indicate pre-bends or releases; the pre-bend and release elements are used to distinguish what is intended. A with-bar element indicates that the bend is to be done at the bridge with a whammy or vibrato bar. The content of the element indicates how this should be notated.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="bend-alter" type="semitones">
     
<xs:annotation>
       
<xs:documentation>The bend-alter element indicates the number of steps in the bend, similar to the alter element. As with the alter element, numbers like 0.5 can be used to indicate microtones. Negative numbers indicate pre-bends or releases; the pre-bend and release elements are used to distinguish what is intended.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:choice minOccurs="0">
     
<xs:element name="pre-bend" type="empty">
       
<xs:annotation>
         
<xs:documentation>The pre-bend element indicates that this is a pre-bend rather than a normal bend or a release.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="release" type="empty">
       
<xs:annotation>
         
<xs:documentation>The release element indicates that this is a release rather than a normal bend or pre-bend.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
   
<xs:element name="with-bar" type="placement-text" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The with-bar element indicates that the bend is to be done at the bridge with a whammy or vibrato bar. The content of the element indicates how this should be notated.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="bend-sound"/>
</xs:complexType>

element bend/bend-alter
diagram
type semitones
properties
isRef 0
content simple
annotation
documentation
The bend-alter element indicates the number of steps in the bend, similar to the alter element. As with the alter element, numbers like 0.5 can be used to indicate microtones. Negative numbers indicate pre-bends or releases; the pre-bend and release elements are used to distinguish what is intended.
source <xs:element name="bend-alter" type="semitones">
 
<xs:annotation>
   
<xs:documentation>The bend-alter element indicates the number of steps in the bend, similar to the alter element. As with the alter element, numbers like 0.5 can be used to indicate microtones. Negative numbers indicate pre-bends or releases; the pre-bend and release elements are used to distinguish what is intended.</xs:documentation>
 
</xs:annotation>
</xs:element>

element bend/pre-bend
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The pre-bend element indicates that this is a pre-bend rather than a normal bend or a release.
source <xs:element name="pre-bend" type="empty">
 
<xs:annotation>
   
<xs:documentation>The pre-bend element indicates that this is a pre-bend rather than a normal bend or a release.</xs:documentation>
 
</xs:annotation>
</xs:element>

element bend/release
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The release element indicates that this is a release rather than a normal bend or pre-bend.
source <xs:element name="release" type="empty">
 
<xs:annotation>
   
<xs:documentation>The release element indicates that this is a release rather than a normal bend or pre-bend.</xs:documentation>
 
</xs:annotation>
</xs:element>

element bend/with-bar
diagram
type placement-text
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The with-bar element indicates that the bend is to be done at the bridge with a whammy or vibrato bar. The content of the element indicates how this should be notated.
source <xs:element name="with-bar" type="placement-text" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The with-bar element indicates that the bend is to be done at the bridge with a whammy or vibrato bar. The content of the element indicates how this should be notated.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType bookmark
diagram
used by
elements credit/bookmark credit/bookmark music-data/bookmark
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
annotation
documentation
The bookmark type serves as a well-defined target for an incoming simple XLink.
source <xs:complexType name="bookmark">
 
<xs:annotation>
   
<xs:documentation>The bookmark type serves as a well-defined target for an incoming simple XLink.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="id" type="xs:ID" use="required"/>
 
<xs:attribute name="name" type="xs:token"/>
 
<xs:attributeGroup ref="element-position"/>
</xs:complexType>

attribute bookmark/@id
type xs:ID
properties
isRef 0
use required
source <xs:attribute name="id" type="xs:ID" use="required"/>

attribute bookmark/@name
type xs:token
properties
isRef 0
source <xs:attribute name="name" type="xs:token"/>

complexType bracket
diagram
used by
element direction-type/bracket
complexType bracket
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
line-endline-endrequired      
end-lengthtenths      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
annotation
documentation
Brackets are combined with words in a variety of modern directions. The line-end attribute specifies if there is a jog up or down (or both), an arrow, or nothing at the start or end of the bracket. If the line-end is up or down, the length of the jog can be specified using the end-length attribute. The line-type is solid by default.
source <xs:complexType name="bracket">
 
<xs:annotation>
   
<xs:documentation>Brackets are combined with words in a variety of modern directions. The line-end attribute specifies if there is a jog up or down (or both), an arrow, or nothing at the start or end of the bracket. If the line-end is up or down, the length of the jog can be specified using the end-length attribute. The line-type is solid by default.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attribute name="line-end" type="line-end" use="required"/>
 
<xs:attribute name="end-length" type="tenths"/>
 
<xs:attributeGroup ref="line-type"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute bracket/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute bracket/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

attribute bracket/@line-end
type line-end
properties
isRef 0
use required
facets
enumeration up
enumeration down
enumeration both
enumeration arrow
enumeration none
source <xs:attribute name="line-end" type="line-end" use="required"/>

attribute bracket/@end-length
type tenths
properties
isRef 0
source <xs:attribute name="end-length" type="tenths"/>

complexType cancel
diagram
type extension of fifths
properties
base fifths
used by
element traditional-key/cancel
facets
minInclusive -7
maxInclusive 7
attributes
Name  Type  Use  Default  Fixed  annotation
locationleft-right      
annotation
documentation
A cancel element indicates that the old key signature should be cancelled before the new one appears. This will always happen when changing to C major or A minor and need not be specified then. The cancel value matches the fifths value of the cancelled key signature (e.g., a cancel of -2 will provide an explicit cancellation for changing from B flat major to F major). The optional location attribute indicates whether the cancellation appears to the left or the right of the new key signature. It is left by default.
source <xs:complexType name="cancel">
 
<xs:annotation>
   
<xs:documentation>A cancel element indicates that the old key signature should be cancelled before the new one appears. This will always happen when changing to C major or A minor and need not be specified then. The cancel value matches the fifths value of the cancelled key signature (e.g., a cancel of -2 will provide an explicit cancellation for changing from B flat major to F major). The optional location attribute indicates whether the cancellation appears to the left or the right of the new key signature. It is left by default.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="fifths">
     
<xs:attribute name="location" type="left-right"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute cancel/@location
type left-right
properties
isRef 0
facets
enumeration left
enumeration right
source <xs:attribute name="location" type="left-right"/>

complexType clef
diagram
children sign line clef-octave-change
used by
element attributes/clef
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
additionalyes-no      
sizesymbol-size      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
documentation
Clefs are represented by a combination of sign, line, and clef-octave-change elements. The optional number attribute refers to staff numbers within the part. A value of 1 is assumed if not present.

Sometimes clefs are added to the staff in non-standard line positions, either to indicate cue passages, or when there are multiple clefs present simultaneously on one staff. In this situation, the additional attribute is set to "yes" and the line value is ignored. The size attribute is used for clefs where the additional attribute is "yes". It is typically used to indicate cue clefs.
source <xs:complexType name="clef">
 
<xs:annotation>
   
<xs:documentation>Clefs are represented by a combination of sign, line, and clef-octave-change elements. The optional number attribute refers to staff numbers within the part. A value of 1 is assumed if not present.

Sometimes clefs are added to the staff in non-standard line positions, either to indicate cue passages, or when there are multiple clefs present simultaneously on one staff. In this situation, the additional attribute is set to "yes" and the line value is ignored. The size attribute is used for clefs where the additional attribute is "yes". It is typically used to indicate cue clefs.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="sign" type="clef-sign">
     
<xs:annotation>
       
<xs:documentation>The sign element represents the clef symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="line" type="staff-line" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>Line numbers are counted from the bottom of the staff. Standard values are 2 for the G sign (treble clef), 4 for the F sign (bass clef), 3 for the C sign (alto clef) and 5 for TAB (on a 6-line staff).</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="clef-octave-change" type="xs:integer" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The clef-octave-change element is used for transposing clefs. A treble clef for tenors would have a value of -1.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
 
<xs:attribute name="number" type="staff-number"/>
 
<xs:attribute name="additional" type="yes-no"/>
 
<xs:attribute name="size" type="symbol-size"/>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="print-object"/>
</xs:complexType>

attribute clef/@number
type staff-number
properties
isRef 0
source <xs:attribute name="number" type="staff-number"/>

attribute clef/@additional
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="additional" type="yes-no"/>

attribute clef/@size
type symbol-size
properties
isRef 0
facets
enumeration full
enumeration cue
enumeration large
source <xs:attribute name="size" type="symbol-size"/>

element clef/sign
diagram
type clef-sign
properties
isRef 0
content simple
facets
enumeration G
enumeration F
enumeration percussion
annotation
documentation
The sign element represents the clef symbol.
source <xs:element name="sign" type="clef-sign">
 
<xs:annotation>
   
<xs:documentation>The sign element represents the clef symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element clef/line
diagram
type staff-line
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
Line numbers are counted from the bottom of the staff. Standard values are 2 for the G sign (treble clef), 4 for the F sign (bass clef), 3 for the C sign (alto clef) and 5 for TAB (on a 6-line staff).
source <xs:element name="line" type="staff-line" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>Line numbers are counted from the bottom of the staff. Standard values are 2 for the G sign (treble clef), 4 for the F sign (bass clef), 3 for the C sign (alto clef) and 5 for TAB (on a 6-line staff).</xs:documentation>
 
</xs:annotation>
</xs:element>

element clef/clef-octave-change
diagram
type xs:integer
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The clef-octave-change element is used for transposing clefs. A treble clef for tenors would have a value of -1.
source <xs:element name="clef-octave-change" type="xs:integer" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The clef-octave-change element is used for transposing clefs. A treble clef for tenors would have a value of -1.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType credit
diagram
children link bookmark credit-image credit-words link bookmark credit-words
used by
element score-header/credit
attributes
Name  Type  Use  Default  Fixed  annotation
pagexs:positiveInteger      
annotation
documentation
The credit type represents the appearance of the title, composer, arranger, lyricist, copyright, dedication, and other text and graphics that commonly appears on the first page of a score. The credit-words and credit-image elements are similar to the words and image elements for directions. However, since the credit is not part of a measure, the default-x and default-y attributes adjust the origin relative to the bottom left-hand corner of the first page. The enclosure for credit-words is none by default.

By default, a series of credit-words elements within a single credit element follow one another in sequence visually. Non-positional formatting attributes are carried over from the previous element by default.

The page attribute for the credit element, new in Version 2.0, specifies the page number where the credit should appear. This is an integer value that starts with 1 for the first page. Its value is 1 by default. Since credits occur before the music, these page numbers do not refer to the page numbering specified by the print element's page-number attribute.
source <xs:complexType name="credit">
 
<xs:annotation>
   
<xs:documentation>The credit type represents the appearance of the title, composer, arranger, lyricist, copyright, dedication, and other text and graphics that commonly appears on the first page of a score. The credit-words and credit-image elements are similar to the words and image elements for directions. However, since the credit is not part of a measure, the default-x and default-y attributes adjust the origin relative to the bottom left-hand corner of the first page. The enclosure for credit-words is none by default.

By default, a series of credit-words elements within a single credit element follow one another in sequence visually. Non-positional formatting attributes are carried over from the previous element by default.

The page attribute for the credit element, new in Version 2.0, specifies the page number where the credit should appear. This is an integer value that starts with 1 for the first page. Its value is 1 by default. Since credits occur before the music, these page numbers do not refer to the page numbering specified by the print element's page-number attribute.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="link" type="link" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="bookmark" type="bookmark" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:choice>
     
<xs:element name="credit-image" type="image"/>
     
<xs:sequence>
       
<xs:element name="credit-words" type="formatted-text"/>
       
<xs:sequence minOccurs="0" maxOccurs="unbounded">
         
<xs:element name="link" type="link" minOccurs="0" maxOccurs="unbounded"/>
         
<xs:element name="bookmark" type="bookmark" minOccurs="0" maxOccurs="unbounded"/>
         
<xs:element name="credit-words" type="formatted-text"/>
       
</xs:sequence>
     
</xs:sequence>
   
</xs:choice>
 
</xs:sequence>
 
<xs:attribute name="page" type="xs:positiveInteger"/>
</xs:complexType>

attribute credit/@page
type xs:positiveInteger
properties
isRef 0
source <xs:attribute name="page" type="xs:positiveInteger"/>

element credit/link
diagram
type link
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
source <xs:element name="link" type="link" minOccurs="0" maxOccurs="unbounded"/>

element credit/bookmark
diagram
type bookmark
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
source <xs:element name="bookmark" type="bookmark" minOccurs="0" maxOccurs="unbounded"/>

element credit/credit-image
diagram
type image
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
sourcexs:anyURIrequired      
typexs:tokenrequired      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
halignleft-center-right      
valignvalign-image      
source <xs:element name="credit-image" type="image"/>

element credit/credit-words
diagram
type formatted-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
source <xs:element name="credit-words" type="formatted-text"/>

element credit/link
diagram
type link
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
source <xs:element name="link" type="link" minOccurs="0" maxOccurs="unbounded"/>

element credit/bookmark
diagram
type bookmark
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
source <xs:element name="bookmark" type="bookmark" minOccurs="0" maxOccurs="unbounded"/>

element credit/credit-words
diagram
type formatted-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
source <xs:element name="credit-words" type="formatted-text"/>

complexType dashes
diagram
used by
element direction-type/dashes
complexType dashes
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
annotation
documentation
The dashes type represents dashes, used for instance with cresc. and dim. marks.
source <xs:complexType name="dashes">
 
<xs:annotation>
   
<xs:documentation>The dashes type represents dashes, used for instance with cresc. and dim. marks.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute dashes/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute dashes/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

complexType defaults
diagram
children scaling page-layout system-layout staff-layout appearance music-font word-font lyric-font lyric-language
used by
element score-header/defaults
annotation
documentation
The defaults type specifies score-wide defaults for scaling, layout, and appearance.
source <xs:complexType name="defaults">
 
<xs:annotation>
   
<xs:documentation>The defaults type specifies score-wide defaults for scaling, layout, and appearance.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="scaling" type="scaling" minOccurs="0"/>
   
<xs:group ref="layout"/>
   
<xs:element name="appearance" type="appearance" minOccurs="0"/>
   
<xs:element name="music-font" type="empty-font" minOccurs="0"/>
   
<xs:element name="word-font" type="empty-font" minOccurs="0"/>
   
<xs:element name="lyric-font" type="lyric-font" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="lyric-language" type="lyric-language" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:complexType>

element defaults/scaling
diagram
type scaling
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children millimeters tenths
source <xs:element name="scaling" type="scaling" minOccurs="0"/>

element defaults/appearance
diagram
type appearance
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children line-width note-size other-appearance hyphen-distance
source <xs:element name="appearance" type="appearance" minOccurs="0"/>

element defaults/music-font
diagram
type empty-font
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
source <xs:element name="music-font" type="empty-font" minOccurs="0"/>

element defaults/word-font
diagram
type empty-font
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
source <xs:element name="word-font" type="empty-font" minOccurs="0"/>

element defaults/lyric-font
diagram
type lyric-font
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:NMTOKEN      
namexs:token      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
source <xs:element name="lyric-font" type="lyric-font" minOccurs="0" maxOccurs="unbounded"/>

element defaults/lyric-language
diagram
type lyric-language
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:NMTOKEN      
namexs:token      
langrequired      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
source <xs:element name="lyric-language" type="lyric-language" minOccurs="0" maxOccurs="unbounded"/>

complexType degree
diagram
children degree-value degree-alter degree-type
used by
element harmony-chord/degree
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
annotation
documentation
The degree type is used to add, alter, or subtract individual notes in the chord. The print-object attribute can be used to keep the degree from printing separately when it has already taken into account in the text attribute of the kind element. The degree-value and degree-type text attributes specify how the value and type of the degree should be displayed.

A harmony of kind "other" can be spelled explicitly by using a series of degree elements together with a root.
source <xs:complexType name="degree">
 
<xs:annotation>
   
<xs:documentation>The degree type is used to add, alter, or subtract individual notes in the chord. The print-object attribute can be used to keep the degree from printing separately when it has already taken into account in the text attribute of the kind element. The degree-value and degree-type text attributes specify how the value and type of the degree should be displayed.

A harmony of kind "other" can be spelled explicitly by using a series of degree elements together with a root.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="degree-value" type="degree-value"/>
   
<xs:element name="degree-alter" type="degree-alter"/>
   
<xs:element name="degree-type" type="degree-type"/>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-object"/>
</xs:complexType>

element degree/degree-value
diagram
type degree-value
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="degree-value" type="degree-value"/>

element degree/degree-alter
diagram
type degree-alter
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
plus-minusyes-no      
source <xs:element name="degree-alter" type="degree-alter"/>

element degree/degree-type
diagram
type degree-type
properties
isRef 0
content complex
facets
enumeration add
enumeration alter
enumeration subtract
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="degree-type" type="degree-type"/>

complexType degree-alter
diagram
type extension of semitones
properties
base semitones
used by
element degree/degree-alter
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
plus-minusyes-no      
annotation
documentation
The degree-alter type represents the chromatic alteration for the current degree. If the degree-type value is alter or subtract, the degree-alter value is relative to the degree already in the chord based on its kind element. If the degree-type value is add, the degree-alter is relative to a dominant chord (major and perfect intervals except for a minor seventh). The plus-minus attribute is used to indicate if plus and minus symbols should be used instead of sharp and flat symbols to display the degree alteration; it is no by default.
source <xs:complexType name="degree-alter">
 
<xs:annotation>
   
<xs:documentation>The degree-alter type represents the chromatic alteration for the current degree. If the degree-type value is alter or subtract, the degree-alter value is relative to the degree already in the chord based on its kind element. If the degree-type value is add, the degree-alter is relative to a dominant chord (major and perfect intervals except for a minor seventh). The plus-minus attribute is used to indicate if plus and minus symbols should be used instead of sharp and flat symbols to display the degree alteration; it is no by default.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="semitones">
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attribute name="plus-minus" type="yes-no"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute degree-alter/@plus-minus
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="plus-minus" type="yes-no"/>

complexType degree-type
diagram
type extension of degree-type-value
properties
base degree-type-value
used by
element degree/degree-type
facets
enumeration add
enumeration alter
enumeration subtract
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The degree-type type indicates if this degree is an addition, alteration, or subtraction relative to the kind of the current chord. The value of the degree-type element affects the interpretation of the value of the degree-alter element. The text attribute specifies how the type of the degree should be displayed.
source <xs:complexType name="degree-type">
 
<xs:annotation>
   
<xs:documentation>The degree-type type indicates if this degree is an addition, alteration, or subtraction relative to the kind of the current chord. The value of the degree-type element affects the interpretation of the value of the degree-alter element. The text attribute specifies how the type of the degree should be displayed.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="degree-type-value">
     
<xs:attribute name="text" type="xs:token"/>
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute degree-type/@text
type xs:token
properties
isRef 0
source <xs:attribute name="text" type="xs:token"/>

complexType degree-value
diagram
type extension of xs:positiveInteger
properties
base xs:positiveInteger
used by
element degree/degree-value
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The content of the degree-value type is a number indicating the degree of the chord (1 for the root, 3 for third, etc). The text attribute specifies how the type of the degree should be displayed.
source <xs:complexType name="degree-value">
 
<xs:annotation>
   
<xs:documentation>The content of the degree-value type is a number indicating the degree of the chord (1 for the root, 3 for third, etc). The text attribute specifies how the type of the degree should be displayed.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:positiveInteger">
     
<xs:attribute name="text" type="xs:token"/>
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute degree-value/@text
type xs:token
properties
isRef 0
source <xs:attribute name="text" type="xs:token"/>

complexType direction
diagram
children direction-type offset footnote level voice staff sound
used by
element music-data/direction
attributes
Name  Type  Use  Default  Fixed  annotation
placementabove-below      
directiveyes-no      
annotation
documentation
A direction is a musical indication that is not attached to a specific note. Two or more may be combined to indicate starts and stops of wedges, dashes, etc.

By default, a series of direction-type elements and a series of child elements of a direction-type within a single direction element follow one another in sequence visually. For a series of direction-type children, non-positional formatting attributes are carried over from the previous element by default.
source <xs:complexType name="direction">
 
<xs:annotation>
   
<xs:documentation>A direction is a musical indication that is not attached to a specific note. Two or more may be combined to indicate starts and stops of wedges, dashes, etc.

By default, a series of direction-type elements and a series of child elements of a direction-type within a single direction element follow one another in sequence visually. For a series of direction-type children, non-positional formatting attributes are carried over from the previous element by default.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="direction-type" type="direction-type" maxOccurs="unbounded"/>
   
<xs:element name="offset" type="offset" minOccurs="0"/>
   
<xs:group ref="editorial-voice-direction"/>
   
<xs:group ref="staff" minOccurs="0"/>
   
<xs:element name="sound" type="sound" minOccurs="0"/>
 
</xs:sequence>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="directive"/>
</xs:complexType>

element direction/direction-type
diagram
type direction-type
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children rehearsal segno words coda wedge dynamics dashes bracket pedal metronome octave-shift image other-direction
source <xs:element name="direction-type" type="direction-type" maxOccurs="unbounded"/>

element direction/offset
diagram
type offset
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
fractionDigits 0
attributes
Name  Type  Use  Default  Fixed  annotation
soundyes-no      
source <xs:element name="offset" type="offset" minOccurs="0"/>

element direction/sound
diagram
type sound
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children midi-instrument offset
attributes
Name  Type  Use  Default  Fixed  annotation
panrotation-degrees      
elevationrotation-degrees      
temponon-negative-decimal      
dynamicsnon-negative-decimal      
dacapoyes-no      
segnoxs:token      
dalsegnoxs:token      
codaxs:token      
tocodaxs:token      
divisionsdivisions      
forward-repeatyes-no      
finexs:token      
time-onlyxs:token      
pizzicatoyes-no      
damper-pedalyes-no-number      
soft-pedalyes-no-number      
sostenuto-pedalyes-no-number      
source <xs:element name="sound" type="sound" minOccurs="0"/>

complexType direction-type
diagram
children rehearsal segno words coda wedge dynamics dashes bracket pedal metronome octave-shift harp-pedals damp damp-all eyeglasses scordatura image accordion-registration other-direction
used by
element direction/direction-type
complexType direction-type
annotation
documentation
Textual direction types may have more than 1 component due to multiple fonts. The dynamics element may also be used in the notations element. Attribute groups related to print suggestions apply to the individual direction-type, not to the overall direction.
source <xs:complexType name="direction-type">
 
<xs:annotation>
   
<xs:documentation>Textual direction types may have more than 1 component due to multiple fonts. The dynamics element may also be used in the notations element. Attribute groups related to print suggestions apply to the individual direction-type, not to the overall direction.</xs:documentation>
 
</xs:annotation>
 
<xs:choice>
   
<xs:element name="rehearsal" type="rehearsal" maxOccurs="unbounded"/>
   
<xs:element name="segno" type="empty-print-style" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The segno element is the visual indicator of a segno sign. A sound element is needed to guide playback applications reliably.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="words" type="formatted-text" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The words element specifies a standard text direction. Left justification is assumed if not specified. Language is Italian ("it") by default. Enclosure is none by default.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="coda" type="empty-print-style" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The coda element is the visual indicator of a coda sign. A sound element is needed to guide playback applications reliably.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="wedge" type="wedge"/>
   
<xs:element name="dynamics" type="dynamics" maxOccurs="unbounded"/>
   
<xs:element name="dashes" type="dashes"/>
   
<xs:element name="bracket" type="bracket"/>
   
<xs:element name="pedal" type="pedal"/>
   
<xs:element name="metronome" type="metronome"/>
   
<xs:element name="octave-shift" type="octave-shift"/>
   
<xs:element name="harp-pedals" type="harp-pedals"/>
   
<xs:element name="damp" type="empty-print-style">
     
<xs:annotation>
       
<xs:documentation>The damp element specifies a harp damping mark.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="damp-all" type="empty-print-style">
     
<xs:annotation>
       
<xs:documentation>The damp-all element specifies a harp damping mark for all strings.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="eyeglasses" type="empty-print-style">
     
<xs:annotation>
       
<xs:documentation>The eyeglasses element specifies the eyeglasses symbol, common in commercial music.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="scordatura" type="scordatura"/>
   
<xs:element name="image" type="image"/>
   
<xs:element name="accordion-registration" type="accordion-registration"/>
   
<xs:element name="other-direction" type="other-direction"/>
 
</xs:choice>
</xs:complexType>

element direction-type/rehearsal
diagram
type rehearsal
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
rotationrotation-degrees      
enclosurerehearsal-enclosure      
source <xs:element name="rehearsal" type="rehearsal" maxOccurs="unbounded"/>

element direction-type/segno
diagram
type empty-print-style
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The segno element is the visual indicator of a segno sign. A sound element is needed to guide playback applications reliably.
source <xs:element name="segno" type="empty-print-style" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The segno element is the visual indicator of a segno sign. A sound element is needed to guide playback applications reliably.</xs:documentation>
 
</xs:annotation>
</xs:element>

element direction-type/words
diagram
type formatted-text
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
annotation
documentation
The words element specifies a standard text direction. Left justification is assumed if not specified. Language is Italian ("it") by default. Enclosure is none by default.
source <xs:element name="words" type="formatted-text" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The words element specifies a standard text direction. Left justification is assumed if not specified. Language is Italian ("it") by default. Enclosure is none by default.</xs:documentation>
 
</xs:annotation>
</xs:element>

element direction-type/coda
diagram
type empty-print-style
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The coda element is the visual indicator of a coda sign. A sound element is needed to guide playback applications reliably.
source <xs:element name="coda" type="empty-print-style" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The coda element is the visual indicator of a coda sign. A sound element is needed to guide playback applications reliably.</xs:documentation>
 
</xs:annotation>
</xs:element>

element direction-type/wedge
diagram
type wedge
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typewedge-typerequired      
numbernumber-level      
spreadtenths      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
source <xs:element name="wedge" type="wedge"/>

element direction-type/dynamics
diagram
type dynamics
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children p pp ppp pppp ppppp pppppp f ff fff ffff fffff ffffff mp mf sf sfp sfpp fp rf rfz sfz sffz fz
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="dynamics" type="dynamics" maxOccurs="unbounded"/>

element direction-type/dashes
diagram
type dashes
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="dashes" type="dashes"/>

element direction-type/bracket
diagram
type bracket
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
line-endline-endrequired      
end-lengthtenths      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="bracket" type="bracket"/>

element direction-type/pedal
diagram
type pedal
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-changerequired      
lineyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="pedal" type="pedal"/>

element direction-type/metronome
diagram
type metronome
properties
isRef 0
content complex
children beat-unit beat-unit-dot per-minute metronome-note metronome-relation metronome-note
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
parenthesesyes-no      
source <xs:element name="metronome" type="metronome"/>

element direction-type/octave-shift
diagram
type octave-shift
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typeup-down-stoprequired      
numbernumber-level      
sizexs:positiveInteger  8    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="octave-shift" type="octave-shift"/>

element direction-type/harp-pedals
diagram
type harp-pedals
properties
isRef 0
content complex
children pedal-tuning
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="harp-pedals" type="harp-pedals"/>

element direction-type/damp
diagram
type empty-print-style
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The damp element specifies a harp damping mark.
source <xs:element name="damp" type="empty-print-style">
 
<xs:annotation>
   
<xs:documentation>The damp element specifies a harp damping mark.</xs:documentation>
 
</xs:annotation>
</xs:element>

element direction-type/damp-all
diagram
type empty-print-style
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The damp-all element specifies a harp damping mark for all strings.
source <xs:element name="damp-all" type="empty-print-style">
 
<xs:annotation>
   
<xs:documentation>The damp-all element specifies a harp damping mark for all strings.</xs:documentation>
 
</xs:annotation>
</xs:element>

element direction-type/eyeglasses
diagram
type empty-print-style
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The eyeglasses element specifies the eyeglasses symbol, common in commercial music.
source <xs:element name="eyeglasses" type="empty-print-style">
 
<xs:annotation>
   
<xs:documentation>The eyeglasses element specifies the eyeglasses symbol, common in commercial music.</xs:documentation>
 
</xs:annotation>
</xs:element>

element direction-type/scordatura
diagram
type scordatura
properties
isRef 0
content complex
children accord
source <xs:element name="scordatura" type="scordatura"/>

element direction-type/image
diagram
type image
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
sourcexs:anyURIrequired      
typexs:tokenrequired      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
halignleft-center-right      
valignvalign-image      
source <xs:element name="image" type="image"/>

element direction-type/accordion-registration
diagram
type accordion-registration
properties
isRef 0
content complex
children accordion-high accordion-middle accordion-low
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="accordion-registration" type="accordion-registration"/>

element direction-type/other-direction
diagram
type other-direction
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="other-direction" type="other-direction"/>

complexType display-step-octave
diagram
children display-step display-octave
used by
elements full-note/rest full-note/unpitched
annotation
documentation
The display-step-octave type contains the sequence of elements used by both the rest and unpitched elements. This group is used to place rests and unpitched elements on the staff without implying that these elements have pitch. Positioning follows the current clef. If percussion clef is used, the display-step and display-octave elements are interpreted as if in treble clef, with a G in octave 4 on line 2. If not present, the note is placed on the middle line of the staff, generally used for one-line staffs.
source <xs:complexType name="display-step-octave">
 
<xs:annotation>
   
<xs:documentation>The display-step-octave type contains the sequence of elements used by both the rest and unpitched elements. This group is used to place rests and unpitched elements on the staff without implying that these elements have pitch. Positioning follows the current clef. If percussion clef is used, the display-step and display-octave elements are interpreted as if in treble clef, with a G in octave 4 on line 2. If not present, the note is placed on the middle line of the staff, generally used for one-line staffs.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence minOccurs="0">
   
<xs:element name="display-step" type="step"/>
   
<xs:element name="display-octave" type="octave"/>
 
</xs:sequence>
</xs:complexType>

element display-step-octave/display-step
diagram
type step
properties
isRef 0
content simple
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
source <xs:element name="display-step" type="step"/>

element display-step-octave/display-octave
diagram
type octave
properties
isRef 0
content simple
facets
minInclusive 0
maxInclusive 9
source <xs:element name="display-octave" type="octave"/>

complexType dynamics
diagram
children p pp ppp pppp ppppp pppppp f ff fff ffff fffff ffffff mp mf sf sfp sfpp fp rf rfz sfz sffz fz other-dynamics
used by
elements notations/dynamics direction-type/dynamics
complexType dynamics
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
Dynamics can be associated either with a note or a general musical direction. To avoid inconsistencies between and amongst the letter abbreviations for dynamics (what is sf vs. sfz, standing alone or with a trailing dynamic that is not always piano), we use the actual letters as the names of these dynamic elements. The other-dynamics element allows other dynamic marks that are not covered here, but many of those should perhaps be included in a more general musical direction element. Dynamics elements may also be combined to create marks not covered by a single element, such as sfmp.

These letter dynamic symbols are separated from crescendo, decrescendo, and wedge indications. Dynamic representation is inconsistent in scores. Many things are assumed by the composer and left out, such as returns to original dynamics. Systematic representations are quite complex: for example, Humdrum has at least 3 representation formats related to dynamics. The MusicXML format captures what is in the score, but does not try to be optimal for analysis or synthesis of dynamics.
source <xs:complexType name="dynamics">
 
<xs:annotation>
   
<xs:documentation>Dynamics can be associated either with a note or a general musical direction. To avoid inconsistencies between and amongst the letter abbreviations for dynamics (what is sf vs. sfz, standing alone or with a trailing dynamic that is not always piano), we use the actual letters as the names of these dynamic elements. The other-dynamics element allows other dynamic marks that are not covered here, but many of those should perhaps be included in a more general musical direction element. Dynamics elements may also be combined to create marks not covered by a single element, such as sfmp.

These letter dynamic symbols are separated from crescendo, decrescendo, and wedge indications. Dynamic representation is inconsistent in scores. Many things are assumed by the composer and left out, such as returns to original dynamics. Systematic representations are quite complex: for example, Humdrum has at least 3 representation formats related to dynamics. The MusicXML format captures what is in the score, but does not try to be optimal for analysis or synthesis of dynamics.
</xs:documentation>
 
</xs:annotation>
 
<xs:choice minOccurs="0" maxOccurs="unbounded">
   
<xs:element name="p" type="empty"/>
   
<xs:element name="pp" type="empty"/>
   
<xs:element name="ppp" type="empty"/>
   
<xs:element name="pppp" type="empty"/>
   
<xs:element name="ppppp" type="empty"/>
   
<xs:element name="pppppp" type="empty"/>
   
<xs:element name="f" type="empty"/>
   
<xs:element name="ff" type="empty"/>
   
<xs:element name="fff" type="empty"/>
   
<xs:element name="ffff" type="empty"/>
   
<xs:element name="fffff" type="empty"/>
   
<xs:element name="ffffff" type="empty"/>
   
<xs:element name="mp" type="empty"/>
   
<xs:element name="mf" type="empty"/>
   
<xs:element name="sf" type="empty"/>
   
<xs:element name="sfp" type="empty"/>
   
<xs:element name="sfpp" type="empty"/>
   
<xs:element name="fp" type="empty"/>
   
<xs:element name="rf" type="empty"/>
   
<xs:element name="rfz" type="empty"/>
   
<xs:element name="sfz" type="empty"/>
   
<xs:element name="sffz" type="empty"/>
   
<xs:element name="fz" type="empty"/>
   
<xs:element name="other-dynamics" type="xs:string"/>
 
</xs:choice>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="placement"/>
</xs:complexType>

element dynamics/p
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="p" type="empty"/>

element dynamics/pp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="pp" type="empty"/>

element dynamics/ppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ppp" type="empty"/>

element dynamics/pppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="pppp" type="empty"/>

element dynamics/ppppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ppppp" type="empty"/>

element dynamics/pppppp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="pppppp" type="empty"/>

element dynamics/f
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="f" type="empty"/>

element dynamics/ff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ff" type="empty"/>

element dynamics/fff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fff" type="empty"/>

element dynamics/ffff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ffff" type="empty"/>

element dynamics/fffff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fffff" type="empty"/>

element dynamics/ffffff
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="ffffff" type="empty"/>

element dynamics/mp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="mp" type="empty"/>

element dynamics/mf
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="mf" type="empty"/>

element dynamics/sf
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sf" type="empty"/>

element dynamics/sfp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sfp" type="empty"/>

element dynamics/sfpp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sfpp" type="empty"/>

element dynamics/fp
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fp" type="empty"/>

element dynamics/rf
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="rf" type="empty"/>

element dynamics/rfz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="rfz" type="empty"/>

element dynamics/sfz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sfz" type="empty"/>

element dynamics/sffz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="sffz" type="empty"/>

element dynamics/fz
diagram
type empty
properties
isRef 0
content complex
source <xs:element name="fz" type="empty"/>

element dynamics/other-dynamics
diagram
type xs:string
properties
isRef 0
content simple
source <xs:element name="other-dynamics" type="xs:string"/>

complexType elision
diagram
type extension of xs:string
properties
base xs:string
used by
element lyric/elision
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
In Version 2.0, the content of the elision type is used to specify the symbol used to display the elision. Common values are a no-break space (Unicode 00A0), an underscore (Unicode 005F), or an undertie (Unicode 203F).
source <xs:complexType name="elision">
 
<xs:annotation>
   
<xs:documentation>In Version 2.0, the content of the elision type is used to specify the symbol used to display the elision. Common values are a no-break space (Unicode 00A0), an underscore (Unicode 005F), or an undertie (Unicode 203F).</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="font"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType empty
diagram
used by
elements accordion-registration/accordion-high accordion-registration/accordion-low harmonic/artificial harmonic/base-pitch beat-unit/beat-unit-dot full-note/chord note/cue lyric/end-line lyric/end-paragraph dynamics/f dynamics/ff dynamics/fff dynamics/ffff dynamics/fffff dynamics/ffffff dynamics/fp dynamics/fz part-group/group-time lyric/humming lyric/laughing metronome-note/metronome-dot dynamics/mf dynamics/mp harmonic/natural time-modification/normal-dot dynamics/p dynamics/pp dynamics/ppp dynamics/pppp dynamics/ppppp dynamics/pppppp bend/pre-bend bend/release dynamics/rf dynamics/rfz time/senza-misura dynamics/sf dynamics/sffz dynamics/sfp dynamics/sfpp dynamics/sfz slash/slash-dot score-instrument/solo harmonic/sounding-pitch harmonic/touching-pitch
annotation
documentation
The empty type represents an empty element with no attributes.
source <xs:complexType name="empty">
 
<xs:annotation>
   
<xs:documentation>The empty type represents an empty element with no attributes.</xs:documentation>
 
</xs:annotation>
</xs:complexType>

complexType empty-font
diagram
used by
elements defaults/music-font defaults/word-font
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
annotation
documentation
The empty-font type represents an empty element with font attributes.
source <xs:complexType name="empty-font">
 
<xs:annotation>
   
<xs:documentation>The empty-font type represents an empty element with font attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="font"/>
</xs:complexType>

complexType empty-line
diagram
used by
elements articulations/doit articulations/falloff articulations/plop articulations/scoop
complexType empty-line
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The empty-line type represents an empty element with line-shape, line-type, print-style and placement attributes.
source <xs:complexType name="empty-line">
 
<xs:annotation>
   
<xs:documentation>The empty-line type represents an empty element with line-shape, line-type, print-style and placement attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="line-shape"/>
 
<xs:attributeGroup ref="line-type"/>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="placement"/>
</xs:complexType>

complexType empty-placement
diagram
used by
elements articulations/accent articulations/breath-mark articulations/caesura articulations/detached-legato note/dot articulations/spiccato articulations/staccatissimo articulations/staccato articulations/stress articulations/tenuto articulations/unstress
complexTypes heel-toe strong-accent
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The empty-placement type represents an empty element with print-style and placement attributes.
source <xs:complexType name="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The empty-placement type represents an empty element with print-style and placement attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="placement"/>
</xs:complexType>

complexType empty-print-style
diagram
used by
elements direction-type/coda direction-type/segno
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The empty-print-style type represents an empty element with print-style attributes.
source <xs:complexType name="empty-print-style">
 
<xs:annotation>
   
<xs:documentation>The empty-print-style type represents an empty element with print-style attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="print-style"/>
</xs:complexType>

complexType empty-trill-sound
diagram
used by
elements ornaments/delayed-turn ornaments/inverted-turn ornaments/shake ornaments/trill-mark ornaments/turn
complexType mordent
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
The empty-trill-sound type represents an empty element with print-style, placement, and trill-sound attributes.
source <xs:complexType name="empty-trill-sound">
 
<xs:annotation>
   
<xs:documentation>The empty-trill-sound type represents an empty element with print-style, placement, and trill-sound attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="trill-sound"/>
</xs:complexType>

complexType encoding
diagram
children encoding-date encoder software encoding-description supports
used by
element identification/encoding
annotation
documentation
The encoding element contains information about who did the digital encoding, when, with what software, and in what aspects. Standard type values for the encoder element are music, words, and arrangement, but other types may be used. The type attribute is only needed when there are multiple encoder elements.
source <xs:complexType name="encoding">
 
<xs:annotation>
   
<xs:documentation>The encoding element contains information about who did the digital encoding, when, with what software, and in what aspects. Standard type values for the encoder element are music, words, and arrangement, but other types may be used. The type attribute is only needed when there are multiple encoder elements.</xs:documentation>
 
</xs:annotation>
 
<xs:choice minOccurs="0" maxOccurs="unbounded">
   
<xs:element name="encoding-date" type="yyyy-mm-dd"/>
   
<xs:element name="encoder" type="typed-text"/>
   
<xs:element name="software" type="xs:string"/>
   
<xs:element name="encoding-description" type="xs:string"/>
   
<xs:element name="supports" type="supports"/>
 
</xs:choice>
</xs:complexType>

element encoding/encoding-date
diagram
type yyyy-mm-dd
properties
isRef 0
content simple
facets
pattern [^:Z]*
source <xs:element name="encoding-date" type="yyyy-mm-dd"/>

element encoding/encoder
diagram
type typed-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:token      
source <xs:element name="encoder" type="typed-text"/>

element encoding/software
diagram
type xs:string
properties
isRef 0
content simple
source <xs:element name="software" type="xs:string"/>

element encoding/encoding-description
diagram
type xs:string
properties
isRef 0
content simple
source <xs:element name="encoding-description" type="xs:string"/>

element encoding/supports
diagram
type supports
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typeyes-norequired      
elementxs:NMTOKENrequired      
attributexs:NMTOKEN      
valuexs:token      
source <xs:element name="supports" type="supports"/>

complexType ending
diagram
type extension of xs:string
properties
base xs:string
used by
element barline/ending
attributes
Name  Type  Use  Default  Fixed  annotation
numberending-numberrequired      
typestart-stop-discontinuerequired      
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
end-lengthtenths      
text-xtenths      
text-ytenths      
annotation
documentation
The ending type represents multiple (e.g. first and second) endings. Typically, the start type is associated with the left barline of the first measure in an ending. The stop and discontinue types are associated with the right barline of the last measure in an ending. Stop is used when the ending mark concludes with a downward jog, as is typical for first endings. Discontinue is used when there is no downward jog, as is typical for second endings that do not conclude a piece. The length of the jog can be specified using the end-length attribute. The text-x and text-y attributes are offsets that specify where the baseline of the start of the ending text appears, relative to the start of the ending line.

The number attribute reflects the numeric values of what is under the ending line. Single endings such as "1" or comma-separated multiple endings such as "1,2" may be used. The ending element text is used when the text displayed in the ending is different than what appears in the number attribute. The print-object element is used to indicate when an ending is present but not printed, as is often the case for many parts in a full score.
source <xs:complexType name="ending">
 
<xs:annotation>
   
<xs:documentation>The ending type represents multiple (e.g. first and second) endings. Typically, the start type is associated with the left barline of the first measure in an ending. The stop and discontinue types are associated with the right barline of the last measure in an ending. Stop is used when the ending mark concludes with a downward jog, as is typical for first endings. Discontinue is used when there is no downward jog, as is typical for second endings that do not conclude a piece. The length of the jog can be specified using the end-length attribute. The text-x and text-y attributes are offsets that specify where the baseline of the start of the ending text appears, relative to the start of the ending line.

The number attribute reflects the numeric values of what is under the ending line. Single endings such as "1" or comma-separated multiple endings such as "1,2" may be used. The ending element text is used when the text displayed in the ending is different than what appears in the number attribute. The print-object element is used to indicate when an ending is present but not printed, as is often the case for many parts in a full score.
</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="number" type="ending-number" use="required"/>
     
<xs:attribute name="type" type="start-stop-discontinue" use="required"/>
     
<xs:attributeGroup ref="print-object"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attribute name="end-length" type="tenths"/>
     
<xs:attribute name="text-x" type="tenths"/>
     
<xs:attribute name="text-y" type="tenths"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute ending/@number
type ending-number
properties
isRef 0
use required
facets
pattern [1-9][0-9]*(, ?[1-9][0-9]*)*
source <xs:attribute name="number" type="ending-number" use="required"/>

attribute ending/@type
type start-stop-discontinue
properties
isRef 0
use required
facets
enumeration start
enumeration stop
enumeration discontinue
source <xs:attribute name="type" type="start-stop-discontinue" use="required"/>

attribute ending/@end-length
type tenths
properties
isRef 0
source <xs:attribute name="end-length" type="tenths"/>

attribute ending/@text-x
type tenths
properties
isRef 0
source <xs:attribute name="text-x" type="tenths"/>

attribute ending/@text-y
type tenths
properties
isRef 0
source <xs:attribute name="text-y" type="tenths"/>

complexType extend
diagram
used by
elements figure/extend lyric/extend lyric/extend
complexType extend
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The extend type represents word extensions for lyrics.
source <xs:complexType name="extend">
 
<xs:annotation>
   
<xs:documentation>The extend type represents word extensions for lyrics.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="font"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

complexType feature
diagram
type extension of xs:string
properties
base xs:string
used by
element grouping/feature
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:token      
annotation
documentation
The feature type is a part of the grouping element used for musical analysis. The type attribute represents the type of the feature and the element content represents its value. This type is flexible to allow for different analyses.
source <xs:complexType name="feature">
 
<xs:annotation>
   
<xs:documentation>The feature type is a part of the grouping element used for musical analysis. The type attribute represents the type of the feature and the element content represents its value. This type is flexible to allow for different analyses.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="type" type="xs:token"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute feature/@type
type xs:token
properties
isRef 0
source <xs:attribute name="type" type="xs:token"/>

complexType fermata
diagram
type extension of fermata-shape
properties
base fermata-shape
used by
element notations/fermata
facets
enumeration normal
enumeration angled
enumeration square
enumeration 
attributes
Name  Type  Use  Default  Fixed  annotation
typeupright-inverted      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The fermata text content represents the shape of the fermata sign. An empty fermata element represents a normal fermata. The fermata type is upright if not specified.
source <xs:complexType name="fermata">
 
<xs:annotation>
   
<xs:documentation>The fermata text content represents the shape of the fermata sign. An empty fermata element represents a normal fermata. The fermata type is upright if not specified.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="fermata-shape">
     
<xs:attribute name="type" type="upright-inverted"/>
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute fermata/@type
type upright-inverted
properties
isRef 0
facets
enumeration upright
enumeration inverted
source <xs:attribute name="type" type="upright-inverted"/>

complexType figure
diagram
children prefix figure-number suffix extend
used by
element figured-bass/figure
annotation
documentation
The figure type represents a single figure within a figured-bass element.
source <xs:complexType name="figure">
 
<xs:annotation>
   
<xs:documentation>The figure type represents a single figure within a figured-bass element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="prefix" type="style-text" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>Values for the prefix element include the accidental values sharp, flat, natural, double-sharp, flat-flat, and sharp-sharp. The prefix element may contain additional values for symbols specific to particular figured bass styles.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="figure-number" type="style-text" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>A figure-number is a number. Overstrikes of the figure number are represented in the suffix element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="suffix" type="style-text" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>Values for the suffix element include the accidental values sharp, flat, natural, double-sharp, flat-flat, and sharp-sharp. Suffixes include both symbols that come after the figure number and those that overstrike the figure number. The suffix value slash is used for slashed numbers indicating chromatic alteration. The orientation and display of the slash usually depends on the figure number. The suffix element may contain additional values for symbols specific to particular figured bass styles.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="extend" type="extend" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element figure/prefix
diagram
type style-text
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
Values for the prefix element include the accidental values sharp, flat, natural, double-sharp, flat-flat, and sharp-sharp. The prefix element may contain additional values for symbols specific to particular figured bass styles.
source <xs:element name="prefix" type="style-text" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>Values for the prefix element include the accidental values sharp, flat, natural, double-sharp, flat-flat, and sharp-sharp. The prefix element may contain additional values for symbols specific to particular figured bass styles.</xs:documentation>
 
</xs:annotation>
</xs:element>

element figure/figure-number
diagram
type style-text
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
A figure-number is a number. Overstrikes of the figure number are represented in the suffix element.
source <xs:element name="figure-number" type="style-text" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>A figure-number is a number. Overstrikes of the figure number are represented in the suffix element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element figure/suffix
diagram
type style-text
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
Values for the suffix element include the accidental values sharp, flat, natural, double-sharp, flat-flat, and sharp-sharp. Suffixes include both symbols that come after the figure number and those that overstrike the figure number. The suffix value slash is used for slashed numbers indicating chromatic alteration. The orientation and display of the slash usually depends on the figure number. The suffix element may contain additional values for symbols specific to particular figured bass styles.
source <xs:element name="suffix" type="style-text" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>Values for the suffix element include the accidental values sharp, flat, natural, double-sharp, flat-flat, and sharp-sharp. Suffixes include both symbols that come after the figure number and those that overstrike the figure number. The suffix value slash is used for slashed numbers indicating chromatic alteration. The orientation and display of the slash usually depends on the figure number. The suffix element may contain additional values for symbols specific to particular figured bass styles.</xs:documentation>
 
</xs:annotation>
</xs:element>

element figure/extend
diagram
type extend
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
typestart-stop-continue      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
source <xs:element name="extend" type="extend" minOccurs="0"/>

complexType figured-bass
diagram
children figure duration footnote level
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
print-dotyes-no      
print-spacingyes-no      
print-lyricyes-no      
parenthesesyes-no      
annotation
documentation
The figured-bass element represents figured bass notation. Figured bass elements take their position from the first regular note that follows. Figures are ordered from top to bottom. The value of parentheses is "no" if not present.
source <xs:complexType name="figured-bass">
 
<xs:annotation>
   
<xs:documentation>The figured-bass element represents figured bass notation. Figured bass elements take their position from the first regular note that follows. Figures are ordered from top to bottom. The value of parentheses is "no" if not present.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="figure" type="figure" maxOccurs="unbounded"/>
   
<xs:group ref="duration" minOccurs="0"/>
   
<xs:group ref="editorial"/>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="printout"/>
 
<xs:attribute name="parentheses" type="yes-no"/>
</xs:complexType>

attribute figured-bass/@parentheses
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="parentheses" type="yes-no"/>

element figured-bass/figure
diagram
type figure
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children prefix figure-number suffix extend
source <xs:element name="figure" type="figure" maxOccurs="unbounded"/>

complexType fingering
diagram
type extension of xs:string
properties
base xs:string
used by
elements frame-note/fingering technical/fingering
attributes
Name  Type  Use  Default  Fixed  annotation
substitutionyes-no      
alternateyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
Fingering is typically indicated 1,2,3,4,5. Multiple fingerings may be given, typically to substitute fingerings in the middle of a note. The substitution and alternate values are "no" if the attribute is not present. For guitar and other fretted instruments, the fingering element represents the fretting finger; the pluck element represents the plucking finger.
source <xs:complexType name="fingering">
 
<xs:annotation>
   
<xs:documentation>Fingering is typically indicated 1,2,3,4,5. Multiple fingerings may be given, typically to substitute fingerings in the middle of a note. The substitution and alternate values are "no" if the attribute is not present. For guitar and other fretted instruments, the fingering element represents the fretting finger; the pluck element represents the plucking finger.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="substitution" type="yes-no"/>
     
<xs:attribute name="alternate" type="yes-no"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute fingering/@substitution
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="substitution" type="yes-no"/>

attribute fingering/@alternate
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="alternate" type="yes-no"/>

complexType first-fret
diagram
type extension of xs:positiveInteger
properties
base xs:positiveInteger
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
locationleft-right      
annotation
documentation
The first-fret type indicates which fret is shown in the top space of the frame; it is fret 1 if the element is not present. The optional text attribute indicates how this is represented in the fret diagram, while the location attribute indicates whether the text appears to the left or right of the frame.
source <xs:complexType name="first-fret">
 
<xs:annotation>
   
<xs:documentation>The first-fret type indicates which fret is shown in the top space of the frame; it is fret 1 if the element is not present. The optional text attribute indicates how this is represented in the fret diagram, while the location attribute indicates whether the text appears to the left or right of the frame.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:positiveInteger">
     
<xs:attribute name="text" type="xs:token"/>
     
<xs:attribute name="location" type="left-right"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute first-fret/@text
type xs:token
properties
isRef 0
source <xs:attribute name="text" type="xs:token"/>

attribute first-fret/@location
type left-right
properties
isRef 0
facets
enumeration left
enumeration right
source <xs:attribute name="location" type="left-right"/>

complexType formatted-text
diagram
type extension of xs:string
properties
base xs:string
used by
elements credit/credit-words credit/credit-words name-display/display-text footnote/footnote direction-type/words
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
annotation
documentation
The formatted-text type represents a text element with text-formatting attributes.
source <xs:complexType name="formatted-text">
 
<xs:annotation>
   
<xs:documentation>The formatted-text type represents a text element with text-formatting attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="text-formatting"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType forward
diagram
children duration footnote level voice staff
used by
element music-data/forward
annotation
documentation
The backup and forward elements are required to coordinate multiple voices in one part, including music on multiple staves. The forward element is generally used within voices and staves. Duration values should always be positive, and should not cross measure boundaries.
source <xs:complexType name="forward">
 
<xs:annotation>
   
<xs:documentation>The backup and forward elements are required to coordinate multiple voices in one part, including music on multiple staves. The forward element is generally used within voices and staves. Duration values should always be positive, and should not cross measure boundaries.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="duration"/>
   
<xs:group ref="editorial-voice"/>
   
<xs:group ref="staff" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

complexType frame
diagram
children frame-strings frame-frets first-fret frame-note
used by
element harmony/frame
complexType frame
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
halignleft-center-right      
valignvalign      
heighttenths      
widthtenths      
annotation
documentation
The frame type represents a frame or fretboard diagram used together with a chord symbol. The representation is based on the NIFF guitar grid with additional information.
source <xs:complexType name="frame">
 
<xs:annotation>
   
<xs:documentation>The frame type represents a frame or fretboard diagram used together with a chord symbol. The representation is based on the NIFF guitar grid with additional information.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="frame-strings" type="xs:positiveInteger">
     
<xs:annotation>
       
<xs:documentation>The frame-strings element gives the overall size of the frame in vertical lines (strings).</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="frame-frets" type="xs:positiveInteger">
     
<xs:annotation>
       
<xs:documentation>The frame-frets element gives the overall size of the frame in horizontal spaces (frets).</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="first-fret" type="first-fret" minOccurs="0"/>
   
<xs:element name="frame-note" type="frame-note" maxOccurs="unbounded"/>
 
</xs:sequence>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="color"/>
 
<xs:attributeGroup ref="halign"/>
 
<xs:attributeGroup ref="valign"/>
 
<xs:attribute name="height" type="tenths"/>
 
<xs:attribute name="width" type="tenths"/>
</xs:complexType>

attribute frame/@height
type tenths
properties
isRef 0
source <xs:attribute name="height" type="tenths"/>

attribute frame/@width
type tenths
properties
isRef 0
source <xs:attribute name="width" type="tenths"/>

element frame/frame-strings
diagram
type xs:positiveInteger
properties
isRef 0
content simple
annotation
documentation
The frame-strings element gives the overall size of the frame in vertical lines (strings).
source <xs:element name="frame-strings" type="xs:positiveInteger">
 
<xs:annotation>
   
<xs:documentation>The frame-strings element gives the overall size of the frame in vertical lines (strings).</xs:documentation>
 
</xs:annotation>
</xs:element>

element frame/frame-frets
diagram
type xs:positiveInteger
properties
isRef 0
content simple
annotation
documentation
The frame-frets element gives the overall size of the frame in horizontal spaces (frets).
source <xs:element name="frame-frets" type="xs:positiveInteger">
 
<xs:annotation>
   
<xs:documentation>The frame-frets element gives the overall size of the frame in horizontal spaces (frets).</xs:documentation>
 
</xs:annotation>
</xs:element>

element frame/first-fret
diagram
type first-fret
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
locationleft-right      
source <xs:element name="first-fret" type="first-fret" minOccurs="0"/>

element frame/frame-note
diagram
type frame-note
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children string fret fingering barre
source <xs:element name="frame-note" type="frame-note" maxOccurs="unbounded"/>

complexType frame-note
diagram
children string fret fingering barre
annotation
documentation
The frame-note type represents each note included in the frame. An open string will have a fret value of 0, while a muted string will not be associated with a frame-note element.
source <xs:complexType name="frame-note">
 
<xs:annotation>
   
<xs:documentation>The frame-note type represents each note included in the frame. An open string will have a fret value of 0, while a muted string will not be associated with a frame-note element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="string" type="string"/>
   
<xs:element name="fret" type="fret"/>
   
<xs:element name="fingering" type="fingering" minOccurs="0"/>
   
<xs:element name="barre" type="barre" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element frame-note/string
diagram
type string
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="string" type="string"/>

element frame-note/fret
diagram
type fret
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="fret" type="fret"/>

element frame-note/fingering
diagram
type fingering
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
substitutionyes-no      
alternateyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="fingering" type="fingering" minOccurs="0"/>

element frame-note/barre
diagram
type barre
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
colorcolor      
source <xs:element name="barre" type="barre" minOccurs="0"/>

complexType fret
diagram
type extension of xs:nonNegativeInteger
properties
base xs:nonNegativeInteger
used by
element frame-note/fret
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The fret element is used with tablature notation and chord diagrams. Fret numbers start with 0 for an open string and 1 for the first fret.
source <xs:complexType name="fret">
 
<xs:annotation>
   
<xs:documentation>The fret element is used with tablature notation and chord diagrams. Fret numbers start with 0 for an open string and 1 for the first fret.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:nonNegativeInteger">
     
<xs:attributeGroup ref="font"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType glissando
diagram
type extension of xs:string
properties
base xs:string
used by
element notations/glissando
complexType glissando
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
Glissando and slide types both indicate rapidly moving from one pitch to the other so that individual notes are not discerned. The distinction is similar to that between NIFF's glissando and portamento elements. A glissando sounds the half notes in between the slide and defaults to a wavy line. The optional text is printed alongside the line.
source <xs:complexType name="glissando">
 
<xs:annotation>
   
<xs:documentation>Glissando and slide types both indicate rapidly moving from one pitch to the other so that individual notes are not discerned. The distinction is similar to that between NIFF's glissando and portamento elements. A glissando sounds the half notes in between the slide and defaults to a wavy line. The optional text is printed alongside the line.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="type" type="start-stop" use="required"/>
     
<xs:attribute name="number" type="number-level" default="1"/>
     
<xs:attributeGroup ref="line-type"/>
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute glissando/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute glissando/@number
type number-level
properties
isRef 0
default 1
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level" default="1"/>

complexType grace
diagram
used by
element note/grace
attributes
Name  Type  Use  Default  Fixed  annotation
steal-time-previouspercent      
steal-time-followingpercent      
make-timedivisions      
slashyes-no      
annotation
documentation
The grace type indicates the presence of a grace note. The slash attribute for a grace note is yes for slashed eighth notes. The other grace note attributes come from MuseData sound suggestions. Steal-time-previous indicates the percentage of time to steal from the previous note for the grace note. Steal-time-following indicates the percentage of time to steal from the following note for the grace note. Make-time indicates to make time, not steal time; the units are in real-time divisions for the grace note.
source <xs:complexType name="grace">
 
<xs:annotation>
   
<xs:documentation>The grace type indicates the presence of a grace note. The slash attribute for a grace note is yes for slashed eighth notes. The other grace note attributes come from MuseData sound suggestions. Steal-time-previous indicates the percentage of time to steal from the previous note for the grace note. Steal-time-following indicates the percentage of time to steal from the following note for the grace note. Make-time indicates to make time, not steal time; the units are in real-time divisions for the grace note.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="steal-time-previous" type="percent"/>
 
<xs:attribute name="steal-time-following" type="percent"/>
 
<xs:attribute name="make-time" type="divisions"/>
 
<xs:attribute name="slash" type="yes-no"/>
</xs:complexType>

attribute grace/@steal-time-previous
type percent
properties
isRef 0
facets
minInclusive 0
maxInclusive 100
source <xs:attribute name="steal-time-previous" type="percent"/>

attribute grace/@steal-time-following
type percent
properties
isRef 0
facets
minInclusive 0
maxInclusive 100
source <xs:attribute name="steal-time-following" type="percent"/>

attribute grace/@make-time
type divisions
properties
isRef 0
facets
fractionDigits 0
source <xs:attribute name="make-time" type="divisions"/>

attribute grace/@slash
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="slash" type="yes-no"/>

complexType group-barline
diagram
type extension of group-barline-value
properties
base group-barline-value
used by
element part-group/group-barline
facets
enumeration yes
enumeration no
enumeration Mensurstrich
attributes
Name  Type  Use  Default  Fixed  annotation
colorcolor      
annotation
documentation
The group-barline type indicates if the group should have common barlines.
source <xs:complexType name="group-barline">
 
<xs:annotation>
   
<xs:documentation>The group-barline type indicates if the group should have common barlines.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="group-barline-value">
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType group-name
diagram
type extension of xs:string
properties
base xs:string
used by
elements part-group/group-abbreviation part-group/group-name
attributes
Name  Type  Use  Default  Fixed  annotation
annotation
documentation
The group-name type describes the name or abbreviation of a part-group element. Formatting attributes in the group-name type are deprecated in Version 2.0 in favor of the new group-name-display and group-abbreviation-display elements.
source <xs:complexType name="group-name">
 
<xs:annotation>
   
<xs:documentation>The group-name type describes the name or abbreviation of a part-group element. Formatting attributes in the group-name type are deprecated in Version 2.0 in favor of the new group-name-display and group-abbreviation-display elements.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="group-name-text"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType group-symbol
diagram
type extension of group-symbol-value
properties
base group-symbol-value
used by
element part-group/group-symbol
facets
enumeration none
enumeration brace
enumeration line
enumeration bracket
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
annotation
documentation
The group-symbol type indicates how the symbol for a group is indicated in the score.
source <xs:complexType name="group-symbol">
 
<xs:annotation>
   
<xs:documentation>The group-symbol type indicates how the symbol for a group is indicated in the score.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="group-symbol-value">
     
<xs:attributeGroup ref="position"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType grouping
diagram
children feature
used by
element music-data/grouping
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-singlerequired      
numberxs:token  1    
member-ofxs:token      
annotation
documentation
The grouping type is used for musical analysis. When the type attribute is "start" or "single", it usually contains one or more feature elements. The number attribute is used for distinguishing between overlapping and hierarchical groupings. The member-of attribute allows for easy distinguishing of what grouping elements are in what hierarchy. Feature elements contained within a "stop" type of grouping may be ignored.

This element is flexible to allow for different types of analyses. Future versions of the MusicXML format may add elements that can represent more standardized categories of analysis data, allowing for easier data sharing.
source <xs:complexType name="grouping">
 
<xs:annotation>
   
<xs:documentation>The grouping type is used for musical analysis. When the type attribute is "start" or "single", it usually contains one or more feature elements. The number attribute is used for distinguishing between overlapping and hierarchical groupings. The member-of attribute allows for easy distinguishing of what grouping elements are in what hierarchy. Feature elements contained within a "stop" type of grouping may be ignored.

This element is flexible to allow for different types of analyses. Future versions of the MusicXML format may add elements that can represent more standardized categories of analysis data, allowing for easier data sharing.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="feature" type="feature" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
 
<xs:attribute name="type" type="start-stop-single" use="required"/>
 
<xs:attribute name="number" type="xs:token" default="1"/>
 
<xs:attribute name="member-of" type="xs:token"/>
</xs:complexType>

attribute grouping/@type
type start-stop-single
properties
isRef 0
use required
facets
enumeration start
enumeration stop
enumeration single
source <xs:attribute name="type" type="start-stop-single" use="required"/>

attribute grouping/@number
type xs:token
properties
isRef 0
default 1
source <xs:attribute name="number" type="xs:token" default="1"/>

attribute grouping/@member-of
type xs:token
properties
isRef 0
source <xs:attribute name="member-of" type="xs:token"/>

element grouping/feature
diagram
type feature
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:token      
source <xs:element name="feature" type="feature" minOccurs="0" maxOccurs="unbounded"/>

complexType hammer-on-pull-off
diagram
type extension of xs:string
properties
base xs:string
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The hammer-on and pull-off elements are used in guitar and fretted instrument notation. Since a single slur can be marked over many notes, the hammer-on and pull-off elements are separate so the individual pair of notes can be specified. The element content can be used to specify how the hammer-on or pull-off should be notated. An empty element leaves this choice up to the application.
source <xs:complexType name="hammer-on-pull-off">
 
<xs:annotation>
   
<xs:documentation>The hammer-on and pull-off elements are used in guitar and fretted instrument notation. Since a single slur can be marked over many notes, the hammer-on and pull-off elements are separate so the individual pair of notes can be specified. The element content can be used to specify how the hammer-on or pull-off should be notated. An empty element leaves this choice up to the application.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="type" type="start-stop" use="required"/>
     
<xs:attribute name="number" type="number-level" default="1"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute hammer-on-pull-off/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute hammer-on-pull-off/@number
type number-level
properties
isRef 0
default 1
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level" default="1"/>

complexType harmonic
diagram
children natural artificial base-pitch touching-pitch sounding-pitch
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The harmonic type indicates natural and artificial harmonics. Allowing the type of pitch to be specified, combined with controls for appearance/playback differences, allows both the notation and the sound to be represented. Artificial harmonics can add a notated touching-pitch; artificial pinch harmonics will usually not notate a touching pitch. The attributes for the harmonic element refer to the use of the circular harmonic symbol, typically but not always used with natural harmonics.
source <xs:complexType name="harmonic">
 
<xs:annotation>
   
<xs:documentation>The harmonic type indicates natural and artificial harmonics. Allowing the type of pitch to be specified, combined with controls for appearance/playback differences, allows both the notation and the sound to be represented. Artificial harmonics can add a notated touching-pitch; artificial pinch harmonics will usually not notate a touching pitch. The attributes for the harmonic element refer to the use of the circular harmonic symbol, typically but not always used with natural harmonics.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice minOccurs="0">
     
<xs:element name="natural" type="empty">
       
<xs:annotation>
         
<xs:documentation>The natural element indicates that this is a natural harmonic. These are usually notated at base pitch rather than sounding pitch.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="artificial" type="empty">
       
<xs:annotation>
         
<xs:documentation>The artificial element indicates that this is an artificial harmonic.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
   
<xs:choice minOccurs="0">
     
<xs:element name="base-pitch" type="empty">
       
<xs:annotation>
         
<xs:documentation>The base pitch is the pitch at which the string is played before touching to create the harmonic.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="touching-pitch" type="empty">
       
<xs:annotation>
         
<xs:documentation>The touching-pitch is the pitch at which the string is touched lightly to produce the harmonic.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="sounding-pitch" type="empty">
       
<xs:annotation>
         
<xs:documentation>The sounding-pitch is the pitch which is heard when playing the harmonic.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-object"/>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="placement"/>
</xs:complexType>

element harmonic/natural
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The natural element indicates that this is a natural harmonic. These are usually notated at base pitch rather than sounding pitch.
source <xs:element name="natural" type="empty">
 
<xs:annotation>
   
<xs:documentation>The natural element indicates that this is a natural harmonic. These are usually notated at base pitch rather than sounding pitch.</xs:documentation>
 
</xs:annotation>
</xs:element>

element harmonic/artificial
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The artificial element indicates that this is an artificial harmonic.
source <xs:element name="artificial" type="empty">
 
<xs:annotation>
   
<xs:documentation>The artificial element indicates that this is an artificial harmonic.</xs:documentation>
 
</xs:annotation>
</xs:element>

element harmonic/base-pitch
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The base pitch is the pitch at which the string is played before touching to create the harmonic.
source <xs:element name="base-pitch" type="empty">
 
<xs:annotation>
   
<xs:documentation>The base pitch is the pitch at which the string is played before touching to create the harmonic.</xs:documentation>
 
</xs:annotation>
</xs:element>

element harmonic/touching-pitch
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The touching-pitch is the pitch at which the string is touched lightly to produce the harmonic.
source <xs:element name="touching-pitch" type="empty">
 
<xs:annotation>
   
<xs:documentation>The touching-pitch is the pitch at which the string is touched lightly to produce the harmonic.</xs:documentation>
 
</xs:annotation>
</xs:element>

element harmonic/sounding-pitch
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The sounding-pitch is the pitch which is heard when playing the harmonic.
source <xs:element name="sounding-pitch" type="empty">
 
<xs:annotation>
   
<xs:documentation>The sounding-pitch is the pitch which is heard when playing the harmonic.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType harmony
diagram
children root kind bass degree frame offset footnote level staff
used by
element music-data/harmony
attributes
Name  Type  Use  Default  Fixed  annotation
typeharmony-type      
print-objectyes-no      
print-frameyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The harmony type is based on Humdrum's **harm encoding, extended to support chord symbols in popular music as well as functional harmony analysis in classical music.

If there are alternate harmonies possible, this can be specified using multiple harmony elements differentiated by type. Explicit harmonies have all note present in the music; implied have some notes missing but implied; alternate represents alternate analyses.

The harmony object may be used for analysis or for chord symbols. The print-object attribute controls whether or not anything is printed due to the harmony element. The print-frame attribute controls printing of a frame or fretboard diagram. The print-style attribute group sets the default for the harmony, but individual elements can override this with their own print-style values.
source <xs:complexType name="harmony">
 
<xs:annotation>
   
<xs:documentation>The harmony type is based on Humdrum's **harm encoding, extended to support chord symbols in popular music as well as functional harmony analysis in classical music.

If there are alternate harmonies possible, this can be specified using multiple harmony elements differentiated by type. Explicit harmonies have all note present in the music; implied have some notes missing but implied; alternate represents alternate analyses.

The harmony object may be used for analysis or for chord symbols. The print-object attribute controls whether or not anything is printed due to the harmony element. The print-frame attribute controls printing of a frame or fretboard diagram. The print-style attribute group sets the default for the harmony, but individual elements can override this with their own print-style values.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="harmony-chord" maxOccurs="unbounded"/>
   
<xs:element name="frame" type="frame" minOccurs="0"/>
   
<xs:element name="offset" type="offset" minOccurs="0"/>
   
<xs:group ref="editorial"/>
   
<xs:group ref="staff" minOccurs="0"/>
 
</xs:sequence>
 
<xs:attribute name="type" type="harmony-type"/>
 
<xs:attributeGroup ref="print-object"/>
 
<xs:attribute name="print-frame" type="yes-no"/>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="placement"/>
</xs:complexType>

attribute harmony/@type
type harmony-type
properties
isRef 0
facets
enumeration explicit
enumeration implied
enumeration alternate
source <xs:attribute name="type" type="harmony-type"/>

attribute harmony/@print-frame
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="print-frame" type="yes-no"/>

element harmony/frame
diagram
type frame
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children frame-strings frame-frets first-fret frame-note
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
halignleft-center-right      
valignvalign      
heighttenths      
widthtenths      
unplayedxs:token      
source <xs:element name="frame" type="frame" minOccurs="0"/>

element harmony/offset
diagram
type offset
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
fractionDigits 0
attributes
Name  Type  Use  Default  Fixed  annotation
soundyes-no      
source <xs:element name="offset" type="offset" minOccurs="0"/>

complexType harp-pedals
diagram
children pedal-tuning
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The harp-pedals type is used to create harp pedal diagrams. The pedal-step and pedal-alter elements use the same values as the step and alter elements. For easiest reading, the pedal-tuning elements should follow standard harp pedal order, with pedal-step values of D, C, B, E, F, G, and A.
source <xs:complexType name="harp-pedals">
 
<xs:annotation>
   
<xs:documentation>The harp-pedals type is used to create harp pedal diagrams. The pedal-step and pedal-alter elements use the same values as the step and alter elements. For easiest reading, the pedal-tuning elements should follow standard harp pedal order, with pedal-step values of D, C, B, E, F, G, and A.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="pedal-tuning" type="pedal-tuning" maxOccurs="unbounded"/>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-style"/>
</xs:complexType>

element harp-pedals/pedal-tuning
diagram
type pedal-tuning
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children pedal-step pedal-alter
source <xs:element name="pedal-tuning" type="pedal-tuning" maxOccurs="unbounded"/>

complexType heel-toe
diagram
type extension of empty-placement
properties
base empty-placement
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
substitutionyes-no      
annotation
documentation
The heel and toe elements are used with organ pedals. The substitution value is "no" if the attribute is not present.
source <xs:complexType name="heel-toe">
 
<xs:annotation>
   
<xs:documentation>The heel and toe elements are used with organ pedals. The substitution value is "no" if the attribute is not present.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="empty-placement">
     
<xs:attribute name="substitution" type="yes-no"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute heel-toe/@substitution
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="substitution" type="yes-no"/>

complexType identification
diagram
children creator rights encoding source relation miscellaneous
used by
elements score-part/identification score-header/identification
annotation
documentation
Identification contains basic metadata about the score. It includes the information in MuseData headers that may apply at a score-wide, movement-wide, or part-wide level. The creator, rights, source, and relation elements are based on Dublin Core.
source <xs:complexType name="identification">
 
<xs:annotation>
   
<xs:documentation>Identification contains basic metadata about the score. It includes the information in MuseData headers that may apply at a score-wide, movement-wide, or part-wide level. The creator, rights, source, and relation elements are based on Dublin Core.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="creator" type="typed-text" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The creator element is borrowed from Dublin Core. It is used for the creators of the score. The type attribute is used to distinguish different creative contributions. Thus, there can be multiple creators within an identification. Standard type values are composer, lyricist, and arranger. Other type values may be used for different types of creative roles. The type attribute should usually be used even if there is just a single creator element. The MusicXML format does not use the creator / contributor distinction from Dublin Core.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="rights" type="typed-text" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The rights element is borrowed from Dublin Core. It contains copyright and other intellectual property notices. Words, music, and derivatives can have different types, so multiple rights tags with different type attributes are supported. Standard type values are music, words, and arrangement, but other types may be used. The type attribute is only needed when there are multiple rights elements.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="encoding" type="encoding" minOccurs="0"/>
   
<xs:element name="source" type="xs:string" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The source for the music that is encoded. This is similar to the Dublin Core source element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="relation" type="typed-text" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>A related resource for the music that is encoded. This is similar to the Dublin Core relation element. Standard type values are music, words, and arrangement, but other types may be used.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="miscellaneous" type="miscellaneous" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element identification/creator
diagram
type typed-text
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:token      
annotation
documentation
The creator element is borrowed from Dublin Core. It is used for the creators of the score. The type attribute is used to distinguish different creative contributions. Thus, there can be multiple creators within an identification. Standard type values are composer, lyricist, and arranger. Other type values may be used for different types of creative roles. The type attribute should usually be used even if there is just a single creator element. The MusicXML format does not use the creator / contributor distinction from Dublin Core.
source <xs:element name="creator" type="typed-text" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The creator element is borrowed from Dublin Core. It is used for the creators of the score. The type attribute is used to distinguish different creative contributions. Thus, there can be multiple creators within an identification. Standard type values are composer, lyricist, and arranger. Other type values may be used for different types of creative roles. The type attribute should usually be used even if there is just a single creator element. The MusicXML format does not use the creator / contributor distinction from Dublin Core.</xs:documentation>
 
</xs:annotation>
</xs:element>

element identification/rights
diagram
type typed-text
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:token      
annotation
documentation
The rights element is borrowed from Dublin Core. It contains copyright and other intellectual property notices. Words, music, and derivatives can have different types, so multiple rights tags with different type attributes are supported. Standard type values are music, words, and arrangement, but other types may be used. The type attribute is only needed when there are multiple rights elements.
source <xs:element name="rights" type="typed-text" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The rights element is borrowed from Dublin Core. It contains copyright and other intellectual property notices. Words, music, and derivatives can have different types, so multiple rights tags with different type attributes are supported. Standard type values are music, words, and arrangement, but other types may be used. The type attribute is only needed when there are multiple rights elements.</xs:documentation>
 
</xs:annotation>
</xs:element>

element identification/encoding
diagram
type encoding
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children encoding-date encoder software encoding-description supports
source <xs:element name="encoding" type="encoding" minOccurs="0"/>

element identification/source
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The source for the music that is encoded. This is similar to the Dublin Core source element.
source <xs:element name="source" type="xs:string" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The source for the music that is encoded. This is similar to the Dublin Core source element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element identification/relation
diagram
type typed-text
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:token      
annotation
documentation
A related resource for the music that is encoded. This is similar to the Dublin Core relation element. Standard type values are music, words, and arrangement, but other types may be used.
source <xs:element name="relation" type="typed-text" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>A related resource for the music that is encoded. This is similar to the Dublin Core relation element. Standard type values are music, words, and arrangement, but other types may be used.</xs:documentation>
 
</xs:annotation>
</xs:element>

element identification/miscellaneous
diagram
type miscellaneous
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children miscellaneous-field
source <xs:element name="miscellaneous" type="miscellaneous" minOccurs="0"/>

complexType image
diagram
used by
elements credit/credit-image direction-type/image
attributes
Name  Type  Use  Default  Fixed  annotation
sourcexs:anyURIrequired      
typexs:tokenrequired      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
halignleft-center-right      
valignvalign-image      
annotation
documentation
The image type is used to include graphical images in a score.
source <xs:complexType name="image">
 
<xs:annotation>
   
<xs:documentation>The image type is used to include graphical images in a score.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="image-attributes"/>
</xs:complexType>

complexType instrument
diagram
used by
element note/instrument
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
annotation
documentation
The instrument type distinguishes between score-instrument elements in a score-part. The id attribute is an IDREF back to the score-instrument ID. If multiple score-instruments are specified on a score-part, there should be an instrument element for each note in the part.
source <xs:complexType name="instrument">
 
<xs:annotation>
   
<xs:documentation>The instrument type distinguishes between score-instrument elements in a score-part. The id attribute is an IDREF back to the score-instrument ID. If multiple score-instruments are specified on a score-part, there should be an instrument element for each note in the part.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="id" type="xs:IDREF" use="required"/>
</xs:complexType>

attribute instrument/@id
type xs:IDREF
properties
isRef 0
use required
source <xs:attribute name="id" type="xs:IDREF" use="required"/>

complexType inversion
diagram
type extension of xs:nonNegativeInteger
properties
base xs:nonNegativeInteger
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The inversion type represents harmony inversions. The value is a number indicating which inversion is used: 0 for root position, 1 for first inversion, etc.
source <xs:complexType name="inversion">
 
<xs:annotation>
   
<xs:documentation>The inversion type represents harmony inversions. The value is a number indicating which inversion is used: 0 for root position, 1 for first inversion, etc.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:nonNegativeInteger">
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType key
diagram
children cancel fifths mode key-step key-alter key-octave
used by
element attributes/key
complexType key
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
documentation
The key type 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.
source <xs:complexType name="key">
 
<xs:annotation>
   
<xs:documentation>The key type 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:sequence>
   
<xs:choice>
     
<xs:group ref="traditional-key"/>
     
<xs:group ref="non-traditional-key" minOccurs="0" maxOccurs="unbounded"/>
   
</xs:choice>
   
<xs:element name="key-octave" type="key-octave" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The optional list of key-octave elements is used to specify in which octave each element of the key signature appears.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
 
<xs:attribute name="number" type="staff-number"/>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="print-object"/>
</xs:complexType>

attribute key/@number
type staff-number
properties
isRef 0
source <xs:attribute name="number" type="staff-number"/>

element key/key-octave
diagram
type key-octave
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
facets
minInclusive 0
maxInclusive 9
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:positiveIntegerrequired      
cancelyes-no      
annotation
documentation
The optional list of key-octave elements is used to specify in which octave each element of the key signature appears.
source <xs:element name="key-octave" type="key-octave" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The optional list of key-octave elements is used to specify in which octave each element of the key signature appears.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType key-octave
diagram
type extension of octave
properties
base octave
used by
element key/key-octave
facets
minInclusive 0
maxInclusive 9
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:positiveIntegerrequired      
cancelyes-no      
annotation
documentation
The key-octave element specifies in which octave an element of a key signature appears. The content specifies the octave value using the same values as the display-octave element. The number attribute is a positive integer that refers to the key signature element in left-to-right order. If the cancel attribute is set to yes, then this number refers to an element specified by the cancel element. It is no by default.
source <xs:complexType name="key-octave">
 
<xs:annotation>
   
<xs:documentation>The key-octave element specifies in which octave an element of a key signature appears. The content specifies the octave value using the same values as the display-octave element. The number attribute is a positive integer that refers to the key signature element in left-to-right order. If the cancel attribute is set to yes, then this number refers to an element specified by the cancel element. It is no by default.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="octave">
     
<xs:attribute name="number" type="xs:positiveInteger" use="required"/>
     
<xs:attribute name="cancel" type="yes-no"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute key-octave/@number
type xs:positiveInteger
properties
isRef 0
use required
source <xs:attribute name="number" type="xs:positiveInteger" use="required"/>

attribute key-octave/@cancel
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="cancel" type="yes-no"/>

complexType kind
diagram
type extension of kind-value
properties
base kind-value
used by
element harmony-chord/kind
facets
enumeration major
enumeration minor
enumeration augmented
enumeration diminished
enumeration dominant
enumeration major-seventh
enumeration minor-seventh
enumeration diminished-seventh
enumeration augmented-seventh
enumeration half-diminished
enumeration major-minor
enumeration major-sixth
enumeration minor-sixth
enumeration dominant-ninth
enumeration major-ninth
enumeration minor-ninth
enumeration dominant-11th
enumeration major-11th
enumeration minor-11th
enumeration dominant-13th
enumeration major-13th
enumeration minor-13th
enumeration suspended-second
enumeration suspended-fourth
enumeration pedal
enumeration power
enumeration other
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
use-symbolsyes-no      
textxs:token      
stack-degreesyes-no      
parentheses-degreesyes-no      
bracket-degreesyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
halignleft-center-right      
valignvalign      
annotation
documentation
Kind indicates the type of chord. Degree elements can then add, subtract, or alter from these starting points

The attributes are used to indicate the formatting of the symbol. Since the kind element is the constant in all the harmony-chord groups that can make up a polychord, many formatting attributes are here.

The use-symbols attribute is yes if the kind should be represented when possible with harmony symbols rather than letters and numbers. These symbols include:

major: a triangle, like Unicode 25B3
minor: -, like Unicode 002D
augmented: +, like Unicode 002B
diminished: °, like Unicode 00B0
half-diminished: ø, like Unicode 00F8

The text attribute describes how the kind should be spelled if not using symbols; it is ignored if use-symbols is yes. The stack-degrees attribute is yes if the degree elements should be stacked above each other. The parentheses-degrees attribute is yes if all the degrees should be in parentheses. The bracket-degrees attribute is yes if all the degrees should be in a bracket. If not specified, these values are implementation-specific. The alignment attributes are for the entire harmony-chord group of which this kind element is a part.
source <xs:complexType name="kind">
 
<xs:annotation>
   
<xs:documentation>Kind indicates the type of chord. Degree elements can then add, subtract, or alter from these starting points

The attributes are used to indicate the formatting of the symbol. Since the kind element is the constant in all the harmony-chord groups that can make up a polychord, many formatting attributes are here.

The use-symbols attribute is yes if the kind should be represented when possible with harmony symbols rather than letters and numbers. These symbols include:

major: a triangle, like Unicode 25B3
minor: -, like Unicode 002D
augmented: +, like Unicode 002B
diminished: °, like Unicode 00B0
half-diminished: ø, like Unicode 00F8

The text attribute describes how the kind should be spelled if not using symbols; it is ignored if use-symbols is yes. The stack-degrees attribute is yes if the degree elements should be stacked above each other. The parentheses-degrees attribute is yes if all the degrees should be in parentheses. The bracket-degrees attribute is yes if all the degrees should be in a bracket. If not specified, these values are implementation-specific. The alignment attributes are for the entire harmony-chord group of which this kind element is a part.
</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="kind-value">
     
<xs:attribute name="use-symbols" type="yes-no"/>
     
<xs:attribute name="text" type="xs:token"/>
     
<xs:attribute name="stack-degrees" type="yes-no"/>
     
<xs:attribute name="parentheses-degrees" type="yes-no"/>
     
<xs:attribute name="bracket-degrees" type="yes-no"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="halign"/>
     
<xs:attributeGroup ref="valign"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute kind/@use-symbols
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="use-symbols" type="yes-no"/>

attribute kind/@text
type xs:token
properties
isRef 0
source <xs:attribute name="text" type="xs:token"/>

attribute kind/@stack-degrees
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="stack-degrees" type="yes-no"/>

attribute kind/@parentheses-degrees
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="parentheses-degrees" type="yes-no"/>

attribute kind/@bracket-degrees
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="bracket-degrees" type="yes-no"/>

complexType level
diagram
type extension of xs:string
properties
base xs:string
used by
element level/level
attributes
Name  Type  Use  Default  Fixed  annotation
referenceyes-no      
parenthesesyes-no      
bracketyes-no      
sizesymbol-size      
annotation
documentation
The level type is used to specify editorial information for different MusicXML elements. If the reference attribute for the level element is yes, this indicates editorial information that is for display only and should not affect playback. For instance, a modern edition of older music may set reference="yes" on the attributes containing the music's original clef, key, and time signature. It is no by default.
source <xs:complexType name="level">
 
<xs:annotation>
   
<xs:documentation>The level type is used to specify editorial information for different MusicXML elements. If the reference attribute for the level element is yes, this indicates editorial information that is for display only and should not affect playback. For instance, a modern edition of older music may set reference="yes" on the attributes containing the music's original clef, key, and time signature. It is no by default.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="reference" type="yes-no"/>
     
<xs:attributeGroup ref="level-display"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute level/@reference
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="reference" type="yes-no"/>

complexType line-width
diagram
type extension of tenths
properties
base tenths
attributes
Name  Type  Use  Default  Fixed  annotation
typeline-width-typerequired      
annotation
documentation
The line-width type indicates the width of a line type in tenths. The type attribute defines what type of line is being defined. Values include beam, bracket, dashes, enclosure, ending, extend, heavy barline, leger, light barline, octave shift, pedal, slur middle, slur tip, staff, stem, tie middle, tie tip, tuplet bracket, and wedge. The text content is expressed in tenths.
source <xs:complexType name="line-width">
 
<xs:annotation>
   
<xs:documentation>The line-width type indicates the width of a line type in tenths. The type attribute defines what type of line is being defined. Values include beam, bracket, dashes, enclosure, ending, extend, heavy barline, leger, light barline, octave shift, pedal, slur middle, slur tip, staff, stem, tie middle, tie tip, tuplet bracket, and wedge. The text content is expressed in tenths.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="tenths">
     
<xs:attribute name="type" type="line-width-type" use="required"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute line-width/@type
type line-width-type
properties
isRef 0
use required
facets
enumeration beam
enumeration bracket
enumeration dashes
enumeration enclosure
enumeration ending
enumeration extend
enumeration heavy barline
enumeration leger
enumeration light barline
enumeration octave shift
enumeration pedal
enumeration slur middle
enumeration slur tip
enumeration staff
enumeration stem
enumeration tie middle
enumeration tie tip
enumeration tuplet bracket
enumeration wedge
source <xs:attribute name="type" type="line-width-type" use="required"/>

complexType link
diagram
used by
elements credit/link credit/link music-data/link
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
namexs:token      
elementxs:NMTOKEN      
positionxs:positiveInteger      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
annotation
documentation
The link type serves as an outgoing simple XLink. It is also used to connect a MusicXML score with a MusicXML opus.
source <xs:complexType name="link">
 
<xs:annotation>
   
<xs:documentation>The link type serves as an outgoing simple XLink. It is also used to connect a MusicXML score with a MusicXML opus.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="link-attributes"/>
 
<xs:attribute name="name" type="xs:token"/>
 
<xs:attributeGroup ref="element-position"/>
 
<xs:attributeGroup ref="position"/>
</xs:complexType>

attribute link/@name
type xs:token
properties
isRef 0
source <xs:attribute name="name" type="xs:token"/>

complexType lyric
diagram
children syllabic text elision syllabic text extend extend laughing humming end-line end-paragraph footnote level
used by
element note/lyric
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:NMTOKEN      
namexs:token      
justifyleft-center-right      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
annotation
documentation
The lyric type represents text underlays for lyrics, based on Humdrum with support for other formats. Two text elements that are not separated by an elision element are part of the same syllable, but may have different text formatting. The MusicXML 2.0 XSD is more strict than the 2.0 DTD in enforcing this by disallowing a second syllabic element unless preceded by an elision element. The lyric number indicates multiple lines, though a name can be used as well (as in Finale's verse / chorus / section specification). Justification is center by default; placement is below by default.
source <xs:complexType name="lyric">
 
<xs:annotation>
   
<xs:documentation>The lyric type represents text underlays for lyrics, based on Humdrum with support for other formats. Two text elements that are not separated by an elision element are part of the same syllable, but may have different text formatting. The MusicXML 2.0 XSD is more strict than the 2.0 DTD in enforcing this by disallowing a second syllabic element unless preceded by an elision element. The lyric number indicates multiple lines, though a name can be used as well (as in Finale's verse / chorus / section specification). Justification is center by default; placement is below by default.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice>
     
<xs:sequence>
       
<xs:element name="syllabic" type="syllabic" minOccurs="0"/>
       
<xs:element name="text" type="text-element-data"/>
       
<xs:sequence minOccurs="0" maxOccurs="unbounded">
         
<xs:sequence minOccurs="0">
           
<xs:element name="elision" type="elision"/>
           
<xs:element name="syllabic" type="syllabic" minOccurs="0"/>
         
</xs:sequence>
         
<xs:element name="text" type="text-element-data"/>
       
</xs:sequence>
       
<xs:element name="extend" type="extend" minOccurs="0"/>
     
</xs:sequence>
     
<xs:element name="extend" type="extend"/>
     
<xs:element name="laughing" type="empty">
       
<xs:annotation>
         
<xs:documentation>The laughing element is taken from Humdrum.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="humming" type="empty">
       
<xs:annotation>
         
<xs:documentation>The humming element is taken from Humdrum.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
   
<xs:element name="end-line" type="empty" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The end-line element comes from RP-017 for Standard MIDI File Lyric meta-events. It facilitates lyric display for Karaoke and similar applications.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="end-paragraph" type="empty" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The end-paragraph element comes from RP-017 for Standard MIDI File Lyric meta-events. It facilitates lyric display for Karaoke and similar applications.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:group ref="editorial"/>
 
</xs:sequence>
 
<xs:attribute name="number" type="xs:NMTOKEN"/>
 
<xs:attribute name="name" type="xs:token"/>
 
<xs:attributeGroup ref="justify"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute lyric/@number
type xs:NMTOKEN
properties
isRef 0
source <xs:attribute name="number" type="xs:NMTOKEN"/>

attribute lyric/@name
type xs:token
properties
isRef 0
source <xs:attribute name="name" type="xs:token"/>

element lyric/syllabic
diagram
type syllabic
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
enumeration single
enumeration begin
enumeration end
enumeration middle
source <xs:element name="syllabic" type="syllabic" minOccurs="0"/>

element lyric/text
diagram
type text-element-data
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
source <xs:element name="text" type="text-element-data"/>

element lyric/elision
diagram
type elision
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="elision" type="elision"/>

element lyric/syllabic
diagram
type syllabic
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
enumeration single
enumeration begin
enumeration end
enumeration middle
source <xs:element name="syllabic" type="syllabic" minOccurs="0"/>

element lyric/text
diagram
type text-element-data
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
source <xs:element name="text" type="text-element-data"/>

element lyric/extend
diagram
type extend
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
typestart-stop-continue      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
source <xs:element name="extend" type="extend" minOccurs="0"/>

element lyric/extend
diagram
type extend
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
typestart-stop-continue      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
source <xs:element name="extend" type="extend"/>

element lyric/laughing
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The laughing element is taken from Humdrum.
source <xs:element name="laughing" type="empty">
 
<xs:annotation>
   
<xs:documentation>The laughing element is taken from Humdrum.</xs:documentation>
 
</xs:annotation>
</xs:element>

element lyric/humming
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The humming element is taken from Humdrum.
source <xs:element name="humming" type="empty">
 
<xs:annotation>
   
<xs:documentation>The humming element is taken from Humdrum.</xs:documentation>
 
</xs:annotation>
</xs:element>

element lyric/end-line
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc 1
content complex
annotation
documentation
The end-line element comes from RP-017 for Standard MIDI File Lyric meta-events. It facilitates lyric display for Karaoke and similar applications.
source <xs:element name="end-line" type="empty" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The end-line element comes from RP-017 for Standard MIDI File Lyric meta-events. It facilitates lyric display for Karaoke and similar applications.</xs:documentation>
 
</xs:annotation>
</xs:element>

element lyric/end-paragraph
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc 1
content complex
annotation
documentation
The end-paragraph element comes from RP-017 for Standard MIDI File Lyric meta-events. It facilitates lyric display for Karaoke and similar applications.
source <xs:element name="end-paragraph" type="empty" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The end-paragraph element comes from RP-017 for Standard MIDI File Lyric meta-events. It facilitates lyric display for Karaoke and similar applications.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType lyric-font
diagram
used by
element defaults/lyric-font
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:NMTOKEN      
namexs:token      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
annotation
documentation
The lyric-font type specifies the default font for a particular name and number of lyric.
source <xs:complexType name="lyric-font">
 
<xs:annotation>
   
<xs:documentation>The lyric-font type specifies the default font for a particular name and number of lyric.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="number" type="xs:NMTOKEN"/>
 
<xs:attribute name="name" type="xs:token"/>
 
<xs:attributeGroup ref="font"/>
</xs:complexType>

attribute lyric-font/@number
type xs:NMTOKEN
properties
isRef 0
source <xs:attribute name="number" type="xs:NMTOKEN"/>

attribute lyric-font/@name
type xs:token
properties
isRef 0
source <xs:attribute name="name" type="xs:token"/>

complexType lyric-language
diagram
used by
element defaults/lyric-language
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:NMTOKEN      
namexs:token      
langrequired      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
annotation
documentation
The lyric-language type specifies the default language for a particular name and number of lyric.
source <xs:complexType name="lyric-language">
 
<xs:annotation>
   
<xs:documentation>The lyric-language type specifies the default language for a particular name and number of lyric.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="number" type="xs:NMTOKEN"/>
 
<xs:attribute name="name" type="xs:token"/>
 
<xs:attribute ref="xml:lang" use="required"/>
</xs:complexType>

attribute lyric-language/@number
type xs:NMTOKEN
properties
isRef 0
source <xs:attribute name="number" type="xs:NMTOKEN"/>

attribute lyric-language/@name
type xs:token
properties
isRef 0
source <xs:attribute name="name" type="xs:token"/>

complexType measure-layout
diagram
children measure-distance
used by
element print/measure-layout
annotation
documentation
The measure-layout type includes the horizontal distance from the previous measure.
source <xs:complexType name="measure-layout">
 
<xs:annotation>
   
<xs:documentation>The measure-layout type includes the horizontal distance from the previous measure.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="measure-distance" type="tenths" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The measure-distance element specifies the horizontal distance from the previous measure. This value is only used for systems where there is horizontal whitespace in the middle of a system, as in systems with codas. To specify the measure width, use the width attribute of the measure element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:complexType>

element measure-layout/measure-distance
diagram
type tenths
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The measure-distance element specifies the horizontal distance from the previous measure. This value is only used for systems where there is horizontal whitespace in the middle of a system, as in systems with codas. To specify the measure width, use the width attribute of the measure element.
source <xs:element name="measure-distance" type="tenths" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The measure-distance element specifies the horizontal distance from the previous measure. This value is only used for systems where there is horizontal whitespace in the middle of a system, as in systems with codas. To specify the measure width, use the width attribute of the measure element.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType measure-numbering
diagram
type extension of measure-numbering-value
properties
base measure-numbering-value
used by
element print/measure-numbering
facets
enumeration none
enumeration measure
enumeration system
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The measure-numbering type describes how frequently measure numbers are displayed on this part. The number attribute from the measure element is used for printing. Measures with an implicit attribute set to "yes" never display a measure number, regardless of the measure-numbering setting.
source <xs:complexType name="measure-numbering">
 
<xs:annotation>
   
<xs:documentation>The measure-numbering type describes how frequently measure numbers are displayed on this part. The number attribute from the measure element is used for printing. Measures with an implicit attribute set to "yes" never display a measure number, regardless of the measure-numbering setting.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="measure-numbering-value">
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType measure-repeat
diagram
type extension of positive-integer-or-empty
properties
base positive-integer-or-empty
used by
element measure-style/measure-repeat
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
slashesxs:positiveInteger      
annotation
documentation
The measure-repeat type is used for both single and multiple measure repeats. The text of the element indicates the number of measures to be repeated in a single pattern. The slashes attribute specifies the number of slashes to use in the repeat sign. It is 1 if not specified. Both the start and the stop of the measure-repeat must be specified. The text of the element is ignored when the type is stop.

The measure-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.
source <xs:complexType name="measure-repeat">
 
<xs:annotation>
   
<xs:documentation>The measure-repeat type is used for both single and multiple measure repeats. The text of the element indicates the number of measures to be repeated in a single pattern. The slashes attribute specifies the number of slashes to use in the repeat sign. It is 1 if not specified. Both the start and the stop of the measure-repeat must be specified. The text of the element is ignored when the type is stop.

The measure-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.
</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="positive-integer-or-empty">
     
<xs:attribute name="type" type="start-stop" use="required"/>
     
<xs:attribute name="slashes" type="xs:positiveInteger"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute measure-repeat/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute measure-repeat/@slashes
type xs:positiveInteger
properties
isRef 0
source <xs:attribute name="slashes" type="xs:positiveInteger"/>

complexType measure-style
diagram
children multiple-rest measure-repeat beat-repeat slash
used by
element attributes/measure-style
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
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.

The multiple-rest and measure-repeat symbols indicate the number of measures covered in the element content. The beat-repeat and slash elements can cover partial measures. All but the multiple-rest element use a type attribute to indicate starting and stopping the use of the style. The optional number attribute specifies the staff number from top to bottom on the system, as with clef.
source <xs:complexType name="measure-style">
 
<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.

The multiple-rest and measure-repeat symbols indicate the number of measures covered in the element content. The beat-repeat and slash elements can cover partial measures. All but the multiple-rest element use a type attribute to indicate starting and stopping the use of the style. The optional number attribute specifies the staff number from top to bottom on the system, as with clef.
</xs:documentation>
 
</xs:annotation>
 
<xs:choice>
   
<xs:element name="multiple-rest" type="multiple-rest"/>
   
<xs:element name="measure-repeat" type="measure-repeat"/>
   
<xs:element name="beat-repeat" type="beat-repeat"/>
   
<xs:element name="slash" type="slash"/>
 
</xs:choice>
 
<xs:attribute name="number" type="staff-number"/>
 
<xs:attributeGroup ref="font"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute measure-style/@number
type staff-number
properties
isRef 0
source <xs:attribute name="number" type="staff-number"/>

element measure-style/multiple-rest
diagram
type multiple-rest
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
use-symbolsyes-no      
source <xs:element name="multiple-rest" type="multiple-rest"/>

element measure-style/measure-repeat
diagram
type measure-repeat
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
slashesxs:positiveInteger      
source <xs:element name="measure-repeat" type="measure-repeat"/>

element measure-style/beat-repeat
diagram
type beat-repeat
properties
isRef 0
content complex
children slash-type slash-dot
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
slashesxs:positiveInteger      
use-dotsyes-no      
source <xs:element name="beat-repeat" type="beat-repeat"/>

element measure-style/slash
diagram
type slash
properties
isRef 0
content complex
children slash-type slash-dot
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
use-dotsyes-no      
use-stemsyes-no      
source <xs:element name="slash" type="slash"/>

complexType metronome
diagram
children beat-unit beat-unit-dot per-minute metronome-note metronome-relation metronome-note
used by
element direction-type/metronome
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
parenthesesyes-no      
annotation
documentation
The metronome type represents metronome marks and other metric relationships. The beat-unit group and per-minute element specify regular metronome marks. The metronome-note and metronome-relation elements allow for the specification of more complicated metric relationships, such as swing tempo marks where two eighths are equated to a quarter note / eighth note triplet. The parentheses attribute indicates whether or not to put the metronome mark in parentheses; its value is no if not specified.
source <xs:complexType name="metronome">
 
<xs:annotation>
   
<xs:documentation>The metronome type represents metronome marks and other metric relationships. The beat-unit group and per-minute element specify regular metronome marks. The metronome-note and metronome-relation elements allow for the specification of more complicated metric relationships, such as swing tempo marks where two eighths are equated to a quarter note / eighth note triplet. The parentheses attribute indicates whether or not to put the metronome mark in parentheses; its value is no if not specified.</xs:documentation>
 
</xs:annotation>
 
<xs:choice>
   
<xs:sequence>
     
<xs:group ref="beat-unit"/>
     
<xs:choice>
       
<xs:element name="per-minute" type="per-minute"/>
       
<xs:group ref="beat-unit"/>
     
</xs:choice>
   
</xs:sequence>
   
<xs:sequence>
     
<xs:element name="metronome-note" type="metronome-note" maxOccurs="unbounded"/>
     
<xs:sequence minOccurs="0">
       
<xs:element name="metronome-relation" type="xs:string">
         
<xs:annotation>
           
<xs:documentation>The metronome-relation element describes the relationship symbol that goes between the two sets of metronome-note elements. The currently allowed value is equals, but this may expand in future versions. If the element is empty, the equals value is used.</xs:documentation>
         
</xs:annotation>
       
</xs:element>
       
<xs:element name="metronome-note" type="metronome-note" maxOccurs="unbounded"/>
     
</xs:sequence>
   
</xs:sequence>
 
</xs:choice>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attribute name="parentheses" type="yes-no"/>
</xs:complexType>

attribute metronome/@parentheses
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="parentheses" type="yes-no"/>

element metronome/per-minute
diagram
type per-minute
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
source <xs:element name="per-minute" type="per-minute"/>

element metronome/metronome-note
diagram
type metronome-note
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children metronome-type metronome-dot metronome-beam metronome-tuplet
source <xs:element name="metronome-note" type="metronome-note" maxOccurs="unbounded"/>

element metronome/metronome-relation
diagram
type xs:string
properties
isRef 0
content simple
annotation
documentation
The metronome-relation element describes the relationship symbol that goes between the two sets of metronome-note elements. The currently allowed value is equals, but this may expand in future versions. If the element is empty, the equals value is used.
source <xs:element name="metronome-relation" type="xs:string">
 
<xs:annotation>
   
<xs:documentation>The metronome-relation element describes the relationship symbol that goes between the two sets of metronome-note elements. The currently allowed value is equals, but this may expand in future versions. If the element is empty, the equals value is used.</xs:documentation>
 
</xs:annotation>
</xs:element>

element metronome/metronome-note
diagram
type metronome-note
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children metronome-type metronome-dot metronome-beam metronome-tuplet
source <xs:element name="metronome-note" type="metronome-note" maxOccurs="unbounded"/>

complexType metronome-beam
diagram
type extension of beam-value
properties
base beam-value
used by
element metronome-note/metronome-beam
facets
enumeration begin
enumeration continue
enumeration end
enumeration forward hook
enumeration backward hook
attributes
Name  Type  Use  Default  Fixed  annotation
numberbeam-level  1    
annotation
documentation
The metronome-beam type works like the beam type in defining metric relationships, but does not include all the attributes available in the beam type.
source <xs:complexType name="metronome-beam">
 
<xs:annotation>
   
<xs:documentation>The metronome-beam type works like the beam type in defining metric relationships, but does not include all the attributes available in the beam type.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="beam-value">
     
<xs:attribute name="number" type="beam-level" default="1"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute metronome-beam/@number
type beam-level
properties
isRef 0
default 1
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="beam-level" default="1"/>

complexType metronome-note
diagram
children metronome-type metronome-dot metronome-beam metronome-tuplet
used by
elements metronome/metronome-note metronome/metronome-note
annotation
documentation
The metronome-note type defines the appearance of a note within a metric relationship mark.
source <xs:complexType name="metronome-note">
 
<xs:annotation>
   
<xs:documentation>The metronome-note type defines the appearance of a note within a metric relationship mark.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="metronome-type" type="note-type-value">
     
<xs:annotation>
       
<xs:documentation>The metronome-type element works like the type element in defining metric relationships.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="metronome-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The metronome-dot element works like the dot element in defining metric relationships.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="metronome-beam" type="metronome-beam" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="metronome-tuplet" type="metronome-tuplet" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element metronome-note/metronome-type
diagram
type note-type-value
properties
isRef 0
content simple
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
annotation
documentation
The metronome-type element works like the type element in defining metric relationships.
source <xs:element name="metronome-type" type="note-type-value">
 
<xs:annotation>
   
<xs:documentation>The metronome-type element works like the type element in defining metric relationships.</xs:documentation>
 
</xs:annotation>
</xs:element>

element metronome-note/metronome-dot
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
annotation
documentation
The metronome-dot element works like the dot element in defining metric relationships.
source <xs:element name="metronome-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The metronome-dot element works like the dot element in defining metric relationships.</xs:documentation>
 
</xs:annotation>
</xs:element>

element metronome-note/metronome-beam
diagram
type metronome-beam
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
facets
enumeration begin
enumeration continue
enumeration end
enumeration forward hook
enumeration backward hook
attributes
Name  Type  Use  Default  Fixed  annotation
numberbeam-level  1    
source <xs:element name="metronome-beam" type="metronome-beam" minOccurs="0" maxOccurs="unbounded"/>

element metronome-note/metronome-tuplet
diagram
type metronome-tuplet
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children actual-notes normal-notes normal-type normal-dot
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
bracketyes-no      
show-numbershow-tuplet      
source <xs:element name="metronome-tuplet" type="metronome-tuplet" minOccurs="0"/>

complexType metronome-tuplet
diagram
type extension of time-modification
properties
base time-modification
children actual-notes normal-notes normal-type normal-dot
used by
element metronome-note/metronome-tuplet
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
bracketyes-no      
show-numbershow-tuplet      
annotation
documentation
The metronome-tuplet type uses the same element structure as the time-modification element along with some attributes from the tuplet element.
source <xs:complexType name="metronome-tuplet">
 
<xs:annotation>
   
<xs:documentation>The metronome-tuplet type uses the same element structure as the time-modification element along with some attributes from the tuplet element.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="time-modification">
     
<xs:attribute name="type" type="start-stop" use="required"/>
     
<xs:attribute name="bracket" type="yes-no"/>
     
<xs:attribute name="show-number" type="show-tuplet"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute metronome-tuplet/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute metronome-tuplet/@bracket
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="bracket" type="yes-no"/>

attribute metronome-tuplet/@show-number
type show-tuplet
properties
isRef 0
facets
enumeration actual
enumeration both
enumeration none
source <xs:attribute name="show-number" type="show-tuplet"/>

complexType midi-device
diagram
type extension of xs:string
properties
base xs:string
used by
element score-part/midi-device
attributes
Name  Type  Use  Default  Fixed  annotation
portmidi-16      
annotation
documentation
The midi-device type corresponds to the DeviceName meta event in Standard MIDI Files. The optional port attribute is a number from 1 to 16 that can be used with the unofficial MIDI port (or cable) meta event.
source <xs:complexType name="midi-device">
 
<xs:annotation>
   
<xs:documentation>The midi-device type corresponds to the DeviceName meta event in Standard MIDI Files. The optional port attribute is a number from 1 to 16 that can be used with the unofficial MIDI port (or cable) meta event.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="port" type="midi-16"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute midi-device/@port
type midi-16
properties
isRef 0
facets
minInclusive 1
maxInclusive 16
source <xs:attribute name="port" type="midi-16"/>

complexType midi-instrument
diagram
children midi-channel midi-name midi-bank midi-program midi-unpitched volume pan elevation
used by
elements score-part/midi-instrument sound/midi-instrument
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
annotation
documentation
The midi-instrument type defines MIDI 1.0 instrument playback. The midi-instrument element can be a part of either the score-instrument element at the start of a part, or the sound element within a part. The id attribute refers to the score-instrument affected by the change.
source <xs:complexType name="midi-instrument">
 
<xs:annotation>
   
<xs:documentation>The midi-instrument type defines MIDI 1.0 instrument playback. The midi-instrument element can be a part of either the score-instrument element at the start of a part, or the sound element within a part. The id attribute refers to the score-instrument affected by the change.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="midi-channel" type="midi-16" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The midi-channel element specifies a MIDI 1.0 channel numbers ranging from 1 to 16.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="midi-name" type="xs:string" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The midi-name element corresponds to a ProgramName meta-event within a Standard MIDI File.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="midi-bank" type="midi-16384" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The midi-bank element specified a MIDI 1.0 bank number ranging from 1 to 16,384.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="midi-program" type="midi-128" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The midi-program element specifies a MIDI 1.0 program number ranging from 1 to 128.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="midi-unpitched" type="midi-128" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>For unpitched instruments, the midi-unpitched element specifies a MIDI 1.0 note number ranging from 1 to 128. It is usually used with MIDI banks for percussion.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="volume" type="percent" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The volume element value is a percentage of the maximum ranging from 0 to 100, with decimal values allowed. This corresponds to a scaling value for the MIDI 1.0 channel volume controller.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="pan" type="rotation-degrees" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The pan and elevation elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For pan, 0 is straight ahead, -90 is hard left, 90 is hard right, and -180 and 180 are directly behind the listener.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="elevation" type="rotation-degrees" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The elevation and pan elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For elevation, 0 is level with the listener, 90 is directly above, and -90 is directly below.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
 
<xs:attribute name="id" type="xs:IDREF" use="required"/>
</xs:complexType>

attribute midi-instrument/@id
type xs:IDREF
properties
isRef 0
use required
source <xs:attribute name="id" type="xs:IDREF" use="required"/>

element midi-instrument/midi-channel
diagram
type midi-16
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 1
maxInclusive 16
annotation
documentation
The midi-channel element specifies a MIDI 1.0 channel numbers ranging from 1 to 16.
source <xs:element name="midi-channel" type="midi-16" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The midi-channel element specifies a MIDI 1.0 channel numbers ranging from 1 to 16.</xs:documentation>
 
</xs:annotation>
</xs:element>

element midi-instrument/midi-name
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The midi-name element corresponds to a ProgramName meta-event within a Standard MIDI File.
source <xs:element name="midi-name" type="xs:string" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The midi-name element corresponds to a ProgramName meta-event within a Standard MIDI File.</xs:documentation>
 
</xs:annotation>
</xs:element>

element midi-instrument/midi-bank
diagram
type midi-16384
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 1
maxInclusive 16384
annotation
documentation
The midi-bank element specified a MIDI 1.0 bank number ranging from 1 to 16,384.
source <xs:element name="midi-bank" type="midi-16384" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The midi-bank element specified a MIDI 1.0 bank number ranging from 1 to 16,384.</xs:documentation>
 
</xs:annotation>
</xs:element>

element midi-instrument/midi-program
diagram
type midi-128
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 1
maxInclusive 128
annotation
documentation
The midi-program element specifies a MIDI 1.0 program number ranging from 1 to 128.
source <xs:element name="midi-program" type="midi-128" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The midi-program element specifies a MIDI 1.0 program number ranging from 1 to 128.</xs:documentation>
 
</xs:annotation>
</xs:element>

element midi-instrument/midi-unpitched
diagram
type midi-128
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 1
maxInclusive 128
annotation
documentation
For unpitched instruments, the midi-unpitched element specifies a MIDI 1.0 note number ranging from 1 to 128. It is usually used with MIDI banks for percussion.
source <xs:element name="midi-unpitched" type="midi-128" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>For unpitched instruments, the midi-unpitched element specifies a MIDI 1.0 note number ranging from 1 to 128. It is usually used with MIDI banks for percussion.</xs:documentation>
 
</xs:annotation>
</xs:element>

element midi-instrument/volume
diagram
type percent
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 0
maxInclusive 100
annotation
documentation
The volume element value is a percentage of the maximum ranging from 0 to 100, with decimal values allowed. This corresponds to a scaling value for the MIDI 1.0 channel volume controller.
source <xs:element name="volume" type="percent" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The volume element value is a percentage of the maximum ranging from 0 to 100, with decimal values allowed. This corresponds to a scaling value for the MIDI 1.0 channel volume controller.</xs:documentation>
 
</xs:annotation>
</xs:element>

element midi-instrument/pan
diagram
type rotation-degrees
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive -180
maxInclusive 180
annotation
documentation
The pan and elevation elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For pan, 0 is straight ahead, -90 is hard left, 90 is hard right, and -180 and 180 are directly behind the listener.
source <xs:element name="pan" type="rotation-degrees" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The pan and elevation elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For pan, 0 is straight ahead, -90 is hard left, 90 is hard right, and -180 and 180 are directly behind the listener.</xs:documentation>
 
</xs:annotation>
</xs:element>

element midi-instrument/elevation
diagram
type rotation-degrees
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive -180
maxInclusive 180
annotation
documentation
The elevation and pan elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For elevation, 0 is level with the listener, 90 is directly above, and -90 is directly below.
source <xs:element name="elevation" type="rotation-degrees" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The elevation and pan elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For elevation, 0 is level with the listener, 90 is directly above, and -90 is directly below.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType miscellaneous
diagram
children miscellaneous-field
used by
element identification/miscellaneous
annotation
documentation
If a program has other metadata not yet supported in the MusicXML format, it can go in the miscellaneous element. The miscellaneous type puts each separate part of metadata into its own miscellaneous-field type.
source <xs:complexType name="miscellaneous">
 
<xs:annotation>
   
<xs:documentation>If a program has other metadata not yet supported in the MusicXML format, it can go in the miscellaneous element. The miscellaneous type puts each separate part of metadata into its own miscellaneous-field type.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="miscellaneous-field" type="miscellaneous-field" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:complexType>

element miscellaneous/miscellaneous-field
diagram
type miscellaneous-field
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
namexs:tokenrequired      
source <xs:element name="miscellaneous-field" type="miscellaneous-field" minOccurs="0" maxOccurs="unbounded"/>

complexType miscellaneous-field
diagram
type extension of xs:string
properties
base xs:string
used by
element miscellaneous/miscellaneous-field
attributes
Name  Type  Use  Default  Fixed  annotation
namexs:tokenrequired      
annotation
documentation
If a program has other metadata not yet supported in the MusicXML format, each type of metadata can go in a miscellaneous-field element. The required name attribute indicates the type of metadata the element content represents.
source <xs:complexType name="miscellaneous-field">
 
<xs:annotation>
   
<xs:documentation>If a program has other metadata not yet supported in the MusicXML format, each type of metadata can go in a miscellaneous-field element. The required name attribute indicates the type of metadata the element content represents.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="name" type="xs:token" use="required"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute miscellaneous-field/@name
type xs:token
properties
isRef 0
use required
source <xs:attribute name="name" type="xs:token" use="required"/>

complexType mordent
diagram
type extension of empty-trill-sound
properties
base empty-trill-sound
used by
elements ornaments/inverted-mordent ornaments/mordent
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
longyes-no      
annotation
documentation
The mordent type is used for both represents the mordent sign with the vertical line and the inverted-mordent sign without the line. The long attribute is "no" by default.
source <xs:complexType name="mordent">
 
<xs:annotation>
   
<xs:documentation>The mordent type is used for both represents the mordent sign with the vertical line and the inverted-mordent sign without the line. The long attribute is "no" by default.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="empty-trill-sound">
     
<xs:attribute name="long" type="yes-no"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute mordent/@long
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="long" type="yes-no"/>

complexType multiple-rest
diagram
type extension of positive-integer-or-empty
properties
base positive-integer-or-empty
used by
element measure-style/multiple-rest
attributes
Name  Type  Use  Default  Fixed  annotation
use-symbolsyes-no      
annotation
documentation
The text of the multiple-rest type indicates the number of measures in the multiple rest. Multiple rests may use the 1-bar / 2-bar / 4-bar rest symbols, or a single shape. The use-symbols attribute indicates which to use; it is no if not specified. The element text is ignored when the type is stop.
source <xs:complexType name="multiple-rest">
 
<xs:annotation>
   
<xs:documentation>The text of the multiple-rest type indicates the number of measures in the multiple rest. Multiple rests may use the 1-bar / 2-bar / 4-bar rest symbols, or a single shape. The use-symbols attribute indicates which to use; it is no if not specified. The element text is ignored when the type is stop.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="positive-integer-or-empty">
     
<xs:attribute name="use-symbols" type="yes-no"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute multiple-rest/@use-symbols
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="use-symbols" type="yes-no"/>

complexType name-display
diagram
children display-text accidental-text
used by
elements part-group/group-abbreviation-display part-group/group-name-display print/part-abbreviation-display score-part/part-abbreviation-display print/part-name-display score-part/part-name-display
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
annotation
documentation
The name-display type is used for exact formatting of multi-font text in part and group names to the left of the system. The print-object attribute can be used to determine what, if anything, is printed at the start of each system. Enclosure for the display-text element is none by default. Language for the display-text element is Italian ("it") by default.
source <xs:complexType name="name-display">
 
<xs:annotation>
   
<xs:documentation>The name-display type is used for exact formatting of multi-font text in part and group names to the left of the system. The print-object attribute can be used to determine what, if anything, is printed at the start of each system. Enclosure for the display-text element is none by default. Language for the display-text element is Italian ("it") by default.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice minOccurs="0" maxOccurs="unbounded">
     
<xs:element name="display-text" type="formatted-text"/>
     
<xs:element name="accidental-text" type="accidental-text"/>
   
</xs:choice>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-object"/>
</xs:complexType>

element name-display/display-text
diagram
type formatted-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
source <xs:element name="display-text" type="formatted-text"/>

element name-display/accidental-text
diagram
type accidental-text
properties
isRef 0
content complex
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
source <xs:element name="accidental-text" type="accidental-text"/>

complexType non-arpeggiate
diagram
used by
element notations/non-arpeggiate
attributes
Name  Type  Use  Default  Fixed  annotation
typetop-bottomrequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
annotation
documentation
The non-arpeggiate type indicates that this note is at the top or bottom of a bracket indicating to not arpeggiate these notes. Since this does not involve playback, it is only used on the top or bottom notes, not on each note as for the arpeggiate type.
source <xs:complexType name="non-arpeggiate">
 
<xs:annotation>
   
<xs:documentation>The non-arpeggiate type indicates that this note is at the top or bottom of a bracket indicating to not arpeggiate these notes. Since this does not involve playback, it is only used on the top or bottom notes, not on each note as for the arpeggiate type.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="top-bottom" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute non-arpeggiate/@type
type top-bottom
properties
isRef 0
use required
facets
enumeration top
enumeration bottom
source <xs:attribute name="type" type="top-bottom" use="required"/>

attribute non-arpeggiate/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

complexType notations
diagram
children footnote level tied slur tuplet glissando slide ornaments technical articulations dynamics fermata arpeggiate non-arpeggiate accidental-mark other-notation
used by
element note/notations
annotation
documentation
Notations refer to musical notations, not XML notations. Multiple notations are allowed in order to represent multiple editorial levels. The set of notations may be refined and expanded over time, especially to handle more instrument-specific technical notations.
source <xs:complexType name="notations">
 
<xs:annotation>
   
<xs:documentation>Notations refer to musical notations, not XML notations. Multiple notations are allowed in order to represent multiple editorial levels. The set of notations may be refined and expanded over time, especially to handle more instrument-specific technical notations.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="editorial"/>
   
<xs:choice minOccurs="0" maxOccurs="unbounded">
     
<xs:element name="tied" type="tied"/>
     
<xs:element name="slur" type="slur"/>
     
<xs:element name="tuplet" type="tuplet"/>
     
<xs:element name="glissando" type="glissando"/>
     
<xs:element name="slide" type="slide"/>
     
<xs:element name="ornaments" type="ornaments"/>
     
<xs:element name="technical" type="technical"/>
     
<xs:element name="articulations" type="articulations"/>
     
<xs:element name="dynamics" type="dynamics"/>
     
<xs:element name="fermata" type="fermata"/>
     
<xs:element name="arpeggiate" type="arpeggiate"/>
     
<xs:element name="non-arpeggiate" type="non-arpeggiate"/>
     
<xs:element name="accidental-mark" type="accidental-mark"/>
     
<xs:element name="other-notation" type="other-notation"/>
   
</xs:choice>
 
</xs:sequence>
</xs:complexType>

element notations/tied
diagram
type tied
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
orientationover-under      
bezier-offsetdivisions      
bezier-offset2divisions      
bezier-xtenths      
bezier-ytenths      
bezier-x2tenths      
bezier-y2tenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="tied" type="tied"/>

element notations/slur
diagram
type slur
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-continuerequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
orientationover-under      
bezier-offsetdivisions      
bezier-offset2divisions      
bezier-xtenths      
bezier-ytenths      
bezier-x2tenths      
bezier-y2tenths      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="slur" type="slur"/>

element notations/tuplet
diagram
type tuplet
properties
isRef 0
content complex
children tuplet-actual tuplet-normal
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
bracketyes-no      
show-numbershow-tuplet      
show-typeshow-tuplet      
line-shapeline-shape      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
source <xs:element name="tuplet" type="tuplet"/>

element notations/glissando
diagram
type glissando
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="glissando" type="glissando"/>

element notations/slide
diagram
type slide
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
accelerateyes-no      
beatstrill-beats      
first-beatpercent      
last-beatpercent      
dash-lengthtenths      
space-lengthtenths      
source <xs:element name="slide" type="slide"/>

element notations/ornaments
diagram
type ornaments
properties
isRef 0
content complex
children trill-mark turn delayed-turn inverted-turn shake wavy-line mordent inverted-mordent tremolo accidental-mark
source <xs:element name="ornaments" type="ornaments"/>

element notations/technical
diagram
type technical
properties
isRef 0
content complex
children fingering bend
source <xs:element name="technical" type="technical"/>

element notations/articulations
diagram
type articulations
properties
isRef 0
content complex
children accent strong-accent staccato tenuto detached-legato staccatissimo spiccato scoop plop doit falloff breath-mark caesura stress unstress
source <xs:element name="articulations" type="articulations"/>

element notations/dynamics
diagram
type dynamics
properties
isRef 0
content complex
children p pp ppp pppp ppppp pppppp f ff fff ffff fffff ffffff mp mf sf sfp sfpp fp rf rfz sfz sffz fz
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="dynamics" type="dynamics"/>

element notations/fermata
diagram
type fermata
properties
isRef 0
content complex
facets
enumeration normal
enumeration angled
enumeration square
enumeration 
attributes
Name  Type  Use  Default  Fixed  annotation
typeupright-inverted      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="fermata" type="fermata"/>

element notations/arpeggiate
diagram
type arpeggiate
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
numbernumber-level      
directionup-down      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
source <xs:element name="arpeggiate" type="arpeggiate"/>

element notations/non-arpeggiate
diagram
type non-arpeggiate
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typetop-bottomrequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
source <xs:element name="non-arpeggiate" type="non-arpeggiate"/>

element notations/accidental-mark
diagram
type accidental-mark
properties
isRef 0
content complex
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="accidental-mark" type="accidental-mark"/>

element notations/other-notation
diagram
type other-notation
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-singlerequired      
numbernumber-level  1    
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="other-notation" type="other-notation"/>

complexType note
diagram
children grace chord pitch unpitched rest tie cue duration tie instrument footnote level voice type dot accidental time-modification stem notehead staff beam notations lyric
used by
element music-data/note
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
print-dotyes-no      
print-spacingyes-no      
print-lyricyes-no      
dynamicsnon-negative-decimal      
end-dynamicsnon-negative-decimal      
attackdivisions      
releasedivisions      
time-onlyxs:token      
pizzicatoyes-no      
annotation
documentation
Notes are the most common type of MusicXML data. The MusicXML format keeps the MuseData distinction between elements used for sound information and elements used for notation information (e.g., tie is used for sound, tied for notation). Thus grace notes do not have a duration element. Cue notes have a duration element, as do forward elements, but no tie elements. Having these two types of information available can make interchange considerably easier, as some programs handle one type of information much more readily than the other.

The dynamics and end-dynamics attributes correspond to MIDI 1.0's Note On and Note Off velocities, respectively. They are expressed in terms of percentages of the default forte value (90 for MIDI 1.0). The attack and release attributes are used to alter the staring and stopping time of the note from when it would otherwise occur based on the flow of durations - information that is specific to a performance. They are expressed in terms of divisions, either positive or negative. A note that starts a tie should not have a release attribute, and a note that stops a tie should not have an attack attribute. If a note is played only one time through a repeat, the time-only attribute shows which time to play the note. The pizzicato attribute is used when just this note is sounded pizzicato, vs. the pizzicato element which changes overall playback between pizzicato and arco.
source <xs:complexType name="note">
 
<xs:annotation>
   
<xs:documentation>Notes are the most common type of MusicXML data. The MusicXML format keeps the MuseData distinction between elements used for sound information and elements used for notation information (e.g., tie is used for sound, tied for notation). Thus grace notes do not have a duration element. Cue notes have a duration element, as do forward elements, but no tie elements. Having these two types of information available can make interchange considerably easier, as some programs handle one type of information much more readily than the other.

The dynamics and end-dynamics attributes correspond to MIDI 1.0's Note On and Note Off velocities, respectively. They are expressed in terms of percentages of the default forte value (90 for MIDI 1.0). The attack and release attributes are used to alter the staring and stopping time of the note from when it would otherwise occur based on the flow of durations - information that is specific to a performance. They are expressed in terms of divisions, either positive or negative. A note that starts a tie should not have a release attribute, and a note that stops a tie should not have an attack attribute. If a note is played only one time through a repeat, the time-only attribute shows which time to play the note. The pizzicato attribute is used when just this note is sounded pizzicato, vs. the pizzicato element which changes overall playback between pizzicato and arco.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:choice>
     
<xs:sequence>
       
<xs:element name="grace" type="grace"/>
       
<xs:group ref="full-note"/>
       
<xs:element name="tie" type="tie" minOccurs="0" maxOccurs="2"/>
     
</xs:sequence>
     
<xs:sequence>
       
<xs:element name="cue" type="empty">
         
<xs:annotation>
           
<xs:documentation>The cue element indicates the presence of a cue note.</xs:documentation>
         
</xs:annotation>
       
</xs:element>
       
<xs:group ref="full-note"/>
       
<xs:group ref="duration"/>
     
</xs:sequence>
     
<xs:sequence>
       
<xs:group ref="full-note"/>
       
<xs:group ref="duration"/>
       
<xs:element name="tie" type="tie" minOccurs="0" maxOccurs="2"/>
     
</xs:sequence>
   
</xs:choice>
   
<xs:element name="instrument" type="instrument" minOccurs="0"/>
   
<xs:group ref="editorial-voice"/>
   
<xs:element name="type" type="note-type" minOccurs="0"/>
   
<xs:element name="dot" type="empty-placement" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>One dot element is used for each dot of prolongation. The placement element is used to specify whether the dot should appear above or below the staff line. It is ignored for notes that appear on a staff space.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="accidental" type="accidental" minOccurs="0"/>
   
<xs:element name="time-modification" type="time-modification" minOccurs="0"/>
   
<xs:element name="stem" type="stem" minOccurs="0"/>
   
<xs:element name="notehead" type="notehead" minOccurs="0"/>
   
<xs:group ref="staff" minOccurs="0"/>
   
<xs:element name="beam" type="beam" minOccurs="0" maxOccurs="6"/>
   
<xs:element name="notations" type="notations" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="lyric" type="lyric" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
 
<xs:attributeGroup ref="x-position"/>
 
<xs:attributeGroup ref="font"/>
 
<xs:attributeGroup ref="color"/>
 
<xs:attributeGroup ref="printout"/>
 
<xs:attribute name="dynamics" type="non-negative-decimal"/>
 
<xs:attribute name="end-dynamics" type="non-negative-decimal"/>
 
<xs:attribute name="attack" type="divisions"/>
 
<xs:attribute name="release" type="divisions"/>
 
<xs:attribute name="time-only" type="xs:token"/>
 
<xs:attribute name="pizzicato" type="yes-no"/>
</xs:complexType>

attribute note/@dynamics
type non-negative-decimal
properties
isRef 0
facets
minInclusive 0
source <xs:attribute name="dynamics" type="non-negative-decimal"/>

attribute note/@end-dynamics
type non-negative-decimal
properties
isRef 0
facets
minInclusive 0
source <xs:attribute name="end-dynamics" type="non-negative-decimal"/>

attribute note/@attack
type divisions
properties
isRef 0
facets
fractionDigits 0
source <xs:attribute name="attack" type="divisions"/>

attribute note/@release
type divisions
properties
isRef 0
facets
fractionDigits 0
source <xs:attribute name="release" type="divisions"/>

attribute note/@time-only
type xs:token
properties
isRef 0
source <xs:attribute name="time-only" type="xs:token"/>

attribute note/@pizzicato
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="pizzicato" type="yes-no"/>

element note/grace
diagram
type grace
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
steal-time-previouspercent      
steal-time-followingpercent      
make-timedivisions      
slashyes-no      
source <xs:element name="grace" type="grace"/>

element note/tie
diagram
type tie
properties
isRef 0
minOcc 0
maxOcc 2
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
source <xs:element name="tie" type="tie" minOccurs="0" maxOccurs="2"/>

element note/cue
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The cue element indicates the presence of a cue note.
source <xs:element name="cue" type="empty">
 
<xs:annotation>
   
<xs:documentation>The cue element indicates the presence of a cue note.</xs:documentation>
 
</xs:annotation>
</xs:element>

element note/tie
diagram
type tie
properties
isRef 0
minOcc 0
maxOcc 2
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
source <xs:element name="tie" type="tie" minOccurs="0" maxOccurs="2"/>

element note/instrument
diagram
type instrument
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
source <xs:element name="instrument" type="instrument" minOccurs="0"/>

element note/type
diagram
type note-type
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
attributes
Name  Type  Use  Default  Fixed  annotation
sizesymbol-size      
source <xs:element name="type" type="note-type" minOccurs="0"/>

element note/dot
diagram
type empty-placement
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
One dot element is used for each dot of prolongation. The placement element is used to specify whether the dot should appear above or below the staff line. It is ignored for notes that appear on a staff space.
source <xs:element name="dot" type="empty-placement" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>One dot element is used for each dot of prolongation. The placement element is used to specify whether the dot should appear above or below the staff line. It is ignored for notes that appear on a staff space.</xs:documentation>
 
</xs:annotation>
</xs:element>

element note/accidental
diagram
type accidental
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
cautionaryyes-no      
editorialyes-no      
parenthesesyes-no      
bracketyes-no      
sizesymbol-size      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="accidental" type="accidental" minOccurs="0"/>

element note/time-modification
diagram
type time-modification
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children actual-notes normal-notes normal-type normal-dot
source <xs:element name="time-modification" type="time-modification" minOccurs="0"/>

element note/stem
diagram
type stem
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration down
enumeration up
enumeration double
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
source <xs:element name="stem" type="stem" minOccurs="0"/>

element note/notehead
diagram
type notehead
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration slash
enumeration triangle
enumeration diamond
enumeration x
enumeration circle-x
enumeration inverted triangle
enumeration normal
enumeration cluster
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
filledyes-no      
parenthesesyes-no      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="notehead" type="notehead" minOccurs="0"/>

element note/beam
diagram
type beam
properties
isRef 0
minOcc 0
maxOcc 6
content complex
facets
enumeration begin
enumeration continue
enumeration end
enumeration forward hook
enumeration backward hook
attributes
Name  Type  Use  Default  Fixed  annotation
numberbeam-level  1    
colorcolor      
source <xs:element name="beam" type="beam" minOccurs="0" maxOccurs="6"/>

element note/notations
diagram
type notations
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children footnote level tied slur tuplet glissando slide ornaments technical articulations dynamics fermata arpeggiate non-arpeggiate accidental-mark other-notation
source <xs:element name="notations" type="notations" minOccurs="0" maxOccurs="unbounded"/>

element note/lyric
diagram
type lyric
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children syllabic text elision syllabic text extend extend laughing humming end-line end-paragraph footnote level
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:NMTOKEN      
namexs:token      
justifyleft-center-right      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
source <xs:element name="lyric" type="lyric" minOccurs="0" maxOccurs="unbounded"/>

complexType note-size
diagram
type extension of non-negative-decimal
properties
base non-negative-decimal
facets
minInclusive 0
attributes
Name  Type  Use  Default  Fixed  annotation
typenote-size-typerequired      
annotation
documentation
The note-size type indicates the percentage of the regular note size to use for notes with a cue and large size as defined in the type element. The grace type is used for notes of cue size that that include a grace element. The cue type is used for all other notes with cue size, whether defined explicitly or implicitly via a cue element. The large type is used for notes of large size. The text content represent the numeric percentage. A value of 100 would be identical to the size of a regular note as defined by the music font.
source <xs:complexType name="note-size">
 
<xs:annotation>
   
<xs:documentation>The note-size type indicates the percentage of the regular note size to use for notes with a cue and large size as defined in the type element. The grace type is used for notes of cue size that that include a grace element. The cue type is used for all other notes with cue size, whether defined explicitly or implicitly via a cue element. The large type is used for notes of large size. The text content represent the numeric percentage. A value of 100 would be identical to the size of a regular note as defined by the music font.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="non-negative-decimal">
     
<xs:attribute name="type" type="note-size-type" use="required"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute note-size/@type
type note-size-type
properties
isRef 0
use required
facets
enumeration cue
enumeration grace
enumeration large
source <xs:attribute name="type" type="note-size-type" use="required"/>

complexType note-type
diagram
type extension of note-type-value
properties
base note-type-value
used by
element note/type
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
attributes
Name  Type  Use  Default  Fixed  annotation
sizesymbol-size      
annotation
documentation
The note-type type indicates the graphic note type. Values range from 256th to long. The size attribute indicates full, cue, or large size, with full the default for regular notes and cue the default for cue and grace notes.
source <xs:complexType name="note-type">
 
<xs:annotation>
   
<xs:documentation>The note-type type indicates the graphic note type. Values range from 256th to long. The size attribute indicates full, cue, or large size, with full the default for regular notes and cue the default for cue and grace notes.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="note-type-value">
     
<xs:attribute name="size" type="symbol-size"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute note-type/@size
type symbol-size
properties
isRef 0
facets
enumeration full
enumeration cue
enumeration large
source <xs:attribute name="size" type="symbol-size"/>

complexType notehead
diagram
type extension of notehead-value
properties
base notehead-value
used by
element note/notehead
facets
enumeration slash
enumeration triangle
enumeration diamond
enumeration x
enumeration circle-x
enumeration inverted triangle
enumeration normal
enumeration cluster
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
filledyes-no      
parenthesesyes-no      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The notehead element indicates shapes other than the open and closed ovals associated with note durations.

For the enclosed shapes, the default is to be hollow for half notes and longer, and filled otherwise. The filled attribute can be set to change this if needed.

If the parentheses attribute is set to yes, the notehead is parenthesized. It is no by default.
source <xs:complexType name="notehead">
 
<xs:annotation>
   
<xs:documentation>The notehead element indicates shapes other than the open and closed ovals associated with note durations.

For the enclosed shapes, the default is to be hollow for half notes and longer, and filled otherwise. The filled attribute can be set to change this if needed.

If the parentheses attribute is set to yes, the notehead is parenthesized. It is no by default.
</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="notehead-value">
     
<xs:attribute name="filled" type="yes-no"/>
     
<xs:attribute name="parentheses" type="yes-no"/>
     
<xs:attributeGroup ref="font"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute notehead/@filled
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="filled" type="yes-no"/>

attribute notehead/@parentheses
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="parentheses" type="yes-no"/>

complexType octave-shift
diagram
used by
element direction-type/octave-shift
complexType octave-shift
attributes
Name  Type  Use  Default  Fixed  annotation
typeup-down-stoprequired      
numbernumber-level      
sizexs:positiveInteger  8    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The octave shift type indicates where notes are shifted up or down from their true pitched values because of printing difficulty. Thus a treble clef line noted with 8va will be indicated with an octave-shift down from the pitch data indicated in the notes. A size of 8 indicates one octave; a size of 15 indicates two octaves.
source <xs:complexType name="octave-shift">
 
<xs:annotation>
   
<xs:documentation>The octave shift type indicates where notes are shifted up or down from their true pitched values because of printing difficulty. Thus a treble clef line noted with 8va will be indicated with an octave-shift down from the pitch data indicated in the notes. A size of 8 indicates one octave; a size of 15 indicates two octaves.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="up-down-stop" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attribute name="size" type="xs:positiveInteger" default="8"/>
 
<xs:attributeGroup ref="print-style"/>
</xs:complexType>

attribute octave-shift/@type
type up-down-stop
properties
isRef 0
use required
facets
enumeration up
enumeration down
enumeration stop
source <xs:attribute name="type" type="up-down-stop" use="required"/>

attribute octave-shift/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

attribute octave-shift/@size
type xs:positiveInteger
properties
isRef 0
default 8
source <xs:attribute name="size" type="xs:positiveInteger" default="8"/>

complexType offset
diagram
type extension of divisions
properties
base divisions
used by
elements direction/offset harmony/offset sound/offset
facets
fractionDigits 0
attributes
Name  Type  Use  Default  Fixed  annotation
soundyes-no      
annotation
documentation
An offset is represented in terms of divisions, and indicates where the direction will appear relative to the current musical location. This affects the visual appearance of the direction. If the sound attribute is "yes", then the offset affects playback too. If the sound attribute is "no", then any sound associated with the direction takes effect at the current location. The sound attribute is "no" by default for compatibility with earlier versions of the MusicXML format. If an element within a direction includes a default-x attribute, the offset value will be ignored when determining the appearance of that element.
source <xs:complexType name="offset">
 
<xs:annotation>
   
<xs:documentation>An offset is represented in terms of divisions, and indicates where the direction will appear relative to the current musical location. This affects the visual appearance of the direction. If the sound attribute is "yes", then the offset affects playback too. If the sound attribute is "no", then any sound associated with the direction takes effect at the current location. The sound attribute is "no" by default for compatibility with earlier versions of the MusicXML format. If an element within a direction includes a default-x attribute, the offset value will be ignored when determining the appearance of that element.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="divisions">
     
<xs:attribute name="sound" type="yes-no"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute offset/@sound
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="sound" type="yes-no"/>

complexType opus
diagram
used by
element work/opus
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
annotation
documentation
The opus type represents a link to a MusicXML opus document that composes multiple MusicXML scores into a collection.
source <xs:complexType name="opus">
 
<xs:annotation>
   
<xs:documentation>The opus type represents a link to a MusicXML opus document that composes multiple MusicXML scores into a collection.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="link-attributes"/>
</xs:complexType>

complexType ornaments
diagram
children trill-mark turn delayed-turn inverted-turn shake wavy-line mordent inverted-mordent schleifer tremolo other-ornament accidental-mark
used by
element notations/ornaments
complexType ornaments
annotation
documentation
Ornaments can be any of several types, followed optionally by accidentals. The accidental-mark element's content is represented the same as an accidental element, but with a different name to reflect the different musical meaning.
source <xs:complexType name="ornaments">
 
<xs:annotation>
   
<xs:documentation>Ornaments can be any of several types, followed optionally by accidentals. The accidental-mark element's content is represented the same as an accidental element, but with a different name to reflect the different musical meaning.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence minOccurs="0" maxOccurs="unbounded">
   
<xs:choice>
     
<xs:element name="trill-mark" type="empty-trill-sound">
       
<xs:annotation>
         
<xs:documentation>The trill-mark element represents the trill-mark symbol.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="turn" type="empty-trill-sound">
       
<xs:annotation>
         
<xs:documentation>The turn element is the normal turn shape which goes up then down.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="delayed-turn" type="empty-trill-sound">
       
<xs:annotation>
         
<xs:documentation>The delayed-turn element indicates a normal turn that is delayed until the end of the current note.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="inverted-turn" type="empty-trill-sound">
       
<xs:annotation>
         
<xs:documentation>The inverted-turn element has the shape which goes down and then up.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="shake" type="empty-trill-sound">
       
<xs:annotation>
         
<xs:documentation>The shake element has a similar appearance to an inverted-mordent element.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="wavy-line" type="wavy-line"/>
     
<xs:element name="mordent" type="mordent">
       
<xs:annotation>
         
<xs:documentation>The mordent element represents the sign with the vertical line. The long attribute is "no" by default.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="inverted-mordent" type="mordent">
       
<xs:annotation>
         
<xs:documentation>The inverted-mordent element represents the sign without the vertical line. The long attribute is "no" by default.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="schleifer" type="empty-placement">
       
<xs:annotation>
         
<xs:documentation>The name for this ornament is based on the German, to avoid confusion with the more common slide element defined earlier.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="tremolo" type="tremolo">
       
<xs:annotation>
         
<xs:documentation>While using repeater beams was the original method for indicating tremolos, often playback and display are not well-enough integrated in an application to make that feasible. The tremolo ornament can be used to indicate either single-note or double-note tremolos.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="other-ornament" type="placement-text">
       
<xs:annotation>
         
<xs:documentation>The other-ornament element is used to define any ornaments not yet in the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
   
<xs:element name="accidental-mark" type="accidental-mark" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:complexType>

element ornaments/trill-mark
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
The trill-mark element represents the trill-mark symbol.
source <xs:element name="trill-mark" type="empty-trill-sound">
 
<xs:annotation>
   
<xs:documentation>The trill-mark element represents the trill-mark symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/turn
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
The turn element is the normal turn shape which goes up then down.
source <xs:element name="turn" type="empty-trill-sound">
 
<xs:annotation>
   
<xs:documentation>The turn element is the normal turn shape which goes up then down.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/delayed-turn
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
The delayed-turn element indicates a normal turn that is delayed until the end of the current note.
source <xs:element name="delayed-turn" type="empty-trill-sound">
 
<xs:annotation>
   
<xs:documentation>The delayed-turn element indicates a normal turn that is delayed until the end of the current note.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/inverted-turn
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
The inverted-turn element has the shape which goes down and then up.
source <xs:element name="inverted-turn" type="empty-trill-sound">
 
<xs:annotation>
   
<xs:documentation>The inverted-turn element has the shape which goes down and then up.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/shake
diagram
type empty-trill-sound
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
The shake element has a similar appearance to an inverted-mordent element.
source <xs:element name="shake" type="empty-trill-sound">
 
<xs:annotation>
   
<xs:documentation>The shake element has a similar appearance to an inverted-mordent element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/wavy-line
diagram
type wavy-line
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-continuerequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
source <xs:element name="wavy-line" type="wavy-line"/>

element ornaments/mordent
diagram
type mordent
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
longyes-no      
annotation
documentation
The mordent element represents the sign with the vertical line. The long attribute is "no" by default.
source <xs:element name="mordent" type="mordent">
 
<xs:annotation>
   
<xs:documentation>The mordent element represents the sign with the vertical line. The long attribute is "no" by default.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/inverted-mordent
diagram
type mordent
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
longyes-no      
annotation
documentation
The inverted-mordent element represents the sign without the vertical line. The long attribute is "no" by default.
source <xs:element name="inverted-mordent" type="mordent">
 
<xs:annotation>
   
<xs:documentation>The inverted-mordent element represents the sign without the vertical line. The long attribute is "no" by default.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/schleifer
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The name for this ornament is based on the German, to avoid confusion with the more common slide element defined earlier.
source <xs:element name="schleifer" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The name for this ornament is based on the German, to avoid confusion with the more common slide element defined earlier.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/tremolo
diagram
type tremolo
properties
isRef 0
content complex
facets
minInclusive 0
maxInclusive 6
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-single  single    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
While using repeater beams was the original method for indicating tremolos, often playback and display are not well-enough integrated in an application to make that feasible. The tremolo ornament can be used to indicate either single-note or double-note tremolos.
source <xs:element name="tremolo" type="tremolo">
 
<xs:annotation>
   
<xs:documentation>While using repeater beams was the original method for indicating tremolos, often playback and display are not well-enough integrated in an application to make that feasible. The tremolo ornament can be used to indicate either single-note or double-note tremolos.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/other-ornament
diagram
type placement-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The other-ornament element is used to define any ornaments not yet in the MusicXML format. This allows extended representation, though without application interoperability.
source <xs:element name="other-ornament" type="placement-text">
 
<xs:annotation>
   
<xs:documentation>The other-ornament element is used to define any ornaments not yet in the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
 
</xs:annotation>
</xs:element>

element ornaments/accidental-mark
diagram
type accidental-mark
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="accidental-mark" type="accidental-mark" minOccurs="0" maxOccurs="unbounded"/>

complexType other-appearance
diagram
type extension of xs:string
properties
base xs:string
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:tokenrequired      
annotation
documentation
The other-appearance type is used to define any graphical settings not yet in the current version of the MusicXML format. This allows extended representation, though without application interoperability.
source <xs:complexType name="other-appearance">
 
<xs:annotation>
   
<xs:documentation>The other-appearance type is used to define any graphical settings not yet in the current version of the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="type" type="xs:token" use="required"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute other-appearance/@type
type xs:token
properties
isRef 0
use required
source <xs:attribute name="type" type="xs:token" use="required"/>

complexType other-direction
diagram
type extension of xs:string
properties
base xs:string
used by
element direction-type/other-direction
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The other-direction type is used to define any direction symbols not yet in the current version of the MusicXML format. This allows extended representation, though without application interoperability.
source <xs:complexType name="other-direction">
 
<xs:annotation>
   
<xs:documentation>The other-direction type is used to define any direction symbols not yet in the current version of the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="print-object"/>
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType other-notation
diagram
type extension of xs:string
properties
base xs:string
used by
element notations/other-notation
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-singlerequired      
numbernumber-level  1    
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The other-notation type is used to define any notations not yet in the MusicXML format. This allows extended representation, though without application interoperability. It handles notations where more specific extension elements such as other-dynamics and other-technical are not appropriate.
source <xs:complexType name="other-notation">
 
<xs:annotation>
   
<xs:documentation>The other-notation type is used to define any notations not yet in the MusicXML format. This allows extended representation, though without application interoperability. It handles notations where more specific extension elements such as other-dynamics and other-technical are not appropriate.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="type" type="start-stop-single" use="required"/>
     
<xs:attribute name="number" type="number-level" default="1"/>
     
<xs:attributeGroup ref="print-object"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute other-notation/@type
type start-stop-single
properties
isRef 0
use required
facets
enumeration start
enumeration stop
enumeration single
source <xs:attribute name="type" type="start-stop-single" use="required"/>

attribute other-notation/@number
type number-level
properties
isRef 0
default 1
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level" default="1"/>

complexType page-layout
diagram
children page-height page-width page-margins
used by
element layout/page-layout
annotation
documentation
Page layout can be defined both in score-wide defaults and in the print element. Page margins are specified either for both even and odd pages, or via separate odd and even page number values. The type is not needed when used as part of a print element. If omitted when used in the defaults element, "both" is the default.
source <xs:complexType name="page-layout">
 
<xs:annotation>
   
<xs:documentation>Page layout can be defined both in score-wide defaults and in the print element. Page margins are specified either for both even and odd pages, or via separate odd and even page number values. The type is not needed when used as part of a print element. If omitted when used in the defaults element, "both" is the default.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:sequence minOccurs="0">
     
<xs:element name="page-height" type="tenths"/>
     
<xs:element name="page-width" type="tenths"/>
   
</xs:sequence>
   
<xs:element name="page-margins" type="page-margins" minOccurs="0" maxOccurs="2"/>
 
</xs:sequence>
</xs:complexType>

element page-layout/page-height
diagram
type tenths
properties
isRef 0
content simple
source <xs:element name="page-height" type="tenths"/>

element page-layout/page-width
diagram
type tenths
properties
isRef 0
content simple
source <xs:element name="page-width" type="tenths"/>

element page-layout/page-margins
diagram
type page-margins
properties
isRef 0
minOcc 0
maxOcc 2
content complex
children left-margin right-margin top-margin bottom-margin
attributes
Name  Type  Use  Default  Fixed  annotation
typemargin-type      
source <xs:element name="page-margins" type="page-margins" minOccurs="0" maxOccurs="2"/>

complexType page-margins
diagram
children left-margin right-margin top-margin bottom-margin
used by
element page-layout/page-margins
attributes
Name  Type  Use  Default  Fixed  annotation
typemargin-type      
annotation
documentation
Page margins are specified either for both even and odd pages, or via separate odd and even page number values. The type attribute is not needed when used as part of a print element. If omitted when the page-margins type is used in the defaults element, "both" is the default value.
source <xs:complexType name="page-margins">
 
<xs:annotation>
   
<xs:documentation>Page margins are specified either for both even and odd pages, or via separate odd and even page number values. The type attribute is not needed when used as part of a print element. If omitted when the page-margins type is used in the defaults element, "both" is the default value.</xs:documentation>
 
</xs:annotation>
 
<xs:group ref="all-margins"/>
 
<xs:attribute name="type" type="margin-type"/>
</xs:complexType>

attribute page-margins/@type
type margin-type
properties
isRef 0
facets
enumeration odd
enumeration even
enumeration both
source <xs:attribute name="type" type="margin-type"/>

complexType part-group
diagram
children group-name group-name-display group-abbreviation group-abbreviation-display group-symbol group-barline group-time footnote level
used by
element part-group/part-group
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numberxs:token  1    
annotation
documentation
The part-group element indicates groupings of parts in the score, usually indicated by braces and brackets. Braces that are used for multi-staff parts should be defined in the attributes element for that part. The part-group start element appears before the first score-part in the group. The part-group stop element appears after the last score-part in the group.

The number attribute is used to distinguish overlapping and nested part-groups, not the sequence of groups. As with parts, groups can have a name and abbreviation. Values for the child elements are ignored at the stop of a group.

A part-group element is not needed for a single multi-staff part. By default, multi-staff parts include a brace symbol and (if appropriate given the bar-style) common barlines. The symbol formatting for a multi-staff part can be more fully specified using the part-symbol element.
source <xs:complexType name="part-group">
 
<xs:annotation>
   
<xs:documentation>The part-group element indicates groupings of parts in the score, usually indicated by braces and brackets. Braces that are used for multi-staff parts should be defined in the attributes element for that part. The part-group start element appears before the first score-part in the group. The part-group stop element appears after the last score-part in the group.

The number attribute is used to distinguish overlapping and nested part-groups, not the sequence of groups. As with parts, groups can have a name and abbreviation. Values for the child elements are ignored at the stop of a group.

A part-group element is not needed for a single multi-staff part. By default, multi-staff parts include a brace symbol and (if appropriate given the bar-style) common barlines. The symbol formatting for a multi-staff part can be more fully specified using the part-symbol element.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="group-name" type="group-name" minOccurs="0"/>
   
<xs:element name="group-name-display" type="name-display" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>Formatting specified in the group-name-display element overrides formatting specified in the group-name element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="group-abbreviation" type="group-name" minOccurs="0"/>
   
<xs:element name="group-abbreviation-display" type="name-display" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>Formatting specified in the group-abbreviation-display element overrides formatting specified in the group-abbreviation element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="group-symbol" type="group-symbol" minOccurs="0"/>
   
<xs:element name="group-barline" type="group-barline" minOccurs="0"/>
   
<xs:element name="group-time" type="empty" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The group-time element indicates that the displayed time signatures should stretch across all parts and staves in the group.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:group ref="editorial"/>
 
</xs:sequence>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attribute name="number" type="xs:token" default="1"/>
</xs:complexType>

attribute part-group/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute part-group/@number
type xs:token
properties
isRef 0
default 1
source <xs:attribute name="number" type="xs:token" default="1"/>

element part-group/group-name
diagram
type group-name
properties
isRef 0
minOcc 0
maxOcc 1
content complex
source <xs:element name="group-name" type="group-name" minOccurs="0"/>

element part-group/group-name-display
diagram
type name-display
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children display-text accidental-text
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
annotation
documentation
Formatting specified in the group-name-display element overrides formatting specified in the group-name element.
source <xs:element name="group-name-display" type="name-display" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>Formatting specified in the group-name-display element overrides formatting specified in the group-name element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element part-group/group-abbreviation
diagram
type group-name
properties
isRef 0
minOcc 0
maxOcc 1
content complex
source <xs:element name="group-abbreviation" type="group-name" minOccurs="0"/>

element part-group/group-abbreviation-display
diagram
type name-display
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children display-text accidental-text
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
annotation
documentation
Formatting specified in the group-abbreviation-display element overrides formatting specified in the group-abbreviation element.
source <xs:element name="group-abbreviation-display" type="name-display" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>Formatting specified in the group-abbreviation-display element overrides formatting specified in the group-abbreviation element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element part-group/group-symbol
diagram
type group-symbol
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration none
enumeration brace
enumeration line
enumeration bracket
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
source <xs:element name="group-symbol" type="group-symbol" minOccurs="0"/>

element part-group/group-barline
diagram
type group-barline
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration yes
enumeration no
enumeration Mensurstrich
attributes
Name  Type  Use  Default  Fixed  annotation
colorcolor      
source <xs:element name="group-barline" type="group-barline" minOccurs="0"/>

element part-group/group-time
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc 1
content complex
annotation
documentation
The group-time element indicates that the displayed time signatures should stretch across all parts and staves in the group.
source <xs:element name="group-time" type="empty" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The group-time element indicates that the displayed time signatures should stretch across all parts and staves in the group.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType part-list
diagram
children part-group score-part
used by
element score-header/part-list
annotation
documentation
The part-list identifies the different musical parts in this movement. Each part has an ID that is used later within the musical data. Since parts may be encoded separately and combined later, identification elements are present at both the score and score-part levels. There must be at least one score-part, combined as desired with part-group elements that indicate braces and brackets. Parts are ordered from top to bottom in a score based on the order in which they appear in the part-list.
source <xs:complexType name="part-list">
 
<xs:annotation>
   
<xs:documentation>The part-list identifies the different musical parts in this movement. Each part has an ID that is used later within the musical data. Since parts may be encoded separately and combined later, identification elements are present at both the score and score-part levels. There must be at least one score-part, combined as desired with part-group elements that indicate braces and brackets. Parts are ordered from top to bottom in a score based on the order in which they appear in the part-list.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="part-group" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:group ref="score-part"/>
   
<xs:choice minOccurs="0" maxOccurs="unbounded">
     
<xs:group ref="part-group"/>
     
<xs:group ref="score-part"/>
   
</xs:choice>
 
</xs:sequence>
</xs:complexType>

complexType part-name
diagram
type extension of xs:string
properties
base xs:string
used by
elements score-part/part-abbreviation score-part/part-name
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
annotation
documentation
The part-name type describes the name or abbreviation of a score-part element. Formatting attributes for the part-name element are deprecated in Version 2.0 in favor of the new part-name-display and part-abbreviation-display elements.
source <xs:complexType name="part-name">
 
<xs:annotation>
   
<xs:documentation>The part-name type describes the name or abbreviation of a score-part element. Formatting attributes for the part-name element are deprecated in Version 2.0 in favor of the new part-name-display and part-abbreviation-display elements.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="part-name-text"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType part-symbol
diagram
type extension of group-symbol-value
properties
base group-symbol-value
used by
element attributes/part-symbol
facets
enumeration none
enumeration brace
enumeration line
enumeration bracket
attributes
Name  Type  Use  Default  Fixed  annotation
top-staffstaff-number      
bottom-staffstaff-number      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
annotation
documentation
The part-symbol element indicates how a symbol for a multi-staff part is indicated in the score. Values include none, brace, line, and bracket; brace is the default. The top-staff and bottom-staff elements are used when the brace does not extend across the entire part. For example, in a 3-staff organ part, the top-staff will typically be 1 for the right hand, while the bottom-staff will typically be 2 for the left hand. Staff 3 for the pedals is usually outside the brace.
source <xs:complexType name="part-symbol">
 
<xs:annotation>
   
<xs:documentation>The part-symbol element indicates how a symbol for a multi-staff part is indicated in the score. Values include none, brace, line, and bracket; brace is the default. The top-staff and bottom-staff elements are used when the brace does not extend across the entire part. For example, in a 3-staff organ part, the top-staff will typically be 1 for the right hand, while the bottom-staff will typically be 2 for the left hand. Staff 3 for the pedals is usually outside the brace.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="group-symbol-value">
     
<xs:attribute name="top-staff" type="staff-number"/>
     
<xs:attribute name="bottom-staff" type="staff-number"/>
     
<xs:attributeGroup ref="position"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute part-symbol/@top-staff
type staff-number
properties
isRef 0
source <xs:attribute name="top-staff" type="staff-number"/>

attribute part-symbol/@bottom-staff
type staff-number
properties
isRef 0
source <xs:attribute name="bottom-staff" type="staff-number"/>

complexType pedal
diagram
used by
element direction-type/pedal
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-changerequired      
lineyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The pedal type represents piano pedal marks. The line attribute is yes if pedal lines are used, no if Ped and * signs are used. The change type is used with line set to yes.
source <xs:complexType name="pedal">
 
<xs:annotation>
   
<xs:documentation>The pedal type represents piano pedal marks. The line attribute is yes if pedal lines are used, no if Ped and * signs are used. The change type is used with line set to yes.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop-change" use="required"/>
 
<xs:attribute name="line" type="yes-no"/>
 
<xs:attributeGroup ref="print-style"/>
</xs:complexType>

attribute pedal/@type
type start-stop-change
properties
isRef 0
use required
facets
enumeration start
enumeration stop
enumeration change
source <xs:attribute name="type" type="start-stop-change" use="required"/>

attribute pedal/@line
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="line" type="yes-no"/>

complexType pedal-tuning
diagram
children pedal-step pedal-alter
used by
element harp-pedals/pedal-tuning
annotation
documentation
The pedal-tuning type specifies the tuning of a single harp pedal.
source <xs:complexType name="pedal-tuning">
 
<xs:annotation>
   
<xs:documentation>The pedal-tuning type specifies the tuning of a single harp pedal.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="pedal-step" type="step">
     
<xs:annotation>
       
<xs:documentation>The pedal-step element defines the pitch step for a single harp pedal.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="pedal-alter" type="semitones">
     
<xs:annotation>
       
<xs:documentation>The pedal-alter element defines the chromatic alteration for a single harp pedal.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:complexType>

element pedal-tuning/pedal-step
diagram
type step
properties
isRef 0
content simple
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
annotation
documentation
The pedal-step element defines the pitch step for a single harp pedal.
source <xs:element name="pedal-step" type="step">
 
<xs:annotation>
   
<xs:documentation>The pedal-step element defines the pitch step for a single harp pedal.</xs:documentation>
 
</xs:annotation>
</xs:element>

element pedal-tuning/pedal-alter
diagram
type semitones
properties
isRef 0
content simple
annotation
documentation
The pedal-alter element defines the chromatic alteration for a single harp pedal.
source <xs:element name="pedal-alter" type="semitones">
 
<xs:annotation>
   
<xs:documentation>The pedal-alter element defines the chromatic alteration for a single harp pedal.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType per-minute
diagram
type extension of xs:string
properties
base xs:string
used by
element metronome/per-minute
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
annotation
documentation
The per-minute type can be a number, or a text description including numbers. If a font is specified, it overrides the font specified for the overall metronome element. This allows separate specification of a music font for the beat-unit and a text font for the numeric value, in cases where a single metronome font is not used.
source <xs:complexType name="per-minute">
 
<xs:annotation>
   
<xs:documentation>The per-minute type can be a number, or a text description including numbers. If a font is specified, it overrides the font specified for the overall metronome element. This allows separate specification of a music font for the beat-unit and a text font for the numeric value, in cases where a single metronome font is not used.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="font"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType pitch
diagram
children step alter octave
used by
element full-note/pitch
annotation
documentation
Pitch is represented as a combination of the step of the diatonic scale, the chromatic alteration, and the octave.
source <xs:complexType name="pitch">
 
<xs:annotation>
   
<xs:documentation>Pitch is represented as a combination of the step of the diatonic scale, the chromatic alteration, and the octave.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="step" type="step"/>
   
<xs:element name="alter" type="semitones" minOccurs="0"/>
   
<xs:element name="octave" type="octave"/>
 
</xs:sequence>
</xs:complexType>

element pitch/step
diagram
type step
properties
isRef 0
content simple
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
source <xs:element name="step" type="step"/>

element pitch/alter
diagram
type semitones
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="alter" type="semitones" minOccurs="0"/>

element pitch/octave
diagram
type octave
properties
isRef 0
content simple
facets
minInclusive 0
maxInclusive 9
source <xs:element name="octave" type="octave"/>

complexType placement-text
diagram
type extension of xs:string
properties
base xs:string
used by
element bend/with-bar
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The placement-text type represents a text element with print-style and placement attribute groups.
source <xs:complexType name="placement-text">
 
<xs:annotation>
   
<xs:documentation>The placement-text type represents a text element with print-style and placement attribute groups.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType print
diagram
children page-layout system-layout staff-layout measure-layout measure-numbering part-name-display part-abbreviation-display
used by
element music-data/print
attributes
Name  Type  Use  Default  Fixed  annotation
new-systemyes-no      
new-pageyes-no      
blank-pagexs:positiveInteger      
page-numberxs:token      
annotation
documentation
The print type contains general printing parameters, including the layout elements defined in the layout.mod file. The part-name-display and part-abbreviation-display elements used in the score.mod file may also be used here to change how a part name or abbreviation is displayed over the course of a piece. They take effect when the current measure or a succeeding measure starts a new system.

Layout elements in a print statement only apply to the current page, system, staff, or measure. Music that follows continues to take the default values from the layout included in the defaults element.
source <xs:complexType name="print">
 
<xs:annotation>
   
<xs:documentation>The print type contains general printing parameters, including the layout elements defined in the layout.mod file. The part-name-display and part-abbreviation-display elements used in the score.mod file may also be used here to change how a part name or abbreviation is displayed over the course of a piece. They take effect when the current measure or a succeeding measure starts a new system.

Layout elements in a print statement only apply to the current page, system, staff, or measure. Music that follows continues to take the default values from the layout included in the defaults element.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:group ref="layout"/>
   
<xs:element name="measure-layout" type="measure-layout" minOccurs="0"/>
   
<xs:element name="measure-numbering" type="measure-numbering" minOccurs="0"/>
   
<xs:element name="part-name-display" type="name-display" minOccurs="0"/>
   
<xs:element name="part-abbreviation-display" type="name-display" minOccurs="0"/>
 
</xs:sequence>
 
<xs:attributeGroup ref="print-attributes"/>
</xs:complexType>

element print/measure-layout
diagram
type measure-layout
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children measure-distance
source <xs:element name="measure-layout" type="measure-layout" minOccurs="0"/>

element print/measure-numbering
diagram
type measure-numbering
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration none
enumeration measure
enumeration system
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="measure-numbering" type="measure-numbering" minOccurs="0"/>

element print/part-name-display
diagram
type name-display
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children display-text accidental-text
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="part-name-display" type="name-display" minOccurs="0"/>

element print/part-abbreviation-display
diagram
type name-display
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children display-text accidental-text
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="part-abbreviation-display" type="name-display" minOccurs="0"/>

complexType rehearsal
diagram
type extension of xs:string
properties
base xs:string
used by
element direction-type/rehearsal
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
rotationrotation-degrees      
enclosurerehearsal-enclosure      
annotation
documentation
The rehearsal type specifies a rehearsal mark. Language is Italian ("it") by default. Enclosure is square by default.
source <xs:complexType name="rehearsal">
 
<xs:annotation>
   
<xs:documentation>The rehearsal type specifies a rehearsal mark. Language is Italian ("it") by default. Enclosure is square by default.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="text-decoration"/>
     
<xs:attribute ref="xml:lang"/>
     
<xs:attributeGroup ref="text-direction"/>
     
<xs:attributeGroup ref="text-rotation"/>
     
<xs:attribute name="enclosure" type="rehearsal-enclosure"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute rehearsal/@enclosure
type rehearsal-enclosure
properties
isRef 0
facets
enumeration square
enumeration circle
enumeration none
source <xs:attribute name="enclosure" type="rehearsal-enclosure"/>

complexType repeat
diagram
used by
element barline/repeat
attributes
Name  Type  Use  Default  Fixed  annotation
directionbackward-forwardrequired      
timesxs:nonNegativeInteger      
annotation
documentation
The repeat type represents repeat marks. The start of the repeat has a forward direction while the end of the repeat has a backward direction. Backward repeats that are not part of an ending can use the times attribute to indicate the number of times the repeated section is played.
source <xs:complexType name="repeat">
 
<xs:annotation>
   
<xs:documentation>The repeat type represents repeat marks. The start of the repeat has a forward direction while the end of the repeat has a backward direction. Backward repeats that are not part of an ending can use the times attribute to indicate the number of times the repeated section is played.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="direction" type="backward-forward" use="required"/>
 
<xs:attribute name="times" type="xs:nonNegativeInteger"/>
</xs:complexType>

attribute repeat/@direction
type backward-forward
properties
isRef 0
use required
facets
enumeration backward
enumeration forward
source <xs:attribute name="direction" type="backward-forward" use="required"/>

attribute repeat/@times
type xs:nonNegativeInteger
properties
isRef 0
source <xs:attribute name="times" type="xs:nonNegativeInteger"/>

complexType root
diagram
children root-step root-alter
used by
element harmony-chord/root
annotation
documentation
The root type indicates a pitch like C, D, E vs. a function indication like I, II, III. It is used with chord symbols in popular music. The root element has a root-step and optional root-alter element similar to the step and alter elements, but renamed to distinguish the different musical meanings.
source <xs:complexType name="root">
 
<xs:annotation>
   
<xs:documentation>The root type indicates a pitch like C, D, E vs. a function indication like I, II, III. It is used with chord symbols in popular music. The root element has a root-step and optional root-alter element similar to the step and alter elements, but renamed to distinguish the different musical meanings.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="root-step" type="root-step"/>
   
<xs:element name="root-alter" type="root-alter" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element root/root-step
diagram
type root-step
properties
isRef 0
content complex
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="root-step" type="root-step"/>

element root/root-alter
diagram
type root-alter
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
locationleft-right      
source <xs:element name="root-alter" type="root-alter" minOccurs="0"/>

complexType root-alter
diagram
type extension of semitones
properties
base semitones
used by
element root/root-alter
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
locationleft-right      
annotation
documentation
The root-alter type represents the chromatic alteration of the root of the current chord within the harmony element. In some chord styles, the text for the root-step element may include root-alter information. In that case, the print-object attribute of the root-alter element can be set to no. The location attribute indicates whether the alteration should appear to the left or the right of the root-step; it is right by default.
source <xs:complexType name="root-alter">
 
<xs:annotation>
   
<xs:documentation>The root-alter type represents the chromatic alteration of the root of the current chord within the harmony element. In some chord styles, the text for the root-step element may include root-alter information. In that case, the print-object attribute of the root-alter element can be set to no. The location attribute indicates whether the alteration should appear to the left or the right of the root-step; it is right by default.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="semitones">
     
<xs:attributeGroup ref="print-object"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attribute name="location" type="left-right"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute root-alter/@location
type left-right
properties
isRef 0
facets
enumeration left
enumeration right
source <xs:attribute name="location" type="left-right"/>

complexType root-step
diagram
type extension of step
properties
base step
used by
element root/root-step
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
attributes
Name  Type  Use  Default  Fixed  annotation
textxs:token      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The root-step type represents the pitch step of the root of the current chord within the harmony element. The text attribute indicates how the root should appear on the page if not using the element contents.
source <xs:complexType name="root-step">
 
<xs:annotation>
   
<xs:documentation>The root-step type represents the pitch step of the root of the current chord within the harmony element. The text attribute indicates how the root should appear on the page if not using the element contents.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="step">
     
<xs:attribute name="text" type="xs:token"/>
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute root-step/@text
type xs:token
properties
isRef 0
source <xs:attribute name="text" type="xs:token"/>

complexType scaling
diagram
children millimeters tenths
used by
element defaults/scaling
annotation
documentation
Margins, page sizes, and distances are all measured in tenths to keep MusicXML data in a consistent coordinate system as much as possible. The translation to absolute units is done with the scaling type, which specifies how many millimeters are equal to how many tenths. For a staff height of 7 mm, millimeters would be set to 7 while tenths is set to 40. The ability to set a formula rather than a single scaling factor helps avoid roundoff errors.
source <xs:complexType name="scaling">
 
<xs:annotation>
   
<xs:documentation>Margins, page sizes, and distances are all measured in tenths to keep MusicXML data in a consistent coordinate system as much as possible. The translation to absolute units is done with the scaling type, which specifies how many millimeters are equal to how many tenths. For a staff height of 7 mm, millimeters would be set to 7 while tenths is set to 40. The ability to set a formula rather than a single scaling factor helps avoid roundoff errors.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="millimeters" type="millimeters"/>
   
<xs:element name="tenths" type="tenths"/>
 
</xs:sequence>
</xs:complexType>

element scaling/millimeters
diagram
type millimeters
properties
isRef 0
content simple
source <xs:element name="millimeters" type="millimeters"/>

element scaling/tenths
diagram
type tenths
properties
isRef 0
content simple
source <xs:element name="tenths" type="tenths"/>

complexType scordatura
diagram
children accord
annotation
documentation
Scordatura string tunings are represented by a series of accord elements, similar to the staff-tuning elements. Strings are numbered from high to low.
source <xs:complexType name="scordatura">
 
<xs:annotation>
   
<xs:documentation>Scordatura string tunings are represented by a series of accord elements, similar to the staff-tuning elements. Strings are numbered from high to low.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="accord" type="accord" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:complexType>

element scordatura/accord
diagram
type accord
properties
isRef 0
minOcc 1
maxOcc unbounded
content complex
children tuning-step tuning-alter tuning-octave
attributes
Name  Type  Use  Default  Fixed  annotation
stringstring-number      
source <xs:element name="accord" type="accord" maxOccurs="unbounded"/>

complexType score-instrument
diagram
children instrument-name instrument-abbreviation solo ensemble
used by
element score-part/score-instrument
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
annotation
documentation
The score-instrument type represents a single instrument within a score-part. As with the score-part type, each score-instrument has a required ID attribute, a name, and an optional abbreviation.

A score-instrument type is also required if the score specifies MIDI 1.0 channels, banks, or programs. An initial midi-instrument assignment can also be made here. MusicXML software should be able to automatically assign reasonable channels and instruments without these elements in simple cases, such as where part names match General MIDI instrument names.
source <xs:complexType name="score-instrument">
 
<xs:annotation>
   
<xs:documentation>The score-instrument type represents a single instrument within a score-part. As with the score-part type, each score-instrument has a required ID attribute, a name, and an optional abbreviation.

A score-instrument type is also required if the score specifies MIDI 1.0 channels, banks, or programs. An initial midi-instrument assignment can also be made here. MusicXML software should be able to automatically assign reasonable channels and instruments without these elements in simple cases, such as where part names match General MIDI instrument names.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="instrument-name" type="xs:string">
     
<xs:annotation>
       
<xs:documentation>The instrument-name element is typically used within a software application, rather than appearing on the printed page of a score.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="instrument-abbreviation" type="xs:string" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The optional instrument-abbreviation element is typically used within a software application, rather than appearing on the printed page of a score.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:choice minOccurs="0">
     
<xs:element name="solo" type="empty">
       
<xs:annotation>
         
<xs:documentation>The solo element was added in Version 2.0. It is present if performance is intended by a solo instrument.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="ensemble" type="positive-integer-or-empty">
       
<xs:annotation>
         
<xs:documentation>The ensemble element was added in Version 2.0. It is present if performance is intended by an ensemble such as an orchestral section. The text of the ensemble element contains the size of the section, or is empty if the ensemble size is not specified.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:choice>
 
</xs:sequence>
 
<xs:attribute name="id" type="xs:ID" use="required"/>
</xs:complexType>

attribute score-instrument/@id
type xs:ID
properties
isRef 0
use required
source <xs:attribute name="id" type="xs:ID" use="required"/>

element score-instrument/instrument-name
diagram
type xs:string
properties
isRef 0
content simple
annotation
documentation
The instrument-name element is typically used within a software application, rather than appearing on the printed page of a score.
source <xs:element name="instrument-name" type="xs:string">
 
<xs:annotation>
   
<xs:documentation>The instrument-name element is typically used within a software application, rather than appearing on the printed page of a score.</xs:documentation>
 
</xs:annotation>
</xs:element>

element score-instrument/instrument-abbreviation
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The optional instrument-abbreviation element is typically used within a software application, rather than appearing on the printed page of a score.
source <xs:element name="instrument-abbreviation" type="xs:string" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The optional instrument-abbreviation element is typically used within a software application, rather than appearing on the printed page of a score.</xs:documentation>
 
</xs:annotation>
</xs:element>

element score-instrument/solo
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
The solo element was added in Version 2.0. It is present if performance is intended by a solo instrument.
source <xs:element name="solo" type="empty">
 
<xs:annotation>
   
<xs:documentation>The solo element was added in Version 2.0. It is present if performance is intended by a solo instrument.</xs:documentation>
 
</xs:annotation>
</xs:element>

element score-instrument/ensemble
diagram
type positive-integer-or-empty
properties
isRef 0
content simple
annotation
documentation
The ensemble element was added in Version 2.0. It is present if performance is intended by an ensemble such as an orchestral section. The text of the ensemble element contains the size of the section, or is empty if the ensemble size is not specified.
source <xs:element name="ensemble" type="positive-integer-or-empty">
 
<xs:annotation>
   
<xs:documentation>The ensemble element was added in Version 2.0. It is present if performance is intended by an ensemble such as an orchestral section. The text of the ensemble element contains the size of the section, or is empty if the ensemble size is not specified.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType score-part
diagram
children identification part-name part-name-display part-abbreviation part-abbreviation-display group score-instrument midi-device midi-instrument
used by
element score-part/score-part
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
annotation
documentation
Each MusicXML part corresponds to a track in a Standard MIDI Format 1 file. The score-instrument elements are used when there are multiple instruments per track. The midi-device element is used to make a MIDI device or port assignment for the given track. Initial midi-instrument assignments may be made here as well.
source <xs:complexType name="score-part">
 
<xs:annotation>
   
<xs:documentation>Each MusicXML part corresponds to a track in a Standard MIDI Format 1 file. The score-instrument elements are used when there are multiple instruments per track. The midi-device element is used to make a MIDI device or port assignment for the given track. Initial midi-instrument assignments may be made here as well.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="identification" type="identification" minOccurs="0"/>
   
<xs:element name="part-name" type="part-name"/>
   
<xs:element name="part-name-display" type="name-display" minOccurs="0"/>
   
<xs:element name="part-abbreviation" type="part-name" minOccurs="0"/>
   
<xs:element name="part-abbreviation-display" type="name-display" minOccurs="0"/>
   
<xs:element name="group" type="xs:string" minOccurs="0" maxOccurs="unbounded">
     
<xs:annotation>
       
<xs:documentation>The group element allows the use of different versions of the part for different purposes. Typical values include score, parts, sound, and data. Ordering information that is directly encoded in MuseData can be derived from the ordering within a MusicXML score or opus.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="score-instrument" type="score-instrument" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="midi-device" type="midi-device" minOccurs="0"/>
   
<xs:element name="midi-instrument" type="midi-instrument" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
 
<xs:attribute name="id" type="xs:ID" use="required"/>
</xs:complexType>

attribute score-part/@id
type xs:ID
properties
isRef 0
use required
source <xs:attribute name="id" type="xs:ID" use="required"/>

element score-part/identification
diagram
type identification
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children creator rights encoding source relation miscellaneous
source <xs:element name="identification" type="identification" minOccurs="0"/>

element score-part/part-name
diagram
type part-name
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="part-name" type="part-name"/>

element score-part/part-name-display
diagram
type name-display
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children display-text accidental-text
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="part-name-display" type="name-display" minOccurs="0"/>

element score-part/part-abbreviation
diagram
type part-name
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="part-abbreviation" type="part-name" minOccurs="0"/>

element score-part/part-abbreviation-display
diagram
type name-display
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children display-text accidental-text
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
source <xs:element name="part-abbreviation-display" type="name-display" minOccurs="0"/>

element score-part/group
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc unbounded
content simple
annotation
documentation
The group element allows the use of different versions of the part for different purposes. Typical values include score, parts, sound, and data. Ordering information that is directly encoded in MuseData can be derived from the ordering within a MusicXML score or opus.
source <xs:element name="group" type="xs:string" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The group element allows the use of different versions of the part for different purposes. Typical values include score, parts, sound, and data. Ordering information that is directly encoded in MuseData can be derived from the ordering within a MusicXML score or opus.</xs:documentation>
 
</xs:annotation>
</xs:element>

element score-part/score-instrument
diagram
type score-instrument
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children instrument-name instrument-abbreviation solo ensemble
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDrequired      
source <xs:element name="score-instrument" type="score-instrument" minOccurs="0" maxOccurs="unbounded"/>

element score-part/midi-device
diagram
type midi-device
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
portmidi-16      
source <xs:element name="midi-device" type="midi-device" minOccurs="0"/>

element score-part/midi-instrument
diagram
type midi-instrument
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children midi-channel midi-name midi-bank midi-program midi-unpitched volume pan elevation
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
source <xs:element name="midi-instrument" type="midi-instrument" minOccurs="0" maxOccurs="unbounded"/>

complexType slash
diagram
children slash-type slash-dot
used by
element measure-style/slash
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
use-dotsyes-no      
use-stemsyes-no      
annotation
documentation
The slash type is used to indicate that slash notation is to be used. If the slash is on every beat, use-stems is no (the default). To indicate rhythms but not pitches, use-stems is set to yes. The type attribute indicates whether this is the start or stop of a slash notation style. The use-dots attribute works as for the beat-repeat element, and only has effect if use-stems is no.
source <xs:complexType name="slash">
 
<xs:annotation>
   
<xs:documentation>The slash type is used to indicate that slash notation is to be used. If the slash is on every beat, use-stems is no (the default). To indicate rhythms but not pitches, use-stems is set to yes. The type attribute indicates whether this is the start or stop of a slash notation style. The use-dots attribute works as for the beat-repeat element, and only has effect if use-stems is no.</xs:documentation>
 
</xs:annotation>
 
<xs:group ref="slash" minOccurs="0"/>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attribute name="use-dots" type="yes-no"/>
 
<xs:attribute name="use-stems" type="yes-no"/>
</xs:complexType>

attribute slash/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute slash/@use-dots
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="use-dots" type="yes-no"/>

attribute slash/@use-stems
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="use-stems" type="yes-no"/>

complexType slide
diagram
type extension of xs:string
properties
base xs:string
used by
element notations/slide
complexType slide
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
accelerateyes-no      
beatstrill-beats      
first-beatpercent      
last-beatpercent      
annotation
documentation
Glissando and slide types both indicate rapidly moving from one pitch to the other so that individual notes are not discerned. The distinction is similar to that between NIFF's glissando and portamento elements. A slide is continuous between two notes and defaults to a solid line. The optional text for a is printed alongside the line.
source <xs:complexType name="slide">
 
<xs:annotation>
   
<xs:documentation>Glissando and slide types both indicate rapidly moving from one pitch to the other so that individual notes are not discerned. The distinction is similar to that between NIFF's glissando and portamento elements. A slide is continuous between two notes and defaults to a solid line. The optional text for a is printed alongside the line.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="type" type="start-stop" use="required"/>
     
<xs:attribute name="number" type="number-level" default="1"/>
     
<xs:attributeGroup ref="line-type"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="bend-sound"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute slide/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute slide/@number
type number-level
properties
isRef 0
default 1
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level" default="1"/>

complexType slur
diagram
used by
element notations/slur
complexType slur
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-continuerequired      
numbernumber-level  1    
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
orientationover-under      
bezier-offsetdivisions      
bezier-offset2divisions      
bezier-xtenths      
bezier-ytenths      
bezier-x2tenths      
bezier-y2tenths      
colorcolor      
annotation
documentation
Slur types are empty. Most slurs are represented with two elements: one with a start type, and one with a stop type. Slurs can add more elements using a continue type. This is typically used to specify the formatting of cross-system slurs, or to specify the shape of very complex slurs.
source <xs:complexType name="slur">
 
<xs:annotation>
   
<xs:documentation>Slur types are empty. Most slurs are represented with two elements: one with a start type, and one with a stop type. Slurs can add more elements using a continue type. This is typically used to specify the formatting of cross-system slurs, or to specify the shape of very complex slurs.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop-continue" use="required"/>
 
<xs:attribute name="number" type="number-level" default="1"/>
 
<xs:attributeGroup ref="line-type"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="orientation"/>
 
<xs:attributeGroup ref="bezier"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute slur/@type
type start-stop-continue
properties
isRef 0
use required
facets
enumeration start
enumeration stop
enumeration continue
source <xs:attribute name="type" type="start-stop-continue" use="required"/>

attribute slur/@number
type number-level
properties
isRef 0
default 1
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level" default="1"/>

complexType sound
diagram
children midi-instrument offset
used by
elements direction/sound music-data/sound
complexType sound
attributes
Name  Type  Use  Default  Fixed  annotation
temponon-negative-decimal      
dynamicsnon-negative-decimal      
dacapoyes-no      
segnoxs:token      
dalsegnoxs:token      
codaxs:token      
tocodaxs:token      
divisionsdivisions      
forward-repeatyes-no      
finexs:token      
time-onlyxs:token      
pizzicatoyes-no      
panrotation-degrees      
elevationrotation-degrees      
damper-pedalyes-no-number      
soft-pedalyes-no-number      
sostenuto-pedalyes-no-number      
annotation
documentation
The sound element contains general playback parameters. They can stand alone within a part/measure, or be a component element within a direction.

Tempo is expressed in quarter notes per minute. If 0, the sound-generating program should prompt the user at the time of compiling a sound (MIDI) file.

Dynamics (or MIDI velocity) are expressed as a percentage of the default forte value (90 for MIDI 1.0).

Dacapo indicates to go back to the beginning of the movement. When used it always has the value "yes".

Segno and dalsegno are used for backwards jumps to a segno sign; coda and tocoda are used for forward jumps to a coda sign. If there are multiple jumps, the value of these parameters can be used to name and distinguish them. If segno or coda is used, the divisions attribute can also be used to indicate the number of divisions per quarter note. Otherwise sound and MIDI generating programs may have to recompute this.

By default, a dalsegno or dacapo attribute indicates that the jump should occur the first time through, while a tocoda attribute indicates the jump should occur the second time through. The time that jumps occur can be changed by using the time-only attribute.

Forward-repeat is used when a forward repeat sign is implied, and usually follows a bar line. When used it always has the value of "yes".

The fine attribute follows the final note or rest in a movement with a da capo or dal segno direction. If numeric, the value represents the actual duration of the final note or rest, which can be ambiguous in written notation and different among parts and voices. The value may also be "yes" to indicate no change to the final duration.

If the sound element applies only one time through a repeat, the time-only attribute indicates which time to apply the sound element.

Pizzicato in a sound element effects all following notes. Yes indicates pizzicato, no indicates arco.

The pan and elevation attributes are deprecated in Version 2.0. The pan and elevation elements in the midi-instrument element should be used instead. The meaning of the pan and elevation attributes is the same as for the pan and elevation elements. If both are present, the mid-instrument elements take priority.

The damper-pedal, soft-pedal, and sostenuto-pedal attributes effect playback of the three common piano pedals and their MIDI controller equivalents. The yes value indicates the pedal is depressed; no indicates the pedal is released. A numeric value from 0 to 100 may also be used for half pedaling. This value is the percentage that the pedal is depressed. A value of 0 is equivalent to no, and a value of 100 is equivalent to yes.

MIDI instruments are changed using the midi-instrument element.

The offset element is used to indicate that the sound takes place offset from the current score position. If the sound element is a child of a direction element, the sound offset element overrides the direction offset element if both elements are present. Note that the offset reflects the intended musical position for the change in sound. It should not be used to compensate for latency issues in particular hardware configurations.
source <xs:complexType name="sound">
 
<xs:annotation>
   
<xs:documentation>The sound element contains general playback parameters. They can stand alone within a part/measure, or be a component element within a direction.

Tempo is expressed in quarter notes per minute. If 0, the sound-generating program should prompt the user at the time of compiling a sound (MIDI) file.

Dynamics (or MIDI velocity) are expressed as a percentage of the default forte value (90 for MIDI 1.0).

Dacapo indicates to go back to the beginning of the movement. When used it always has the value "yes".

Segno and dalsegno are used for backwards jumps to a segno sign; coda and tocoda are used for forward jumps to a coda sign. If there are multiple jumps, the value of these parameters can be used to name and distinguish them. If segno or coda is used, the divisions attribute can also be used to indicate the number of divisions per quarter note. Otherwise sound and MIDI generating programs may have to recompute this.

By default, a dalsegno or dacapo attribute indicates that the jump should occur the first time through, while a tocoda attribute indicates the jump should occur the second time through. The time that jumps occur can be changed by using the time-only attribute.

Forward-repeat is used when a forward repeat sign is implied, and usually follows a bar line. When used it always has the value of "yes".

The fine attribute follows the final note or rest in a movement with a da capo or dal segno direction. If numeric, the value represents the actual duration of the final note or rest, which can be ambiguous in written notation and different among parts and voices. The value may also be "yes" to indicate no change to the final duration.

If the sound element applies only one time through a repeat, the time-only attribute indicates which time to apply the sound element.

Pizzicato in a sound element effects all following notes. Yes indicates pizzicato, no indicates arco.

The pan and elevation attributes are deprecated in Version 2.0. The pan and elevation elements in the midi-instrument element should be used instead. The meaning of the pan and elevation attributes is the same as for the pan and elevation elements. If both are present, the mid-instrument elements take priority.

The damper-pedal, soft-pedal, and sostenuto-pedal attributes effect playback of the three common piano pedals and their MIDI controller equivalents. The yes value indicates the pedal is depressed; no indicates the pedal is released. A numeric value from 0 to 100 may also be used for half pedaling. This value is the percentage that the pedal is depressed. A value of 0 is equivalent to no, and a value of 100 is equivalent to yes.

MIDI instruments are changed using the midi-instrument element.

The offset element is used to indicate that the sound takes place offset from the current score position. If the sound element is a child of a direction element, the sound offset element overrides the direction offset element if both elements are present. Note that the offset reflects the intended musical position for the change in sound. It should not be used to compensate for latency issues in particular hardware configurations.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="midi-instrument" type="midi-instrument" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="offset" type="offset" minOccurs="0"/>
 
</xs:sequence>
 
<xs:attribute name="tempo" type="non-negative-decimal"/>
 
<xs:attribute name="dynamics" type="non-negative-decimal"/>
 
<xs:attribute name="dacapo" type="yes-no"/>
 
<xs:attribute name="segno" type="xs:token"/>
 
<xs:attribute name="dalsegno" type="xs:token"/>
 
<xs:attribute name="coda" type="xs:token"/>
 
<xs:attribute name="tocoda" type="xs:token"/>
 
<xs:attribute name="divisions" type="divisions"/>
 
<xs:attribute name="forward-repeat" type="yes-no"/>
 
<xs:attribute name="fine" type="xs:token"/>
 
<xs:attribute name="time-only" type="xs:token"/>
 
<xs:attribute name="pizzicato" type="yes-no"/>
 
<xs:attribute name="pan" type="rotation-degrees"/>
 
<xs:attribute name="elevation" type="rotation-degrees"/>
 
<xs:attribute name="damper-pedal" type="yes-no-number"/>
 
<xs:attribute name="soft-pedal" type="yes-no-number"/>
 
<xs:attribute name="sostenuto-pedal" type="yes-no-number"/>
</xs:complexType>

attribute sound/@tempo
type non-negative-decimal
properties
isRef 0
facets
minInclusive 0
source <xs:attribute name="tempo" type="non-negative-decimal"/>

attribute sound/@dynamics
type non-negative-decimal
properties
isRef 0
facets
minInclusive 0
source <xs:attribute name="dynamics" type="non-negative-decimal"/>

attribute sound/@dacapo
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="dacapo" type="yes-no"/>

attribute sound/@segno
type xs:token
properties
isRef 0
source <xs:attribute name="segno" type="xs:token"/>

attribute sound/@dalsegno
type xs:token
properties
isRef 0
source <xs:attribute name="dalsegno" type="xs:token"/>

attribute sound/@coda
type xs:token
properties
isRef 0
source <xs:attribute name="coda" type="xs:token"/>

attribute sound/@tocoda
type xs:token
properties
isRef 0
source <xs:attribute name="tocoda" type="xs:token"/>

attribute sound/@divisions
type divisions
properties
isRef 0
facets
fractionDigits 0
source <xs:attribute name="divisions" type="divisions"/>

attribute sound/@forward-repeat
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="forward-repeat" type="yes-no"/>

attribute sound/@fine
type xs:token
properties
isRef 0
source <xs:attribute name="fine" type="xs:token"/>

attribute sound/@time-only
type xs:token
properties
isRef 0
source <xs:attribute name="time-only" type="xs:token"/>

attribute sound/@pizzicato
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="pizzicato" type="yes-no"/>

attribute sound/@pan
type rotation-degrees
properties
isRef 0
facets
minInclusive -180
maxInclusive 180
source <xs:attribute name="pan" type="rotation-degrees"/>

attribute sound/@elevation
type rotation-degrees
properties
isRef 0
facets
minInclusive -180
maxInclusive 180
source <xs:attribute name="elevation" type="rotation-degrees"/>

attribute sound/@damper-pedal
type yes-no-number
properties
isRef 0
source <xs:attribute name="damper-pedal" type="yes-no-number"/>

attribute sound/@soft-pedal
type yes-no-number
properties
isRef 0
source <xs:attribute name="soft-pedal" type="yes-no-number"/>

attribute sound/@sostenuto-pedal
type yes-no-number
properties
isRef 0
source <xs:attribute name="sostenuto-pedal" type="yes-no-number"/>

element sound/midi-instrument
diagram
type midi-instrument
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children midi-channel midi-name midi-bank midi-program midi-unpitched volume pan elevation
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
source <xs:element name="midi-instrument" type="midi-instrument" minOccurs="0" maxOccurs="unbounded"/>

element sound/offset
diagram
type offset
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
fractionDigits 0
attributes
Name  Type  Use  Default  Fixed  annotation
soundyes-no      
source <xs:element name="offset" type="offset" minOccurs="0"/>

complexType staff-details
diagram
children staff-type staff-lines staff-tuning capo staff-size
used by
element attributes/staff-details
complexType staff-details
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
show-fretsshow-frets      
print-objectyes-no      
print-spacingyes-no      
annotation
documentation
The staff-details element is used to indicate different types of staves. The optional number attribute specifies the staff number from top to bottom on the system, as with clef. The print-object attribute is used to indicate when a staff is not printed in a part, usually in large scores where empty parts are omitted. It is yes by default. If print-spacing is yes while print-object is no, the score is printed in cutaway format where vertical space is left for the empty part.
source <xs:complexType name="staff-details">
 
<xs:annotation>
   
<xs:documentation>The staff-details element is used to indicate different types of staves. The optional number attribute specifies the staff number from top to bottom on the system, as with clef. The print-object attribute is used to indicate when a staff is not printed in a part, usually in large scores where empty parts are omitted. It is yes by default. If print-spacing is yes while print-object is no, the score is printed in cutaway format where vertical space is left for the empty part.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="staff-type" type="staff-type" minOccurs="0"/>
   
<xs:element name="staff-lines" type="xs:nonNegativeInteger" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The staff-lines element specifies the number of lines for non 5-line staffs.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="staff-tuning" type="staff-tuning" minOccurs="0" maxOccurs="unbounded"/>
   
<xs:element name="capo" type="xs:nonNegativeInteger" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The capo element indicates at which fret a capo should be placed on a fretted instrument. This changes the open tuning of the strings specified by staff-tuning by the specified number of half-steps.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="staff-size" type="non-negative-decimal" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The staff-size element indicates how large a staff space is on this staff, expressed as a percentage of the work's default scaling. Values less than 100 make the staff space smaller while values over 100 make the staff space larger. A staff-type of cue, ossia, or editorial implies a staff-size of less than 100, but the exact value is implementation-dependent unless specified here. Staff size affects staff height only, not the relationship of the staff to the left and right margins.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
 
<xs:attribute name="number" type="staff-number"/>
 
<xs:attribute name="show-frets" type="show-frets"/>
 
<xs:attributeGroup ref="print-object"/>
 
<xs:attributeGroup ref="print-spacing"/>
</xs:complexType>

attribute staff-details/@number
type staff-number
properties
isRef 0
source <xs:attribute name="number" type="staff-number"/>

attribute staff-details/@show-frets
type show-frets
properties
isRef 0
facets
enumeration numbers
enumeration letters
source <xs:attribute name="show-frets" type="show-frets"/>

element staff-details/staff-type
diagram
type staff-type
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
enumeration ossia
enumeration cue
enumeration editorial
enumeration regular
enumeration alternate
source <xs:element name="staff-type" type="staff-type" minOccurs="0"/>

element staff-details/staff-lines
diagram
type xs:nonNegativeInteger
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The staff-lines element specifies the number of lines for non 5-line staffs.
source <xs:element name="staff-lines" type="xs:nonNegativeInteger" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The staff-lines element specifies the number of lines for non 5-line staffs.</xs:documentation>
 
</xs:annotation>
</xs:element>

element staff-details/staff-tuning
diagram
type staff-tuning
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
children tuning-step tuning-alter tuning-octave
attributes
Name  Type  Use  Default  Fixed  annotation
linestaff-line      
source <xs:element name="staff-tuning" type="staff-tuning" minOccurs="0" maxOccurs="unbounded"/>

element staff-details/capo
diagram
type xs:nonNegativeInteger
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The capo element indicates at which fret a capo should be placed on a fretted instrument. This changes the open tuning of the strings specified by staff-tuning by the specified number of half-steps.
source <xs:element name="capo" type="xs:nonNegativeInteger" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The capo element indicates at which fret a capo should be placed on a fretted instrument. This changes the open tuning of the strings specified by staff-tuning by the specified number of half-steps.</xs:documentation>
 
</xs:annotation>
</xs:element>

element staff-details/staff-size
diagram
type non-negative-decimal
properties
isRef 0
minOcc 0
maxOcc 1
content simple
facets
minInclusive 0
annotation
documentation
The staff-size element indicates how large a staff space is on this staff, expressed as a percentage of the work's default scaling. Values less than 100 make the staff space smaller while values over 100 make the staff space larger. A staff-type of cue, ossia, or editorial implies a staff-size of less than 100, but the exact value is implementation-dependent unless specified here. Staff size affects staff height only, not the relationship of the staff to the left and right margins.
source <xs:element name="staff-size" type="non-negative-decimal" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The staff-size element indicates how large a staff space is on this staff, expressed as a percentage of the work's default scaling. Values less than 100 make the staff space smaller while values over 100 make the staff space larger. A staff-type of cue, ossia, or editorial implies a staff-size of less than 100, but the exact value is implementation-dependent unless specified here. Staff size affects staff height only, not the relationship of the staff to the left and right margins.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType staff-layout
diagram
children staff-distance
used by
element layout/staff-layout
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
annotation
documentation
Staff layout includes the vertical distance from the bottom line of the previous staff in this system to the top line of the staff specified by the number attribute. The optional number attribute refers to staff numbers within the part, from top to bottom on the system. A value of 1 is assumed if not present. When used in the defaults element, the values apply to all parts. This value is ignored for the first staff in a system.
source <xs:complexType name="staff-layout">
 
<xs:annotation>
   
<xs:documentation>Staff layout includes the vertical distance from the bottom line of the previous staff in this system to the top line of the staff specified by the number attribute. The optional number attribute refers to staff numbers within the part, from top to bottom on the system. A value of 1 is assumed if not present. When used in the defaults element, the values apply to all parts. This value is ignored for the first staff in a system.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="staff-distance" type="tenths" minOccurs="0"/>
 
</xs:sequence>
 
<xs:attribute name="number" type="staff-number"/>
</xs:complexType>

attribute staff-layout/@number
type staff-number
properties
isRef 0
source <xs:attribute name="number" type="staff-number"/>

element staff-layout/staff-distance
diagram
type tenths
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="staff-distance" type="tenths" minOccurs="0"/>

complexType staff-tuning
diagram
children tuning-step tuning-alter tuning-octave
attributes
Name  Type  Use  Default  Fixed  annotation
linestaff-line      
annotation
documentation
The staff-tuning type specifies the open, non-capo tuning of the lines on a tablature staff.
source <xs:complexType name="staff-tuning">
 
<xs:annotation>
   
<xs:documentation>The staff-tuning type specifies the open, non-capo tuning of the lines on a tablature staff.</xs:documentation>
 
</xs:annotation>
 
<xs:group ref="tuning"/>
 
<xs:attribute name="line" type="staff-line"/>
</xs:complexType>

attribute staff-tuning/@line
type staff-line
properties
isRef 0
source <xs:attribute name="line" type="staff-line"/>

complexType stem
diagram
type extension of stem-value
properties
base stem-value
used by
element note/stem
facets
enumeration down
enumeration up
enumeration double
enumeration none
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
annotation
documentation
Stems can be down, up, none, or double. For down and up stems, the position attributes can be used to specify stem length. The relative values specify the end of the stem relative to the program default. Default values specify an absolute end stem position. Negative values of relative-y that would flip a stem instead of shortening it are ignored.
source <xs:complexType name="stem">
 
<xs:annotation>
   
<xs:documentation>Stems can be down, up, none, or double. For down and up stems, the position attributes can be used to specify stem length. The relative values specify the end of the stem relative to the program default. Default values specify an absolute end stem position. Negative values of relative-y that would flip a stem instead of shortening it are ignored.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="stem-value">
     
<xs:attributeGroup ref="y-position"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType string
diagram
type extension of string-number
properties
base string-number
used by
element frame-note/string
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The string type is used with tablature notation, regular notation (where it is often circled), and chord diagrams. String numbers start with 1 for the highest string.
source <xs:complexType name="string">
 
<xs:annotation>
   
<xs:documentation>The string type is used with tablature notation, regular notation (where it is often circled), and chord diagrams. String numbers start with 1 for the highest string.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="string-number">
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType strong-accent
diagram
type extension of empty-placement
properties
base empty-placement
used by
element articulations/strong-accent
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
typeup-down  up    
annotation
documentation
The strong-accent type indicates a vertical accent mark. The type attribute indicates if the point of the accent is down or up.
source <xs:complexType name="strong-accent">
 
<xs:annotation>
   
<xs:documentation>The strong-accent type indicates a vertical accent mark. The type attribute indicates if the point of the accent is down or up.</xs:documentation>
 
</xs:annotation>
 
<xs:complexContent>
   
<xs:extension base="empty-placement">
     
<xs:attribute name="type" type="up-down" default="up"/>
   
</xs:extension>
 
</xs:complexContent>
</xs:complexType>

attribute strong-accent/@type
type up-down
properties
isRef 0
default up
facets
enumeration up
enumeration down
source <xs:attribute name="type" type="up-down" default="up"/>

complexType style-text
diagram
type extension of xs:string
properties
base xs:string
used by
elements figure/figure-number figure/prefix figure/suffix
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The style-text type represents a text element with a print-style attribute group.
source <xs:complexType name="style-text">
 
<xs:annotation>
   
<xs:documentation>The style-text type represents a text element with a print-style attribute group.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="print-style"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType supports
diagram
used by
element encoding/supports
attributes
Name  Type  Use  Default  Fixed  annotation
typeyes-norequired      
elementxs:NMTOKENrequired      
attributexs:NMTOKEN      
valuexs:token      
annotation
documentation
The supports type indicates if a MusicXML encoding supports a particular MusicXML element. This is recommended for elements like beam, stem, and accidental, where the absence of an element is ambiguous if you do not know if the encoding supports that element. For Version 2.0, the supports element is expanded to allow programs to indicate support for particular attributes or particular values. This lets applications communicate, for example, that all system and/or page breaks are contained in the MusicXML file.
source <xs:complexType name="supports">
 
<xs:annotation>
   
<xs:documentation>The supports type indicates if a MusicXML encoding supports a particular MusicXML element. This is recommended for elements like beam, stem, and accidental, where the absence of an element is ambiguous if you do not know if the encoding supports that element. For Version 2.0, the supports element is expanded to allow programs to indicate support for particular attributes or particular values. This lets applications communicate, for example, that all system and/or page breaks are contained in the MusicXML file.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="yes-no" use="required"/>
 
<xs:attribute name="element" type="xs:NMTOKEN" use="required"/>
 
<xs:attribute name="attribute" type="xs:NMTOKEN"/>
 
<xs:attribute name="value" type="xs:token"/>
</xs:complexType>

attribute supports/@type
type yes-no
properties
isRef 0
use required
facets
enumeration yes
enumeration no
source <xs:attribute name="type" type="yes-no" use="required"/>

attribute supports/@element
type xs:NMTOKEN
properties
isRef 0
use required
source <xs:attribute name="element" type="xs:NMTOKEN" use="required"/>

attribute supports/@attribute
type xs:NMTOKEN
properties
isRef 0
source <xs:attribute name="attribute" type="xs:NMTOKEN"/>

attribute supports/@value
type xs:token
properties
isRef 0
source <xs:attribute name="value" type="xs:token"/>

complexType system-layout
diagram
children system-margins system-distance top-system-distance
used by
element layout/system-layout
annotation
documentation
System layout includes left and right margins and the vertical distance from the previous system. The system distance is measured from the bottom line of the previous system to the top line of the current system. It is ignored for the first system on a page. The top system distance is measured from the page's top margin to the top line of the first system. It is ignored for all but the first system on a page.

Sometimes the sum of measure widths in a system may not equal the system width specified by the layout elements due to roundoff or other errors. The behavior when reading MusicXML files in these cases is application-dependent. For instance, applications may find that the system layout data is more reliable than the sum of the measure widths, and adjust the measure widths accordingly.
source <xs:complexType name="system-layout">
 
<xs:annotation>
   
<xs:documentation>System layout includes left and right margins and the vertical distance from the previous system. The system distance is measured from the bottom line of the previous system to the top line of the current system. It is ignored for the first system on a page. The top system distance is measured from the page's top margin to the top line of the first system. It is ignored for all but the first system on a page.

Sometimes the sum of measure widths in a system may not equal the system width specified by the layout elements due to roundoff or other errors. The behavior when reading MusicXML files in these cases is application-dependent. For instance, applications may find that the system layout data is more reliable than the sum of the measure widths, and adjust the measure widths accordingly.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="system-margins" type="system-margins" minOccurs="0"/>
   
<xs:element name="system-distance" type="tenths" minOccurs="0"/>
   
<xs:element name="top-system-distance" type="tenths" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element system-layout/system-margins
diagram
type system-margins
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children left-margin right-margin
source <xs:element name="system-margins" type="system-margins" minOccurs="0"/>

element system-layout/system-distance
diagram
type tenths
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="system-distance" type="tenths" minOccurs="0"/>

element system-layout/top-system-distance
diagram
type tenths
properties
isRef 0
minOcc 0
maxOcc 1
content simple
source <xs:element name="top-system-distance" type="tenths" minOccurs="0"/>

complexType system-margins
diagram
children left-margin right-margin
used by
element system-layout/system-margins
annotation
documentation
System margins are relative to the page margins. Positive values indent and negative values reduce the margin size.
source <xs:complexType name="system-margins">
 
<xs:annotation>
   
<xs:documentation>System margins are relative to the page margins. Positive values indent and negative values reduce the margin size.</xs:documentation>
 
</xs:annotation>
 
<xs:group ref="left-right-margins"/>
</xs:complexType>

complexType technical
diagram
children up-bow down-bow harmonic open-string thumb-position fingering pluck double-tongue triple-tongue stopped snap-pizzicato fret string hammer-on pull-off bend tap heel toe fingernails other-technical
used by
element notations/technical
complexType technical
annotation
documentation
Technical indications give performance information for individual instruments.
source <xs:complexType name="technical">
 
<xs:annotation>
   
<xs:documentation>Technical indications give performance information for individual instruments.</xs:documentation>
 
</xs:annotation>
 
<xs:choice minOccurs="0" maxOccurs="unbounded">
   
<xs:element name="up-bow" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The up-bow element represent the symbol that is used both for up-bowing on bowed instruments, and up-stroke on plucked instruments.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="down-bow" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The down-bow element represent the symbol that is used both for down-bowing on bowed instruments, and down-stroke on plucked instruments.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="harmonic" type="harmonic"/>
   
<xs:element name="open-string" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The open-string element represents the open string symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="thumb-position" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The thumb-position element represents the thumb position symbol.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="fingering" type="fingering"/>
   
<xs:element name="pluck" type="placement-text">
     
<xs:annotation>
       
<xs:documentation>The pluck element is used to specify the plucking fingering on a fretted instrument, where the fingering element refers to the fretting fingering. Typical values are p, i, m, a for pulgar/thumb, indicio/index, medio/middle, and anular/ring fingers.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="double-tongue" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The double-tongue element represents the double tongue symbol (two dots arranged horizontally).</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="triple-tongue" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The triple-tongue element represents the triple tongue symbol (three dots arranged horizontally).</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="stopped" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The stopped element represents the stopped symbol, which looks like a plus sign.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="snap-pizzicato" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The snap-pizzicato element represents the snap pizzicato symbol (a circle with a line).</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="fret" type="fret"/>
   
<xs:element name="string" type="string"/>
   
<xs:element name="hammer-on" type="hammer-on-pull-off"/>
   
<xs:element name="pull-off" type="hammer-on-pull-off"/>
   
<xs:element name="bend" type="bend"/>
   
<xs:element name="tap" type="placement-text">
     
<xs:annotation>
       
<xs:documentation>The tap element indicates a tap on the fretboard. The element content allows specification of the notation; + and T are common choices. If empty, the display is application-specific.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="heel" type="heel-toe"/>
   
<xs:element name="toe" type="heel-toe"/>
   
<xs:element name="fingernails" type="empty-placement">
     
<xs:annotation>
       
<xs:documentation>The fingernails element is used in harp notation.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="other-technical" type="placement-text">
     
<xs:annotation>
       
<xs:documentation>The other-technical element is used to define any technical indications not yet in the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:choice>
</xs:complexType>

element technical/up-bow
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The up-bow element represent the symbol that is used both for up-bowing on bowed instruments, and up-stroke on plucked instruments.
source <xs:element name="up-bow" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The up-bow element represent the symbol that is used both for up-bowing on bowed instruments, and up-stroke on plucked instruments.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/down-bow
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The down-bow element represent the symbol that is used both for down-bowing on bowed instruments, and down-stroke on plucked instruments.
source <xs:element name="down-bow" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The down-bow element represent the symbol that is used both for down-bowing on bowed instruments, and down-stroke on plucked instruments.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/harmonic
diagram
type harmonic
properties
isRef 0
content complex
children natural artificial base-pitch touching-pitch sounding-pitch
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="harmonic" type="harmonic"/>

element technical/open-string
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The open-string element represents the open string symbol.
source <xs:element name="open-string" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The open-string element represents the open string symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/thumb-position
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The thumb-position element represents the thumb position symbol.
source <xs:element name="thumb-position" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The thumb-position element represents the thumb position symbol.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/fingering
diagram
type fingering
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
substitutionyes-no      
alternateyes-no      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="fingering" type="fingering"/>

element technical/pluck
diagram
type placement-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The pluck element is used to specify the plucking fingering on a fretted instrument, where the fingering element refers to the fretting fingering. Typical values are p, i, m, a for pulgar/thumb, indicio/index, medio/middle, and anular/ring fingers.
source <xs:element name="pluck" type="placement-text">
 
<xs:annotation>
   
<xs:documentation>The pluck element is used to specify the plucking fingering on a fretted instrument, where the fingering element refers to the fretting fingering. Typical values are p, i, m, a for pulgar/thumb, indicio/index, medio/middle, and anular/ring fingers.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/double-tongue
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The double-tongue element represents the double tongue symbol (two dots arranged horizontally).
source <xs:element name="double-tongue" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The double-tongue element represents the double tongue symbol (two dots arranged horizontally).</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/triple-tongue
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The triple-tongue element represents the triple tongue symbol (three dots arranged horizontally).
source <xs:element name="triple-tongue" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The triple-tongue element represents the triple tongue symbol (three dots arranged horizontally).</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/stopped
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The stopped element represents the stopped symbol, which looks like a plus sign.
source <xs:element name="stopped" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The stopped element represents the stopped symbol, which looks like a plus sign.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/snap-pizzicato
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The snap-pizzicato element represents the snap pizzicato symbol (a circle with a line).
source <xs:element name="snap-pizzicato" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The snap-pizzicato element represents the snap pizzicato symbol (a circle with a line).</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/fret
diagram
type fret
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="fret" type="fret"/>

element technical/string
diagram
type string
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="string" type="string"/>

element technical/hammer-on
diagram
type hammer-on-pull-off
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="hammer-on" type="hammer-on-pull-off"/>

element technical/pull-off
diagram
type hammer-on-pull-off
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level  1    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
source <xs:element name="pull-off" type="hammer-on-pull-off"/>

element technical/bend
diagram
type bend
properties
isRef 0
content complex
children bend-alter pre-bend release with-bar
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
accelerateyes-no      
beatstrill-beats      
first-beatpercent      
last-beatpercent      
source <xs:element name="bend" type="bend"/>

element technical/tap
diagram
type placement-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The tap element indicates a tap on the fretboard. The element content allows specification of the notation; + and T are common choices. If empty, the display is application-specific.
source <xs:element name="tap" type="placement-text">
 
<xs:annotation>
   
<xs:documentation>The tap element indicates a tap on the fretboard. The element content allows specification of the notation; + and T are common choices. If empty, the display is application-specific.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/heel
diagram
type heel-toe
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
substitutionyes-no      
source <xs:element name="heel" type="heel-toe"/>

element technical/toe
diagram
type heel-toe
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
substitutionyes-no      
source <xs:element name="toe" type="heel-toe"/>

element technical/fingernails
diagram
type empty-placement
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The fingernails element is used in harp notation.
source <xs:element name="fingernails" type="empty-placement">
 
<xs:annotation>
   
<xs:documentation>The fingernails element is used in harp notation.</xs:documentation>
 
</xs:annotation>
</xs:element>

element technical/other-technical
diagram
type placement-text
properties
isRef 0
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
The other-technical element is used to define any technical indications not yet in the MusicXML format. This allows extended representation, though without application interoperability.
source <xs:element name="other-technical" type="placement-text">
 
<xs:annotation>
   
<xs:documentation>The other-technical element is used to define any technical indications not yet in the MusicXML format. This allows extended representation, though without application interoperability.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType text-element-data
diagram
type extension of xs:string
properties
base xs:string
used by
elements lyric/text lyric/text
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
annotation
documentation
The text-element-data type represents a syllable or portion of a syllable for lyric text underlay. A hyphen in the string content should only be used for an actual hyphenated word. Language names for text elements come from ISO 639, with optional country subcodes from ISO 3166.
source <xs:complexType name="text-element-data">
 
<xs:annotation>
   
<xs:documentation>The text-element-data type represents a syllable or portion of a syllable for lyric text underlay. A hyphen in the string content should only be used for an actual hyphenated word. Language names for text elements come from ISO 639, with optional country subcodes from ISO 3166.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attributeGroup ref="font"/>
     
<xs:attributeGroup ref="color"/>
     
<xs:attributeGroup ref="text-decoration"/>
     
<xs:attributeGroup ref="text-rotation"/>
     
<xs:attributeGroup ref="letter-spacing"/>
     
<xs:attribute ref="xml:lang"/>
     
<xs:attributeGroup ref="text-direction"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType tie
diagram
used by
elements note/tie note/tie
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
annotation
documentation
The tie element indicates that a tie begins or ends with this note. The tie element indicates sound; the tied element indicates notation.
source <xs:complexType name="tie">
 
<xs:annotation>
   
<xs:documentation>The tie element indicates that a tie begins or ends with this note. The tie element indicates sound; the tied element indicates notation.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop" use="required"/>
</xs:complexType>

attribute tie/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

complexType tied
diagram
used by
element notations/tied
complexType tied
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
line-typeline-type      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
orientationover-under      
bezier-offsetdivisions      
bezier-offset2divisions      
bezier-xtenths      
bezier-ytenths      
bezier-x2tenths      
bezier-y2tenths      
colorcolor      
annotation
documentation
The tied type represents the notated tie. The tie element represents the tie sound.
source <xs:complexType name="tied">
 
<xs:annotation>
   
<xs:documentation>The tied type represents the notated tie. The tie element represents the tie sound.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attributeGroup ref="line-type"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="orientation"/>
 
<xs:attributeGroup ref="bezier"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute tied/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute tied/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

complexType time
diagram
children beats beat-type senza-misura
used by
element attributes/time
complexType time
attributes
Name  Type  Use  Default  Fixed  annotation
numberstaff-number      
symboltime-symbol      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
annotation
documentation
Time signatures are represented by the beats element for the numerator and the beat-type element for the denominator. The symbol attribute is used indicate common and cut time symbols as well as a single number display. Multiple pairs of beat and beat-type elements are used for composite time signatures with multiple denominators, such as 2/4 + 3/8. A composite such as 3+2/8 requires only one beat/beat-type pair.

The print-object attribute allows a time signature to be specified but not printed, as is the case for excerpts from the middle of a score. The value is "yes" if not present. The optional number attribute refers to staff numbers within the part. If absent, the time signature applies to all staves in the part.
source <xs:complexType name="time">
 
<xs:annotation>
   
<xs:documentation>Time signatures are represented by the beats element for the numerator and the beat-type element for the denominator. The symbol attribute is used indicate common and cut time symbols as well as a single number display. Multiple pairs of beat and beat-type elements are used for composite time signatures with multiple denominators, such as 2/4 + 3/8. A composite such as 3+2/8 requires only one beat/beat-type pair.

The print-object attribute allows a time signature to be specified but not printed, as is the case for excerpts from the middle of a score. The value is "yes" if not present. The optional number attribute refers to staff numbers within the part. If absent, the time signature applies to all staves in the part.
</xs:documentation>
 
</xs:annotation>
 
<xs:choice>
   
<xs:sequence maxOccurs="unbounded">
     
<xs:element name="beats" type="xs:string">
       
<xs:annotation>
         
<xs:documentation>The beats element indicates the number of beats, as found in the numerator of a time signature.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="beat-type" type="xs:string">
       
<xs:annotation>
         
<xs:documentation>The beat-type element indicates the beat unit, as found in the denominator of a time signature.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:sequence>
   
<xs:element name="senza-misura" type="empty">
     
<xs:annotation>
       
<xs:documentation>A senza-misura element explicitly indicates that no time signature is present.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:choice>
 
<xs:attribute name="number" type="staff-number"/>
 
<xs:attribute name="symbol" type="time-symbol"/>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="print-object"/>
</xs:complexType>

attribute time/@number
type staff-number
properties
isRef 0
source <xs:attribute name="number" type="staff-number"/>

attribute time/@symbol
type time-symbol
properties
isRef 0
facets
enumeration common
enumeration cut
enumeration normal
source <xs:attribute name="symbol" type="time-symbol"/>

element time/beats
diagram
type xs:string
properties
isRef 0
content simple
annotation
documentation
The beats element indicates the number of beats, as found in the numerator of a time signature.
source <xs:element name="beats" type="xs:string">
 
<xs:annotation>
   
<xs:documentation>The beats element indicates the number of beats, as found in the numerator of a time signature.</xs:documentation>
 
</xs:annotation>
</xs:element>

element time/beat-type
diagram
type xs:string
properties
isRef 0
content simple
annotation
documentation
The beat-type element indicates the beat unit, as found in the denominator of a time signature.
source <xs:element name="beat-type" type="xs:string">
 
<xs:annotation>
   
<xs:documentation>The beat-type element indicates the beat unit, as found in the denominator of a time signature.</xs:documentation>
 
</xs:annotation>
</xs:element>

element time/senza-misura
diagram
type empty
properties
isRef 0
content complex
annotation
documentation
A senza-misura element explicitly indicates that no time signature is present.
source <xs:element name="senza-misura" type="empty">
 
<xs:annotation>
   
<xs:documentation>A senza-misura element explicitly indicates that no time signature is present.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType time-modification
diagram
children actual-notes normal-notes normal-type normal-dot
used by
element note/time-modification
complexType metronome-tuplet
annotation
documentation
The time-modification type represents tuplets and other durational changes.
source <xs:complexType name="time-modification">
 
<xs:annotation>
   
<xs:documentation>The time-modification type represents tuplets and other durational changes.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="actual-notes" type="xs:nonNegativeInteger">
     
<xs:annotation>
       
<xs:documentation>The actual-notes element describes how many notes are played in the time usually occupied by the number in the normal-notes element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="normal-notes" type="xs:nonNegativeInteger">
     
<xs:annotation>
       
<xs:documentation>The normal-notes element describes how many notes are usually played in the time occupied by the number in the actual-notes element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:sequence minOccurs="0">
     
<xs:element name="normal-type" type="note-type-value">
       
<xs:annotation>
         
<xs:documentation>If the type associated with the number in the normal-notes element is different than the current note type (e.g., a quarter note within an eighth note triplet), then the normal-notes type (e.g. eighth) is specified in the normal-type and normal-dot elements.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
     
<xs:element name="normal-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
       
<xs:annotation>
         
<xs:documentation>The normal-dot element is used to specify dotted normal tuplet types.</xs:documentation>
       
</xs:annotation>
     
</xs:element>
   
</xs:sequence>
 
</xs:sequence>
</xs:complexType>

element time-modification/actual-notes
diagram
type xs:nonNegativeInteger
properties
isRef 0
content simple
annotation
documentation
The actual-notes element describes how many notes are played in the time usually occupied by the number in the normal-notes element.
source <xs:element name="actual-notes" type="xs:nonNegativeInteger">
 
<xs:annotation>
   
<xs:documentation>The actual-notes element describes how many notes are played in the time usually occupied by the number in the normal-notes element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element time-modification/normal-notes
diagram
type xs:nonNegativeInteger
properties
isRef 0
content simple
annotation
documentation
The normal-notes element describes how many notes are usually played in the time occupied by the number in the actual-notes element.
source <xs:element name="normal-notes" type="xs:nonNegativeInteger">
 
<xs:annotation>
   
<xs:documentation>The normal-notes element describes how many notes are usually played in the time occupied by the number in the actual-notes element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element time-modification/normal-type
diagram
type note-type-value
properties
isRef 0
content simple
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
annotation
documentation
If the type associated with the number in the normal-notes element is different than the current note type (e.g., a quarter note within an eighth note triplet), then the normal-notes type (e.g. eighth) is specified in the normal-type and normal-dot elements.
source <xs:element name="normal-type" type="note-type-value">
 
<xs:annotation>
   
<xs:documentation>If the type associated with the number in the normal-notes element is different than the current note type (e.g., a quarter note within an eighth note triplet), then the normal-notes type (e.g. eighth) is specified in the normal-type and normal-dot elements.</xs:documentation>
 
</xs:annotation>
</xs:element>

element time-modification/normal-dot
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
annotation
documentation
The normal-dot element is used to specify dotted normal tuplet types.
source <xs:element name="normal-dot" type="empty" minOccurs="0" maxOccurs="unbounded">
 
<xs:annotation>
   
<xs:documentation>The normal-dot element is used to specify dotted normal tuplet types.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType transpose
diagram
children diatonic chromatic octave-change double
used by
complexType transpose
annotation
documentation
The transpose type represents what must be added to a written pitch to get a correct sounding pitch.
source <xs:complexType name="transpose">
 
<xs:annotation>
   
<xs:documentation>The transpose type represents what must be added to a written pitch to get a correct sounding pitch.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="diatonic" type="xs:integer" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The diatonic element specifies the number of pitch steps needed to go from written to sounding pitch. This allows for correct spelling of enharmonic transpositions.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="chromatic" type="semitones">
     
<xs:annotation>
       
<xs:documentation>The chromatic element represents the number of semitones needed to get from written to sounding pitch. This value does not include octave-change values; the values for both elements need to be added to the written pitch to get the correct sounding pitch.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="octave-change" type="xs:integer" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The octave-change element indicates how many octaves to add to get from written pitch to sounding pitch.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="double" type="empty" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>If the double element is present, it indicates that the music is doubled one octave down from what is currently written (as is the case for mixed cello / bass parts in orchestral literature).</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
</xs:complexType>

element transpose/diatonic
diagram
type xs:integer
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The diatonic element specifies the number of pitch steps needed to go from written to sounding pitch. This allows for correct spelling of enharmonic transpositions.
source <xs:element name="diatonic" type="xs:integer" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The diatonic element specifies the number of pitch steps needed to go from written to sounding pitch. This allows for correct spelling of enharmonic transpositions.</xs:documentation>
 
</xs:annotation>
</xs:element>

element transpose/chromatic
diagram
type semitones
properties
isRef 0
content simple
annotation
documentation
The chromatic element represents the number of semitones needed to get from written to sounding pitch. This value does not include octave-change values; the values for both elements need to be added to the written pitch to get the correct sounding pitch.
source <xs:element name="chromatic" type="semitones">
 
<xs:annotation>
   
<xs:documentation>The chromatic element represents the number of semitones needed to get from written to sounding pitch. This value does not include octave-change values; the values for both elements need to be added to the written pitch to get the correct sounding pitch.</xs:documentation>
 
</xs:annotation>
</xs:element>

element transpose/octave-change
diagram
type xs:integer
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The octave-change element indicates how many octaves to add to get from written pitch to sounding pitch.
source <xs:element name="octave-change" type="xs:integer" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The octave-change element indicates how many octaves to add to get from written pitch to sounding pitch.</xs:documentation>
 
</xs:annotation>
</xs:element>

element transpose/double
diagram
type empty
properties
isRef 0
minOcc 0
maxOcc 1
content complex
annotation
documentation
If the double element is present, it indicates that the music is doubled one octave down from what is currently written (as is the case for mixed cello / bass parts in orchestral literature).
source <xs:element name="double" type="empty" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>If the double element is present, it indicates that the music is doubled one octave down from what is currently written (as is the case for mixed cello / bass parts in orchestral literature).</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType tremolo
diagram
type extension of tremolo-marks
properties
base tremolo-marks
used by
element ornaments/tremolo
facets
minInclusive 0
maxInclusive 6
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-single  single    
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
placementabove-below      
annotation
documentation
While using repeater beams was the original method for indicating tremolos, often playback and display are not well-enough integrated in an application to make that feasible. The tremolo ornament can be used to indicate either single-note or double-note tremolos. Single-note tremolos use the single type, while double-note tremolos use the start and stop types. The default is "single" for compatibility with Version 1.1. The text of the element indicates the number of tremolo marks and is an integer from 0 to 6. Note that the number of attached beams is not included in this value, but is represented separately using the beam element.
source <xs:complexType name="tremolo">
 
<xs:annotation>
   
<xs:documentation>While using repeater beams was the original method for indicating tremolos, often playback and display are not well-enough integrated in an application to make that feasible. The tremolo ornament can be used to indicate either single-note or double-note tremolos. Single-note tremolos use the single type, while double-note tremolos use the start and stop types. The default is "single" for compatibility with Version 1.1. The text of the element indicates the number of tremolo marks and is an integer from 0 to 6. Note that the number of attached beams is not included in this value, but is represented separately using the beam element.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="tremolo-marks">
     
<xs:attribute name="type" type="start-stop-single" default="single"/>
     
<xs:attributeGroup ref="print-style"/>
     
<xs:attributeGroup ref="placement"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute tremolo/@type
type start-stop-single
properties
isRef 0
default single
facets
enumeration start
enumeration stop
enumeration single
source <xs:attribute name="type" type="start-stop-single" default="single"/>

complexType tuplet
diagram
children tuplet-actual tuplet-normal
used by
element notations/tuplet
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stoprequired      
numbernumber-level      
bracketyes-no      
show-numbershow-tuplet      
show-typeshow-tuplet      
line-shapeline-shape      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
annotation
documentation
A tuplet element is present when a tuplet is to be displayed graphically, in addition to the sound data provided by the time-modification elements. The number attribute is used to distinguish nested tuplets. The bracket attribute is used to indicate the presence of a bracket. If unspecified, the results are implementation-dependent. The line-shape attribute is used to specify whether the bracket is straight or in the older curved or slurred style. It is straight by default.

Whereas a time-modification element shows how the cumulative, sounding effect of tuplets compare to the written note type, the tuplet element describes how each tuplet is displayed.

The show-number attribute is used to display either the number of actual notes, the number of both actual and normal notes, or neither. It is actual by default. The show-type attribute is used to display either the actual type, both the actual and normal types, or neither. It is none by default.
source <xs:complexType name="tuplet">
 
<xs:annotation>
   
<xs:documentation>A tuplet element is present when a tuplet is to be displayed graphically, in addition to the sound data provided by the time-modification elements. The number attribute is used to distinguish nested tuplets. The bracket attribute is used to indicate the presence of a bracket. If unspecified, the results are implementation-dependent. The line-shape attribute is used to specify whether the bracket is straight or in the older curved or slurred style. It is straight by default.

Whereas a time-modification element shows how the cumulative, sounding effect of tuplets compare to the written note type, the tuplet element describes how each tuplet is displayed.

The show-number attribute is used to display either the number of actual notes, the number of both actual and normal notes, or neither. It is actual by default. The show-type attribute is used to display either the actual type, both the actual and normal types, or neither. It is none by default.
</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="tuplet-actual" type="tuplet-portion" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The tuplet-actual element provide optional full control over how the actual part of the tuplet is displayed, including number and note type (with dots). If any of these elements are absent, their values are based on the time-modification element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="tuplet-normal" type="tuplet-portion" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The tuplet-normal element provide optional full control over how the normal part of the tuplet is displayed, including number and note type (with dots). If any of these elements are absent, their values are based on the time-modification element.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
 
</xs:sequence>
 
<xs:attribute name="type" type="start-stop" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attribute name="bracket" type="yes-no"/>
 
<xs:attribute name="show-number" type="show-tuplet"/>
 
<xs:attribute name="show-type" type="show-tuplet"/>
 
<xs:attributeGroup ref="line-shape"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="placement"/>
</xs:complexType>

attribute tuplet/@type
type start-stop
properties
isRef 0
use required
facets
enumeration start
enumeration stop
source <xs:attribute name="type" type="start-stop" use="required"/>

attribute tuplet/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

attribute tuplet/@bracket
type yes-no
properties
isRef 0
facets
enumeration yes
enumeration no
source <xs:attribute name="bracket" type="yes-no"/>

attribute tuplet/@show-number
type show-tuplet
properties
isRef 0
facets
enumeration actual
enumeration both
enumeration none
source <xs:attribute name="show-number" type="show-tuplet"/>

attribute tuplet/@show-type
type show-tuplet
properties
isRef 0
facets
enumeration actual
enumeration both
enumeration none
source <xs:attribute name="show-type" type="show-tuplet"/>

element tuplet/tuplet-actual
diagram
type tuplet-portion
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children tuplet-number tuplet-type tuplet-dot
annotation
documentation
The tuplet-actual element provide optional full control over how the actual part of the tuplet is displayed, including number and note type (with dots). If any of these elements are absent, their values are based on the time-modification element.
source <xs:element name="tuplet-actual" type="tuplet-portion" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The tuplet-actual element provide optional full control over how the actual part of the tuplet is displayed, including number and note type (with dots). If any of these elements are absent, their values are based on the time-modification element.</xs:documentation>
 
</xs:annotation>
</xs:element>

element tuplet/tuplet-normal
diagram
type tuplet-portion
properties
isRef 0
minOcc 0
maxOcc 1
content complex
children tuplet-number tuplet-type tuplet-dot
annotation
documentation
The tuplet-normal element provide optional full control over how the normal part of the tuplet is displayed, including number and note type (with dots). If any of these elements are absent, their values are based on the time-modification element.
source <xs:element name="tuplet-normal" type="tuplet-portion" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The tuplet-normal element provide optional full control over how the normal part of the tuplet is displayed, including number and note type (with dots). If any of these elements are absent, their values are based on the time-modification element.</xs:documentation>
 
</xs:annotation>
</xs:element>

complexType tuplet-dot
diagram
used by
element tuplet-portion/tuplet-dot
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The tuplet-dot type is used to specify dotted normal tuplet types.
source <xs:complexType name="tuplet-dot">
 
<xs:annotation>
   
<xs:documentation>The tuplet-dot type is used to specify dotted normal tuplet types.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="font"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

complexType tuplet-number
diagram
type extension of xs:nonNegativeInteger
properties
base xs:nonNegativeInteger
used by
element tuplet-portion/tuplet-number
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The tuplet-number type indicates the number of notes for this portion of the tuplet.
source <xs:complexType name="tuplet-number">
 
<xs:annotation>
   
<xs:documentation>The tuplet-number type indicates the number of notes for this portion of the tuplet.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:nonNegativeInteger">
     
<xs:attributeGroup ref="font"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType tuplet-portion
diagram
children tuplet-number tuplet-type tuplet-dot
used by
elements tuplet/tuplet-actual tuplet/tuplet-normal
annotation
documentation
The tuplet-portion type provides optional full control over tuplet specifications. It allows the number and note type (including dots) to be set for the actual and normal portions of a single tuplet. If any of these elements are absent, their values are based on the time-modification element.
source <xs:complexType name="tuplet-portion">
 
<xs:annotation>
   
<xs:documentation>The tuplet-portion type provides optional full control over tuplet specifications. It allows the number and note type (including dots) to be set for the actual and normal portions of a single tuplet. If any of these elements are absent, their values are based on the time-modification element.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="tuplet-number" type="tuplet-number" minOccurs="0"/>
   
<xs:element name="tuplet-type" type="tuplet-type" minOccurs="0"/>
   
<xs:element name="tuplet-dot" type="tuplet-dot" minOccurs="0" maxOccurs="unbounded"/>
 
</xs:sequence>
</xs:complexType>

element tuplet-portion/tuplet-number
diagram
type tuplet-number
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="tuplet-number" type="tuplet-number" minOccurs="0"/>

element tuplet-portion/tuplet-type
diagram
type tuplet-type
properties
isRef 0
minOcc 0
maxOcc 1
content complex
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="tuplet-type" type="tuplet-type" minOccurs="0"/>

element tuplet-portion/tuplet-dot
diagram
type tuplet-dot
properties
isRef 0
minOcc 0
maxOcc unbounded
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
source <xs:element name="tuplet-dot" type="tuplet-dot" minOccurs="0" maxOccurs="unbounded"/>

complexType tuplet-type
diagram
type extension of note-type-value
properties
base note-type-value
used by
element tuplet-portion/tuplet-type
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The tuplet-type type indicates the graphical note type of the notes for this portion of the tuplet.
source <xs:complexType name="tuplet-type">
 
<xs:annotation>
   
<xs:documentation>The tuplet-type type indicates the graphical note type of the notes for this portion of the tuplet.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="note-type-value">
     
<xs:attributeGroup ref="font"/>
     
<xs:attributeGroup ref="color"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

complexType typed-text
diagram
type extension of xs:string
properties
base xs:string
used by
elements identification/creator encoding/encoder identification/relation identification/rights
attributes
Name  Type  Use  Default  Fixed  annotation
typexs:token      
annotation
documentation
The typed-text type represents a text element with a type attributes.
source <xs:complexType name="typed-text">
 
<xs:annotation>
   
<xs:documentation>The typed-text type represents a text element with a type attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:simpleContent>
   
<xs:extension base="xs:string">
     
<xs:attribute name="type" type="xs:token"/>
   
</xs:extension>
 
</xs:simpleContent>
</xs:complexType>

attribute typed-text/@type
type xs:token
properties
isRef 0
source <xs:attribute name="type" type="xs:token"/>

complexType wavy-line
diagram
used by
element ornaments/wavy-line
attributes
Name  Type  Use  Default  Fixed  annotation
typestart-stop-continuerequired      
numbernumber-level      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
placementabove-below      
colorcolor      
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
Wavy lines are one way to indicate trills. When used with a measure element, they should always have type="continue" set.
source <xs:complexType name="wavy-line">
 
<xs:annotation>
   
<xs:documentation>Wavy lines are one way to indicate trills. When used with a measure element, they should always have type="continue" set.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="start-stop-continue" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="placement"/>
 
<xs:attributeGroup ref="color"/>
 
<xs:attributeGroup ref="trill-sound"/>
</xs:complexType>

attribute wavy-line/@type
type start-stop-continue
properties
isRef 0
use required
facets
enumeration start
enumeration stop
enumeration continue
source <xs:attribute name="type" type="start-stop-continue" use="required"/>

attribute wavy-line/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

complexType wedge
diagram
used by
element direction-type/wedge
attributes
Name  Type  Use  Default  Fixed  annotation
typewedge-typerequired      
numbernumber-level      
spreadtenths      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
colorcolor      
annotation
documentation
The wedge type represents crescendo and diminuendo wedge symbols. The type attribute is crescendo for the start of a wedge that is closed at the left side, and diminuendo for the start of a wedge that is closed on the right side. Spread values are measured in tenths; those at the start of a crescendo wedge or end of a diminuendo wedge are ignored.
source <xs:complexType name="wedge">
 
<xs:annotation>
   
<xs:documentation>The wedge type represents crescendo and diminuendo wedge symbols. The type attribute is crescendo for the start of a wedge that is closed at the left side, and diminuendo for the start of a wedge that is closed on the right side. Spread values are measured in tenths; those at the start of a crescendo wedge or end of a diminuendo wedge are ignored.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="type" type="wedge-type" use="required"/>
 
<xs:attribute name="number" type="number-level"/>
 
<xs:attribute name="spread" type="tenths"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="color"/>
</xs:complexType>

attribute wedge/@type
type wedge-type
properties
isRef 0
use required
facets
enumeration crescendo
enumeration diminuendo
enumeration stop
source <xs:attribute name="type" type="wedge-type" use="required"/>

attribute wedge/@number
type number-level
properties
isRef 0
facets
minInclusive 1
maxInclusive 6
source <xs:attribute name="number" type="number-level"/>

attribute wedge/@spread
type tenths
properties
isRef 0
source <xs:attribute name="spread" type="tenths"/>

complexType work
diagram
children work-number work-title opus
used by
element score-header/work
annotation
documentation
Works are optionally identified by number and title. The work type also may indicate a link to the opus document that composes multiple scores into a collection.
source <xs:complexType name="work">
 
<xs:annotation>
   
<xs:documentation>Works are optionally identified by number and title. The work type also may indicate a link to the opus document that composes multiple scores into a collection.</xs:documentation>
 
</xs:annotation>
 
<xs:sequence>
   
<xs:element name="work-number" type="xs:string" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The work-number element specifies the number of a work, such as its opus number.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="work-title" type="xs:string" minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>The work-title element specifies the title of a work, not including its opus or other work number.</xs:documentation>
     
</xs:annotation>
   
</xs:element>
   
<xs:element name="opus" type="opus" minOccurs="0"/>
 
</xs:sequence>
</xs:complexType>

element work/work-number
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The work-number element specifies the number of a work, such as its opus number.
source <xs:element name="work-number" type="xs:string" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The work-number element specifies the number of a work, such as its opus number.</xs:documentation>
 
</xs:annotation>
</xs:element>

element work/work-title
diagram
type xs:string
properties
isRef 0
minOcc 0
maxOcc 1
content simple
annotation
documentation
The work-title element specifies the title of a work, not including its opus or other work number.
source <xs:element name="work-title" type="xs:string" minOccurs="0">
 
<xs:annotation>
   
<xs:documentation>The work-title element specifies the title of a work, not including its opus or other work number.</xs:documentation>
 
</xs:annotation>
</xs:element>

element work/opus
diagram
type opus
properties
isRef 0
minOcc 0
maxOcc 1
content complex
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
source <xs:element name="opus" type="opus" minOccurs="0"/>

simpleType above-below
type restriction of xs:token
used by
attribute placement/@placement
facets
enumeration above
enumeration below
annotation
documentation
The above-below type is used to indicate whether one element appears above or below another element.
source <xs:simpleType name="above-below">
 
<xs:annotation>
   
<xs:documentation>The above-below type is used to indicate whether one element appears above or below another element.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="above"/>
   
<xs:enumeration value="below"/>
 
</xs:restriction>
</xs:simpleType>

simpleType accidental-value
type restriction of xs:string
used by
complexTypes accidental accidental-mark accidental-text
simpleType accidental-value
facets
enumeration sharp
enumeration natural
enumeration flat
enumeration double-sharp
enumeration sharp-sharp
enumeration flat-flat
enumeration natural-sharp
enumeration natural-flat
enumeration quarter-flat
enumeration quarter-sharp
enumeration three-quarters-flat
enumeration three-quarters-sharp
annotation
documentation
The accidental-value type represents notated accidentals supported by MusicXML. In the MusicXML 2.0 DTD this was a string with values that could be included. The XSD strengthens the data typing to an enumerated list.
source <xs:simpleType name="accidental-value">
 
<xs:annotation>
   
<xs:documentation>The accidental-value type represents notated accidentals supported by MusicXML. In the MusicXML 2.0 DTD this was a string with values that could be included. The XSD strengthens the data typing to an enumerated list.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="sharp"/>
   
<xs:enumeration value="natural"/>
   
<xs:enumeration value="flat"/>
   
<xs:enumeration value="double-sharp"/>
   
<xs:enumeration value="sharp-sharp"/>
   
<xs:enumeration value="flat-flat"/>
   
<xs:enumeration value="natural-sharp"/>
   
<xs:enumeration value="natural-flat"/>
   
<xs:enumeration value="quarter-flat"/>
   
<xs:enumeration value="quarter-sharp"/>
   
<xs:enumeration value="three-quarters-flat"/>
   
<xs:enumeration value="three-quarters-sharp"/>
 
</xs:restriction>
</xs:simpleType>

simpleType accordion-middle
type restriction of xs:positiveInteger
used by
element accordion-registration/accordion-middle
facets
minInclusive 1
maxInclusive 3
annotation
documentation
The accordion-middle type may have values of 1, 2, or 3, corresponding to having 1 to 3 dots in the middle section of the accordion registration symbol.
source <xs:simpleType name="accordion-middle">
 
<xs:annotation>
   
<xs:documentation>The accordion-middle type may have values of 1, 2, or 3, corresponding to having 1 to 3 dots in the middle section of the accordion registration symbol.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger">
   
<xs:minInclusive value="1"/>
   
<xs:maxInclusive value="3"/>
 
</xs:restriction>
</xs:simpleType>

simpleType backward-forward
type restriction of xs:token
used by
attribute repeat/@direction
facets
enumeration backward
enumeration forward
annotation
documentation
The backward-forward type is used to specify repeat directions. The start of the repeat has a forward direction while the end of the repeat has a backward direction.
source <xs:simpleType name="backward-forward">
 
<xs:annotation>
   
<xs:documentation>The backward-forward type is used to specify repeat directions. The start of the repeat has a forward direction while the end of the repeat has a backward direction.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="backward"/>
   
<xs:enumeration value="forward"/>
 
</xs:restriction>
</xs:simpleType>

simpleType bar-style
type restriction of xs:string
used by
complexType bar-style-color
simpleType bar-style
facets
enumeration regular
enumeration dotted
enumeration dashed
enumeration heavy
enumeration light-light
enumeration light-heavy
enumeration heavy-light
enumeration heavy-heavy
enumeration tick
enumeration short
enumeration none
annotation
documentation
The bar-style type represents barline style information. Choices are regular, dotted, dashed, heavy, light-light, light-heavy, heavy-light, heavy-heavy, tick (a short stroke through the top line), short (a partial barline between the 2nd and 4th lines), and none.
source <xs:simpleType name="bar-style">
 
<xs:annotation>
   
<xs:documentation>The bar-style type represents barline style information. Choices are regular, dotted, dashed, heavy, light-light, light-heavy, heavy-light, heavy-heavy, tick (a short stroke through the top line), short (a partial barline between the 2nd and 4th lines), and none.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="regular"/>
   
<xs:enumeration value="dotted"/>
   
<xs:enumeration value="dashed"/>
   
<xs:enumeration value="heavy"/>
   
<xs:enumeration value="light-light"/>
   
<xs:enumeration value="light-heavy"/>
   
<xs:enumeration value="heavy-light"/>
   
<xs:enumeration value="heavy-heavy"/>
   
<xs:enumeration value="tick"/>
   
<xs:enumeration value="short"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType beam-level
type restriction of xs:positiveInteger
used by
attribute metronome-beam/@number
facets
minInclusive 1
maxInclusive 6
annotation
documentation
The MusicXML format supports six levels of beaming, up to 256th notes. Unlike the number-level type, the beam-level type identifies concurrent beams in a beam group. It does not distinguish overlapping beams such as grace notes within regular notes, or beams used in different voices.
source <xs:simpleType name="beam-level">
 
<xs:annotation>
   
<xs:documentation>The MusicXML format supports six levels of beaming, up to 256th notes. Unlike the number-level type, the beam-level type identifies concurrent beams in a beam group. It does not distinguish overlapping beams such as grace notes within regular notes, or beams used in different voices.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger">
   
<xs:minInclusive value="1"/>
   
<xs:maxInclusive value="6"/>
 
</xs:restriction>
</xs:simpleType>

simpleType beam-value
type restriction of xs:string
used by
complexType metronome-beam
facets
enumeration begin
enumeration continue
enumeration end
enumeration forward hook
enumeration backward hook
annotation
documentation
The beam-value type represents the type of beam associated with each of 6 beam levels (up to 256th notes) available for each note.
source <xs:simpleType name="beam-value">
 
<xs:annotation>
   
<xs:documentation>The beam-value type represents the type of beam associated with each of 6 beam levels (up to 256th notes) available for each note.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="begin"/>
   
<xs:enumeration value="continue"/>
   
<xs:enumeration value="end"/>
   
<xs:enumeration value="forward hook"/>
   
<xs:enumeration value="backward hook"/>
 
</xs:restriction>
</xs:simpleType>

simpleType clef-sign
type restriction of xs:string
used by
element clef/sign
simpleType clef-sign
facets
enumeration G
enumeration F
enumeration C
enumeration percussion
enumeration TAB
enumeration none
annotation
documentation
The clef-sign element represents the different clef symbols.
source <xs:simpleType name="clef-sign">
 
<xs:annotation>
   
<xs:documentation>The clef-sign element represents the different clef symbols.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="G"/>
   
<xs:enumeration value="F"/>
   
<xs:enumeration value="C"/>
   
<xs:enumeration value="percussion"/>
   
<xs:enumeration value="TAB"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType color
type restriction of xs:token
used by
attribute color/@color
facets
pattern #[\dA-F]{6}([\dA-F][\dA-F])?
annotation
documentation
The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF.

For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple.

As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966).
source <xs:simpleType name="color">
 
<xs:annotation>
   
<xs:documentation>The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF.

For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple.

As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966).
</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:pattern value="#[\dA-F]{6}([\dA-F][\dA-F])?"/>
 
</xs:restriction>
</xs:simpleType>

simpleType comma-separated-text
type restriction of xs:token
used by
attribute font/@font-family
facets
pattern [^,]+(, ?[^,]+)*
annotation
documentation
The comma-separated-text type is used to specify a comma-separated list of text elements, as is used by the font-family attribute.
source <xs:simpleType name="comma-separated-text">
 
<xs:annotation>
   
<xs:documentation>The comma-separated-text type is used to specify a comma-separated list of text elements, as is used by the font-family attribute.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:pattern value="[^,]+(, ?[^,]+)*"/>
 
</xs:restriction>
</xs:simpleType>

simpleType css-font-size
type restriction of xs:token
used by
simpleType font-size
facets
enumeration xx-small
enumeration x-small
enumeration small
enumeration medium
enumeration large
enumeration x-large
enumeration xx-large
annotation
documentation
The css-font-size type includes the CSS font sizes used as an alternative to a numeric point size.
source <xs:simpleType name="css-font-size">
 
<xs:annotation>
   
<xs:documentation>The css-font-size type includes the CSS font sizes used as an alternative to a numeric point size.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="xx-small"/>
   
<xs:enumeration value="x-small"/>
   
<xs:enumeration value="small"/>
   
<xs:enumeration value="medium"/>
   
<xs:enumeration value="large"/>
   
<xs:enumeration value="x-large"/>
   
<xs:enumeration value="xx-large"/>
 
</xs:restriction>
</xs:simpleType>

simpleType degree-type-value
type restriction of xs:string
used by
complexType degree-type
facets
enumeration add
enumeration alter
enumeration subtract
annotation
documentation
The degree-type-value type indicates whether the current degree element is an addition, alteration, or subtraction to the kind of the current chord in the harmony element.
source <xs:simpleType name="degree-type-value">
 
<xs:annotation>
   
<xs:documentation>The degree-type-value type indicates whether the current degree element is an addition, alteration, or subtraction to the kind of the current chord in the harmony element.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="add"/>
   
<xs:enumeration value="alter"/>
   
<xs:enumeration value="subtract"/>
 
</xs:restriction>
</xs:simpleType>

simpleType divisions
type xs:decimal
used by
complexType offset
simpleTypes divisions positive-divisions
attributes note/@attack bezier/@bezier-offset bezier/@bezier-offset2 sound/@divisions barline/@divisions grace/@make-time note/@release
annotation
documentation
The divisions type is used to express values in terms of the musical divisions defined by the divisions element. It is preferred that these be integer values both for MIDI interoperability and to avoid roundoff errors.
source <xs:simpleType name="divisions">
 
<xs:annotation>
   
<xs:documentation>The divisions type is used to express values in terms of the musical divisions defined by the divisions element. It is preferred that these be integer values both for MIDI interoperability and to avoid roundoff errors.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal"/>
</xs:simpleType>

simpleType enclosure
type restriction of xs:token
used by
attribute text-formatting/@enclosure
facets
enumeration rectangle
enumeration oval
enumeration none
annotation
documentation
The enclosure type describes the shape and presence / absence of an enclosure around text.
source <xs:simpleType name="enclosure">
 
<xs:annotation>
   
<xs:documentation>The enclosure type describes the shape and presence / absence of an enclosure around text.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="rectangle"/>
   
<xs:enumeration value="oval"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType ending-number
type restriction of xs:token
used by
simpleType ending-number
attribute ending/@number
facets
pattern ([ ]*)|([1-9][0-9]*(, ?[1-9][0-9]*)*)
annotation
documentation
The ending-number type is used to specify either a comma-separated list of positive integers without leading zeros, or a string of zero or more spaces. It is used for the number attribute of the ending element. The zero or more spaces version is used when software knows that an ending is present, but cannot determine the type of the ending.
source <xs:simpleType name="ending-number">
 
<xs:annotation>
   
<xs:documentation>The ending-number type is used to specify either a comma-separated list of positive integers without leading zeros, or a string of zero or more spaces. It is used for the number attribute of the ending element. The zero or more spaces version is used when software knows that an ending is present, but cannot determine the type of the ending.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:pattern value="([ ]*)|([1-9][0-9]*(, ?[1-9][0-9]*)*)"/>
 
</xs:restriction>
</xs:simpleType>

simpleType fan
type restriction of xs:token
used by
attribute beam/@fan
facets
enumeration accel
enumeration rit
enumeration none
annotation
documentation
The fan type represents the type of beam fanning present on a note, used to represent accelerandos and ritardandos.
source <xs:simpleType name="fan">
 
<xs:annotation>
   
<xs:documentation>The fan type represents the type of beam fanning present on a note, used to represent accelerandos and ritardandos.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="accel"/>
   
<xs:enumeration value="rit"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType fermata-shape
type restriction of xs:string
used by
complexType fermata
facets
enumeration normal
enumeration angled
enumeration square
enumeration 
annotation
documentation
The fermata-shape type represents the shape of the fermata sign. The empty value is equivalent to the normal value.
source <xs:simpleType name="fermata-shape">
 
<xs:annotation>
   
<xs:documentation>The fermata-shape type represents the shape of the fermata sign. The empty value is equivalent to the normal value.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="normal"/>
   
<xs:enumeration value="angled"/>
   
<xs:enumeration value="square"/>
   
<xs:enumeration value=""/>
 
</xs:restriction>
</xs:simpleType>

simpleType fifths
type xs:integer
used by
element traditional-key/fifths
complexType cancel
simpleType fifths
annotation
documentation
The fifths type represents the number of flats or sharps in a traditional key signature. Negative numbers are used for flats and positive numbers for sharps, reflecting the key's placement within the circle of fifths (hence the type name).
source <xs:simpleType name="fifths">
 
<xs:annotation>
   
<xs:documentation>The fifths type represents the number of flats or sharps in a traditional key signature. Negative numbers are used for flats and positive numbers for sharps, reflecting the key's placement within the circle of fifths (hence the type name).</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:integer"/>
</xs:simpleType>

simpleType font-size
type union of (xs:decimal, css-font-size)
used by
attribute font/@font-size
annotation
documentation
The font-size can be one of the CSS font sizes or a numeric point size.
source <xs:simpleType name="font-size">
 
<xs:annotation>
   
<xs:documentation>The font-size can be one of the CSS font sizes or a numeric point size.</xs:documentation>
 
</xs:annotation>
 
<xs:union memberTypes="xs:decimal css-font-size"/>
</xs:simpleType>

simpleType font-style
type restriction of xs:token
used by
attribute font/@font-style
facets
enumeration normal
enumeration italic
annotation
documentation
The font-style type represents a simplified version of the CSS font-style property.
source <xs:simpleType name="font-style">
 
<xs:annotation>
   
<xs:documentation>The font-style type represents a simplified version of the CSS font-style property.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="normal"/>
   
<xs:enumeration value="italic"/>
 
</xs:restriction>
</xs:simpleType>

simpleType font-weight
type restriction of xs:token
used by
attribute font/@font-weight
facets
enumeration normal
enumeration bold
annotation
documentation
The font-weight type represents a simplified version of the CSS font-weight property.
source <xs:simpleType name="font-weight">
 
<xs:annotation>
   
<xs:documentation>The font-weight type represents a simplified version of the CSS font-weight property.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="normal"/>
   
<xs:enumeration value="bold"/>
 
</xs:restriction>
</xs:simpleType>

simpleType group-barline-value
type restriction of xs:string
used by
complexType group-barline
facets
enumeration yes
enumeration no
enumeration Mensurstrich
annotation
documentation
The group-barline-value type indicates if the group should have common barlines.
source <xs:simpleType name="group-barline-value">
 
<xs:annotation>
   
<xs:documentation>The group-barline-value type indicates if the group should have common barlines.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="yes"/>
   
<xs:enumeration value="no"/>
   
<xs:enumeration value="Mensurstrich"/>
 
</xs:restriction>
</xs:simpleType>

simpleType group-symbol-value
type restriction of xs:string
used by
complexTypes group-symbol part-symbol
facets
enumeration none
enumeration brace
enumeration line
enumeration bracket
annotation
documentation
The group-symbol-value type indicates how the symbol for a group is indicated in the score. The default value is none.
source <xs:simpleType name="group-symbol-value">
 
<xs:annotation>
   
<xs:documentation>The group-symbol-value type indicates how the symbol for a group is indicated in the score. The default value is none.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="none"/>
   
<xs:enumeration value="brace"/>
   
<xs:enumeration value="line"/>
   
<xs:enumeration value="bracket"/>
 
</xs:restriction>
</xs:simpleType>

simpleType harmony-type
type restriction of xs:token
used by
attribute harmony/@type
facets
enumeration explicit
enumeration implied
enumeration alternate
annotation
documentation
The harmony-type type differentiates different types of harmonies when alternate harmonies are possible. Explicit harmonies have all note present in the music; implied have some notes missing but implied; alternate represents alternate analyses.
source <xs:simpleType name="harmony-type">
 
<xs:annotation>
   
<xs:documentation>The harmony-type type differentiates different types of harmonies when alternate harmonies are possible. Explicit harmonies have all note present in the music; implied have some notes missing but implied; alternate represents alternate analyses.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="explicit"/>
   
<xs:enumeration value="implied"/>
   
<xs:enumeration value="alternate"/>
 
</xs:restriction>
</xs:simpleType>

simpleType kind-value
type restriction of xs:string
used by
complexType kind
simpleType kind-value
facets
enumeration major
enumeration minor
enumeration augmented
enumeration diminished
enumeration dominant
enumeration major-seventh
enumeration minor-seventh
enumeration diminished-seventh
enumeration augmented-seventh
enumeration half-diminished
enumeration major-minor
enumeration major-sixth
enumeration minor-sixth
enumeration dominant-ninth
enumeration major-ninth
enumeration minor-ninth
enumeration dominant-11th
enumeration major-11th
enumeration minor-11th
enumeration dominant-13th
enumeration major-13th
enumeration minor-13th
enumeration suspended-second
enumeration suspended-fourth
enumeration Neapolitan
enumeration Italian
enumeration French
enumeration German
enumeration pedal
enumeration power
enumeration Tristan
enumeration other
enumeration none
annotation
documentation
A kind-value indicates the type of chord. Degree elements can then add, subtract, or alter from these starting points. Values include:

Triads:
major (major third, perfect fifth)
minor (minor third, perfect fifth)
augmented (major third, augmented fifth)
diminished (minor third, diminished fifth)
Sevenths:
dominant (major triad, minor seventh)
major-seventh (major triad, major seventh)
minor-seventh (minor triad, minor seventh)
diminished-seventh (diminished triad, diminished seventh)
augmented-seventh (augmented triad, minor seventh)
half-diminished (diminished triad, minor seventh)
major-minor (minor triad, major seventh)
Sixths:
major-sixth (major triad, added sixth)
minor-sixth (minor triad, added sixth)
Ninths:
dominant-ninth (dominant-seventh, major ninth)
major-ninth (major-seventh, major ninth)
minor-ninth (minor-seventh, major ninth)
11ths (usually as the basis for alteration):
dominant-11th (dominant-ninth, perfect 11th)
major-11th (major-ninth, perfect 11th)
minor-11th (minor-ninth, perfect 11th)
13ths (usually as the basis for alteration):
dominant-13th (dominant-11th, major 13th)
major-13th (major-11th, major 13th)
minor-13th (minor-11th, major 13th)
Suspended:
suspended-second (major second, perfect fifth)
suspended-fourth (perfect fourth, perfect fifth)
Functional sixths:
Neapolitan
Italian
French
German
Other:
pedal (pedal-point bass)
power (perfect fifth)
Tristan

The "other" kind is used when the harmony is entirely composed of add elements. The "none" kind is used to explicitly encode absence of chords or functional harmony.
source <xs:simpleType name="kind-value">
 
<xs:annotation>
   
<xs:documentation>A kind-value indicates the type of chord. Degree elements can then add, subtract, or alter from these starting points. Values include:

Triads:
major (major third, perfect fifth)
minor (minor third, perfect fifth)
augmented (major third, augmented fifth)
diminished (minor third, diminished fifth)
Sevenths:
dominant (major triad, minor seventh)
major-seventh (major triad, major seventh)
minor-seventh (minor triad, minor seventh)
diminished-seventh (diminished triad, diminished seventh)
augmented-seventh (augmented triad, minor seventh)
half-diminished (diminished triad, minor seventh)
major-minor (minor triad, major seventh)
Sixths:
major-sixth (major triad, added sixth)
minor-sixth (minor triad, added sixth)
Ninths:
dominant-ninth (dominant-seventh, major ninth)
major-ninth (major-seventh, major ninth)
minor-ninth (minor-seventh, major ninth)
11ths (usually as the basis for alteration):
dominant-11th (dominant-ninth, perfect 11th)
major-11th (major-ninth, perfect 11th)
minor-11th (minor-ninth, perfect 11th)
13ths (usually as the basis for alteration):
dominant-13th (dominant-11th, major 13th)
major-13th (major-11th, major 13th)
minor-13th (minor-11th, major 13th)
Suspended:
suspended-second (major second, perfect fifth)
suspended-fourth (perfect fourth, perfect fifth)
Functional sixths:
Neapolitan
Italian
French
German
Other:
pedal (pedal-point bass)
power (perfect fifth)
Tristan

The "other" kind is used when the harmony is entirely composed of add elements. The "none" kind is used to explicitly encode absence of chords or functional harmony.
</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="major"/>
   
<xs:enumeration value="minor"/>
   
<xs:enumeration value="augmented"/>
   
<xs:enumeration value="diminished"/>
   
<xs:enumeration value="dominant"/>
   
<xs:enumeration value="major-seventh"/>
   
<xs:enumeration value="minor-seventh"/>
   
<xs:enumeration value="diminished-seventh"/>
   
<xs:enumeration value="augmented-seventh"/>
   
<xs:enumeration value="half-diminished"/>
   
<xs:enumeration value="major-minor"/>
   
<xs:enumeration value="major-sixth"/>
   
<xs:enumeration value="minor-sixth"/>
   
<xs:enumeration value="dominant-ninth"/>
   
<xs:enumeration value="major-ninth"/>
   
<xs:enumeration value="minor-ninth"/>
   
<xs:enumeration value="dominant-11th"/>
   
<xs:enumeration value="major-11th"/>
   
<xs:enumeration value="minor-11th"/>
   
<xs:enumeration value="dominant-13th"/>
   
<xs:enumeration value="major-13th"/>
   
<xs:enumeration value="minor-13th"/>
   
<xs:enumeration value="suspended-second"/>
   
<xs:enumeration value="suspended-fourth"/>
   
<xs:enumeration value="Neapolitan"/>
   
<xs:enumeration value="Italian"/>
   
<xs:enumeration value="French"/>
   
<xs:enumeration value="German"/>
   
<xs:enumeration value="pedal"/>
   
<xs:enumeration value="power"/>
   
<xs:enumeration value="Tristan"/>
   
<xs:enumeration value="other"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType left-center-right
type restriction of xs:token
used by
attributes halign/@halign justify/@justify
facets
enumeration left
enumeration center
enumeration right
annotation
documentation
The left-center-right type is used to define horizontal alignment and text justification.
source <xs:simpleType name="left-center-right">
 
<xs:annotation>
   
<xs:documentation>The left-center-right type is used to define horizontal alignment and text justification.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="left"/>
   
<xs:enumeration value="center"/>
   
<xs:enumeration value="right"/>
 
</xs:restriction>
</xs:simpleType>

simpleType left-right
type restriction of xs:token
used by
attributes cancel/@location bass-alter/@location first-fret/@location root-alter/@location
facets
enumeration left
enumeration right
annotation
documentation
The left-right type is used to indicate whether one element appears to the left or the right of another element.
source <xs:simpleType name="left-right">
 
<xs:annotation>
   
<xs:documentation>The left-right type is used to indicate whether one element appears to the left or the right of another element.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="left"/>
   
<xs:enumeration value="right"/>
 
</xs:restriction>
</xs:simpleType>

simpleType line-end
type restriction of xs:token
facets
enumeration up
enumeration down
enumeration both
enumeration arrow
enumeration none
annotation
documentation
The line-end type specifies if there is a jog up or down (or both), an arrow, or nothing at the start or end of a bracket.
source <xs:simpleType name="line-end">
 
<xs:annotation>
   
<xs:documentation>The line-end type specifies if there is a jog up or down (or both), an arrow, or nothing at the start or end of a bracket.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="up"/>
   
<xs:enumeration value="down"/>
   
<xs:enumeration value="both"/>
   
<xs:enumeration value="arrow"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType line-shape
type restriction of xs:token
used by
attribute line-shape/@line-shape
facets
enumeration straight
enumeration curved
annotation
documentation
The line-shape type distinguishes between straight and curved lines.
source <xs:simpleType name="line-shape">
 
<xs:annotation>
   
<xs:documentation>The line-shape type distinguishes between straight and curved lines.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="straight"/>
   
<xs:enumeration value="curved"/>
 
</xs:restriction>
</xs:simpleType>

simpleType line-type
type restriction of xs:token
used by
attribute line-type/@line-type
facets
enumeration solid
enumeration dashed
enumeration dotted
enumeration wavy
annotation
documentation
The line-type type distinguishes between solid, dashed, dotted, and wavy lines.
source <xs:simpleType name="line-type">
 
<xs:annotation>
   
<xs:documentation>The line-type type distinguishes between solid, dashed, dotted, and wavy lines.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="solid"/>
   
<xs:enumeration value="dashed"/>
   
<xs:enumeration value="dotted"/>
   
<xs:enumeration value="wavy"/>
 
</xs:restriction>
</xs:simpleType>

simpleType line-width-type
type xs:token
used by
simpleType line-width-type
attribute line-width/@type
annotation
documentation
The line-width-type defines what type of line is being defined in a line-width element. Values include beam, bracket, dashes, enclosure, ending, extend, heavy barline, leger, light barline, octave shift, pedal, slur middle, slur tip, staff, stem, tie middle, tie tip, tuplet bracket, and wedge. This is left as a string so that other application-specific types can be defined, but it is made a separate type so that it can be redefined more strictly.
source <xs:simpleType name="line-width-type">
 
<xs:annotation>
   
<xs:documentation>The line-width-type defines what type of line is being defined in a line-width element. Values include beam, bracket, dashes, enclosure, ending, extend, heavy barline, leger, light barline, octave shift, pedal, slur middle, slur tip, staff, stem, tie middle, tie tip, tuplet bracket, and wedge. This is left as a string so that other application-specific types can be defined, but it is made a separate type so that it can be redefined more strictly.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token"/>
</xs:simpleType>

simpleType margin-type
type restriction of xs:token
used by
attribute page-margins/@type
facets
enumeration odd
enumeration even
enumeration both
annotation
documentation
The margin-type type specifies whether margins apply to even page, odd pages, or both.
source <xs:simpleType name="margin-type">
 
<xs:annotation>
   
<xs:documentation>The margin-type type specifies whether margins apply to even page, odd pages, or both.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="odd"/>
   
<xs:enumeration value="even"/>
   
<xs:enumeration value="both"/>
 
</xs:restriction>
</xs:simpleType>

simpleType measure-numbering-value
type restriction of xs:string
used by
complexType measure-numbering
facets
enumeration none
enumeration measure
enumeration system
annotation
documentation
The measure-numbering-value type describes how measure numbers are displayed on this part: no numbers, numbers every measure, or numbers every system.
source <xs:simpleType name="measure-numbering-value">
 
<xs:annotation>
   
<xs:documentation>The measure-numbering-value type describes how measure numbers are displayed on this part: no numbers, numbers every measure, or numbers every system.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="none"/>
   
<xs:enumeration value="measure"/>
   
<xs:enumeration value="system"/>
 
</xs:restriction>
</xs:simpleType>

simpleType midi-128
type restriction of xs:positiveInteger
used by
elements midi-instrument/midi-program midi-instrument/midi-unpitched
facets
minInclusive 1
maxInclusive 128
annotation
documentation
The midi-16 type is used to express MIDI 1.0 values that range from 1 to 128.
source <xs:simpleType name="midi-128">
 
<xs:annotation>
   
<xs:documentation>The midi-16 type is used to express MIDI 1.0 values that range from 1 to 128.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger">
   
<xs:minInclusive value="1"/>
   
<xs:maxInclusive value="128"/>
 
</xs:restriction>
</xs:simpleType>

simpleType midi-16
type restriction of xs:positiveInteger
used by
element midi-instrument/midi-channel
attribute midi-device/@port
facets
minInclusive 1
maxInclusive 16
annotation
documentation
The midi-16 type is used to express MIDI 1.0 values that range from 1 to 16.
source <xs:simpleType name="midi-16">
 
<xs:annotation>
   
<xs:documentation>The midi-16 type is used to express MIDI 1.0 values that range from 1 to 16.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger">
   
<xs:minInclusive value="1"/>
   
<xs:maxInclusive value="16"/>
 
</xs:restriction>
</xs:simpleType>

simpleType midi-16384
type restriction of xs:positiveInteger
used by
element midi-instrument/midi-bank
facets
minInclusive 1
maxInclusive 16384
annotation
documentation
The midi-16 type is used to express MIDI 1.0 values that range from 1 to 16,384.
source <xs:simpleType name="midi-16384">
 
<xs:annotation>
   
<xs:documentation>The midi-16 type is used to express MIDI 1.0 values that range from 1 to 16,384.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger">
   
<xs:minInclusive value="1"/>
   
<xs:maxInclusive value="16384"/>
 
</xs:restriction>
</xs:simpleType>

simpleType millimeters
type xs:decimal
used by
element scaling/millimeters
annotation
documentation
The millimeters type is a number representing millimeters. This is used in the scaling element to provide a default scaling from tenths to physical units.
source <xs:simpleType name="millimeters">
 
<xs:annotation>
   
<xs:documentation>The millimeters type is a number representing millimeters. This is used in the scaling element to provide a default scaling from tenths to physical units.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal"/>
</xs:simpleType>

simpleType mode
type xs:string
used by
element traditional-key/mode
simpleType mode
annotation
documentation
The mode type is used to specify major/minor and other mode distinctions. Valid mode values include major, minor, dorian, phrygian, lydian, mixolydian, aeolian, ionian, and locrian.
source <xs:simpleType name="mode">
 
<xs:annotation>
   
<xs:documentation>The mode type is used to specify major/minor and other mode distinctions. Valid mode values include major, minor, dorian, phrygian, lydian, mixolydian, aeolian, ionian, and locrian.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string"/>
</xs:simpleType>

simpleType non-negative-decimal
type restriction of xs:decimal
used by
element staff-details/staff-size
complexType note-size
attributes note/@dynamics sound/@dynamics note/@end-dynamics sound/@tempo
facets
minInclusive 0
annotation
documentation
The non-negative-decimal type specifies a non-negative decimal value.
source <xs:simpleType name="non-negative-decimal">
 
<xs:annotation>
   
<xs:documentation>The non-negative-decimal type specifies a non-negative decimal value.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal">
   
<xs:minInclusive value="0"/>
 
</xs:restriction>
</xs:simpleType>

simpleType note-size-type
type restriction of xs:token
used by
attribute note-size/@type
facets
enumeration cue
enumeration grace
enumeration large
annotation
documentation
The note-size-type type indicates the type of note being defined by a note-size element. The grace type is used for notes of cue size that that include a grace element. The cue type is used for all other notes with cue size, whether defined explicitly or implicitly via a cue element. The large type is used for notes of large size.
source <xs:simpleType name="note-size-type">
 
<xs:annotation>
   
<xs:documentation>The note-size-type type indicates the type of note being defined by a note-size element. The grace type is used for notes of cue size that that include a grace element. The cue type is used for all other notes with cue size, whether defined explicitly or implicitly via a cue element. The large type is used for notes of large size.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="cue"/>
   
<xs:enumeration value="grace"/>
   
<xs:enumeration value="large"/>
 
</xs:restriction>
</xs:simpleType>

simpleType note-type-value
type restriction of xs:string
used by
elements beat-unit/beat-unit metronome-note/metronome-type time-modification/normal-type slash/slash-type
complexTypes note-type tuplet-type
facets
enumeration 256th
enumeration 128th
enumeration 64th
enumeration 32nd
enumeration 16th
enumeration eighth
enumeration quarter
enumeration half
enumeration whole
enumeration breve
enumeration long
annotation
documentation
The note-type type is used for the MusicXML type element and represents the graphic note type, from 256th (shortest) to long (longest).
source <xs:simpleType name="note-type-value">
 
<xs:annotation>
   
<xs:documentation>The note-type type is used for the MusicXML type element and represents the graphic note type, from 256th (shortest) to long (longest).</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="256th"/>
   
<xs:enumeration value="128th"/>
   
<xs:enumeration value="64th"/>
   
<xs:enumeration value="32nd"/>
   
<xs:enumeration value="16th"/>
   
<xs:enumeration value="eighth"/>
   
<xs:enumeration value="quarter"/>
   
<xs:enumeration value="half"/>
   
<xs:enumeration value="whole"/>
   
<xs:enumeration value="breve"/>
   
<xs:enumeration value="long"/>
 
</xs:restriction>
</xs:simpleType>

simpleType notehead-value
type restriction of xs:string
used by
complexType notehead
simpleType notehead-value
facets
enumeration slash
enumeration triangle
enumeration diamond
enumeration square
enumeration cross
enumeration x
enumeration circle-x
enumeration inverted triangle
enumeration arrow down
enumeration arrow up
enumeration slashed
enumeration back slashed
enumeration normal
enumeration cluster
enumeration none
enumeration do
enumeration re
enumeration mi
enumeration fa
enumeration so
enumeration la
enumeration ti
annotation
documentation

The notehead type indicates shapes other than the open and closed ovals associated with note durations. The values do, re, mi, fa, so, la, and ti correspond to Aikin's 7-shape system.

The arrow shapes differ from triangle and inverted triangle by being centered on the stem. Slashed and back slashed notes include both the normal notehead and a slash. The triangle shape has the tip of the triangle pointing up; the inverted triangle shape has the tip of the triangle pointing down.
source <xs:simpleType name="notehead-value">
 
<xs:annotation>
   
<xs:documentation>
The notehead type indicates shapes other than the open and closed ovals associated with note durations. The values do, re, mi, fa, so, la, and ti correspond to Aikin's 7-shape system.

The arrow shapes differ from triangle and inverted triangle by being centered on the stem. Slashed and back slashed notes include both the normal notehead and a slash. The triangle shape has the tip of the triangle pointing up; the inverted triangle shape has the tip of the triangle pointing down.
</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="slash"/>
   
<xs:enumeration value="triangle"/>
   
<xs:enumeration value="diamond"/>
   
<xs:enumeration value="square"/>
   
<xs:enumeration value="cross"/>
   
<xs:enumeration value="x"/>
   
<xs:enumeration value="circle-x"/>
   
<xs:enumeration value="inverted triangle"/>
   
<xs:enumeration value="arrow down"/>
   
<xs:enumeration value="arrow up"/>
   
<xs:enumeration value="slashed"/>
   
<xs:enumeration value="back slashed"/>
   
<xs:enumeration value="normal"/>
   
<xs:enumeration value="cluster"/>
   
<xs:enumeration value="none"/>
   
<xs:enumeration value="do"/>
   
<xs:enumeration value="re"/>
   
<xs:enumeration value="mi"/>
   
<xs:enumeration value="fa"/>
   
<xs:enumeration value="so"/>
   
<xs:enumeration value="la"/>
   
<xs:enumeration value="ti"/>
 
</xs:restriction>
</xs:simpleType>

simpleType number-level
type restriction of xs:positiveInteger
used by
attributes wavy-line/@number wedge/@number arpeggiate/@number hammer-on-pull-off/@number non-arpeggiate/@number other-notation/@number tuplet/@number
facets
minInclusive 1
maxInclusive 6
annotation
documentation
Slurs, tuplets, and many other features can be concurrent and overlapping within a single musical part. The number-level type distinguishes up to six concurrent objects of the same type. A reading program should be prepared to handle cases where the number-levels stop in an arbitrary order. Different numbers are needed when the features overlap in MusicXML file order. When a number-level value is implied, the value is 1 by default.
source <xs:simpleType name="number-level">
 
<xs:annotation>
   
<xs:documentation>Slurs, tuplets, and many other features can be concurrent and overlapping within a single musical part. The number-level type distinguishes up to six concurrent objects of the same type. A reading program should be prepared to handle cases where the number-levels stop in an arbitrary order. Different numbers are needed when the features overlap in MusicXML file order. When a number-level value is implied, the value is 1 by default.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger">
   
<xs:minInclusive value="1"/>
   
<xs:maxInclusive value="6"/>
 
</xs:restriction>
</xs:simpleType>

simpleType number-of-lines
type restriction of xs:nonNegativeInteger
used by
simpleType number-of-lines
attributes text-decoration/@line-through text-decoration/@overline text-decoration/@underline
facets
minInclusive 0
maxInclusive 3
annotation
documentation
The number-of-lines type is used to specify the number of lines in text decoration attributes.
source <xs:simpleType name="number-of-lines">
 
<xs:annotation>
   
<xs:documentation>The number-of-lines type is used to specify the number of lines in text decoration attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:nonNegativeInteger">
   
<xs:minInclusive value="0"/>
   
<xs:maxInclusive value="3"/>
 
</xs:restriction>
</xs:simpleType>

simpleType number-or-normal
type union of (xs:decimal, restriction of xs:token)
used by
attributes letter-spacing/@letter-spacing line-height/@line-height
annotation
documentation
The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes.
source <xs:simpleType name="number-or-normal">
 
<xs:annotation>
   
<xs:documentation>The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes.</xs:documentation>
 
</xs:annotation>
 
<xs:union memberTypes="xs:decimal">
   
<xs:simpleType>
     
<xs:restriction base="xs:token">
       
<xs:enumeration value="normal"/>
     
</xs:restriction>
   
</xs:simpleType>
 
</xs:union>
</xs:simpleType>

simpleType octave
type restriction of xs:integer
used by
elements display-step-octave/display-octave pitch/octave tuning/tuning-octave
complexType key-octave
facets
minInclusive 0
maxInclusive 9
annotation
documentation
Octaves are represented by the numbers 0 to 9, where 4 indicates the octave started by middle C.
source <xs:simpleType name="octave">
 
<xs:annotation>
   
<xs:documentation>Octaves are represented by the numbers 0 to 9, where 4 indicates the octave started by middle C.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:integer">
   
<xs:minInclusive value="0"/>
   
<xs:maxInclusive value="9"/>
 
</xs:restriction>
</xs:simpleType>

simpleType over-under
type restriction of xs:token
used by
attribute orientation/@orientation
facets
enumeration over
enumeration under
annotation
documentation
The over-under type is used to indicate whether the tips of curved lines such as slurs and ties are overhand (tips down) or underhand (tips up).
source <xs:simpleType name="over-under">
 
<xs:annotation>
   
<xs:documentation>The over-under type is used to indicate whether the tips of curved lines such as slurs and ties are overhand (tips down) or underhand (tips up).</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="over"/>
   
<xs:enumeration value="under"/>
 
</xs:restriction>
</xs:simpleType>

simpleType percent
type restriction of xs:decimal
used by
element midi-instrument/volume
attributes bend-sound/@first-beat bend-sound/@last-beat trill-sound/@last-beat trill-sound/@second-beat grace/@steal-time-following grace/@steal-time-previous
facets
minInclusive 0
maxInclusive 100
annotation
documentation
The percent type specifies a percentage from 0 to 100.
source <xs:simpleType name="percent">
 
<xs:annotation>
   
<xs:documentation>The percent type specifies a percentage from 0 to 100.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal">
   
<xs:minInclusive value="0"/>
   
<xs:maxInclusive value="100"/>
 
</xs:restriction>
</xs:simpleType>

simpleType positive-decimal
type restriction of xs:decimal
facets
minExclusive 0
annotation
documentation
The positive-decimal type specifies a positive decimal value.
source <xs:simpleType name="positive-decimal">
 
<xs:annotation>
   
<xs:documentation>The positive-decimal type specifies a positive decimal value.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal">
   
<xs:minExclusive value="0"/>
 
</xs:restriction>
</xs:simpleType>

simpleType positive-divisions
type restriction of divisions
used by
elements attributes/divisions duration/duration
facets
minExclusive 0
fractionDigits 0
annotation
documentation
The positive-divisions type restricts divisions values to positive numbers.
source <xs:simpleType name="positive-divisions">
 
<xs:annotation>
   
<xs:documentation>The positive-divisions type restricts divisions values to positive numbers.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="divisions">
   
<xs:minExclusive value="0"/>
 
</xs:restriction>
</xs:simpleType>

simpleType positive-integer-or-empty
type union of (xs:positiveInteger, restriction of xs:string)
used by
element score-instrument/ensemble
complexTypes measure-repeat multiple-rest
annotation
documentation
The positive-integer-or-empty values can be either a positive integer or an empty string.
source <xs:simpleType name="positive-integer-or-empty">
 
<xs:annotation>
   
<xs:documentation>The positive-integer-or-empty values can be either a positive integer or an empty string.</xs:documentation>
 
</xs:annotation>
 
<xs:union memberTypes="xs:positiveInteger">
   
<xs:simpleType>
     
<xs:restriction base="xs:string">
       
<xs:enumeration value=""/>
     
</xs:restriction>
   
</xs:simpleType>
 
</xs:union>
</xs:simpleType>

simpleType rehearsal-enclosure
type restriction of xs:token
used by
attribute rehearsal/@enclosure
facets
enumeration square
enumeration circle
enumeration none
annotation
documentation
The rehearsal-enclosure type describes the shape and presence / absence of an enclosure around rehearsal text.
source <xs:simpleType name="rehearsal-enclosure">
 
<xs:annotation>
   
<xs:documentation>The rehearsal-enclosure type describes the shape and presence / absence of an enclosure around rehearsal text.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="square"/>
   
<xs:enumeration value="circle"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType right-left-middle
type restriction of xs:token
used by
attribute barline/@location
facets
enumeration right
enumeration left
enumeration middle
annotation
documentation
The right-left-middle type is used to specify barline location.
source <xs:simpleType name="right-left-middle">
 
<xs:annotation>
   
<xs:documentation>The right-left-middle type is used to specify barline location.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="right"/>
   
<xs:enumeration value="left"/>
   
<xs:enumeration value="middle"/>
 
</xs:restriction>
</xs:simpleType>

simpleType rotation-degrees
type restriction of xs:decimal
used by
elements midi-instrument/elevation midi-instrument/pan
attribute text-rotation/@rotation
facets
minInclusive -180
maxInclusive 180
annotation
documentation
The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180.
source <xs:simpleType name="rotation-degrees">
 
<xs:annotation>
   
<xs:documentation>The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal">
   
<xs:minInclusive value="-180"/>
   
<xs:maxInclusive value="180"/>
 
</xs:restriction>
</xs:simpleType>

simpleType semitones
type xs:decimal
used by
elements pitch/alter bend/bend-alter transpose/chromatic non-traditional-key/key-alter pedal-tuning/pedal-alter tuning/tuning-alter
complexTypes bass-alter degree-alter root-alter
annotation
documentation
The semintones type is a number representing semitones, used for chromatic alteration. A value of -1 corresponds to a flat and a value of 1 to a sharp. Decimal values like 0.5 (quarter tone sharp) may be used for microtones.
source <xs:simpleType name="semitones">
 
<xs:annotation>
   
<xs:documentation>The semintones type is a number representing semitones, used for chromatic alteration. A value of -1 corresponds to a flat and a value of 1 to a sharp. Decimal values like 0.5 (quarter tone sharp) may be used for microtones.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal"/>
</xs:simpleType>

simpleType show-frets
type restriction of xs:token
used by
attribute staff-details/@show-frets
facets
enumeration numbers
enumeration letters
annotation
documentation
The show-frets type indicates whether to show tablature frets as numbers (0, 1, 2) or letters (a, b, c). The default choice is numbers.
source <xs:simpleType name="show-frets">
 
<xs:annotation>
   
<xs:documentation>The show-frets type indicates whether to show tablature frets as numbers (0, 1, 2) or letters (a, b, c). The default choice is numbers.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="numbers"/>
   
<xs:enumeration value="letters"/>
 
</xs:restriction>
</xs:simpleType>

simpleType show-tuplet
type restriction of xs:token
used by
attributes metronome-tuplet/@show-number tuplet/@show-number tuplet/@show-type
facets
enumeration actual
enumeration both
enumeration none
annotation
documentation
The show-tuplet type indicates whether to show a part of a tuplet relating to the tuplet-actual element, both the tuplet-actual and tuplet-normal elements, or neither.
source <xs:simpleType name="show-tuplet">
 
<xs:annotation>
   
<xs:documentation>The show-tuplet type indicates whether to show a part of a tuplet relating to the tuplet-actual element, both the tuplet-actual and tuplet-normal elements, or neither.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="actual"/>
   
<xs:enumeration value="both"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType staff-line
type xs:integer
used by
element clef/line
attribute staff-tuning/@line
annotation
documentation
The staff-line type indicates the line on a given staff. Staff lines are numbered from bottom to top, with 1 being the bottom line on a staff. Staff line values can be used to specify positions outside the staff, such as a C clef positioned in the middle of a grand staff.
source <xs:simpleType name="staff-line">
 
<xs:annotation>
   
<xs:documentation>The staff-line type indicates the line on a given staff. Staff lines are numbered from bottom to top, with 1 being the bottom line on a staff. Staff line values can be used to specify positions outside the staff, such as a C clef positioned in the middle of a grand staff.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:integer"/>
</xs:simpleType>

simpleType staff-number
type xs:positiveInteger
used by
attributes part-symbol/@bottom-staff clef/@number measure-style/@number staff-layout/@number key/@number time/@number staff-details/@number part-symbol/@top-staff
annotation
documentation
The staff-number type indicates staff numbers within a multi-staff part. Staves are numbered from top to bottom, with 1 being the top staff on a part.
source <xs:simpleType name="staff-number">
 
<xs:annotation>
   
<xs:documentation>The staff-number type indicates staff numbers within a multi-staff part. Staves are numbered from top to bottom, with 1 being the top staff on a part.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger"/>
</xs:simpleType>

simpleType staff-type
type restriction of xs:string
used by
element staff-details/staff-type
facets
enumeration ossia
enumeration cue
enumeration editorial
enumeration regular
enumeration alternate
annotation
documentation
The staff-type value can be ossia, cue, editorial, regular, or alternate. An alternate staff indicates one that shares the same musical data as the prior staff, but displayed differently (e.g., treble and bass clef, standard notation and tab).
source <xs:simpleType name="staff-type">
 
<xs:annotation>
   
<xs:documentation>The staff-type value can be ossia, cue, editorial, regular, or alternate. An alternate staff indicates one that shares the same musical data as the prior staff, but displayed differently (e.g., treble and bass clef, standard notation and tab).</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="ossia"/>
   
<xs:enumeration value="cue"/>
   
<xs:enumeration value="editorial"/>
   
<xs:enumeration value="regular"/>
   
<xs:enumeration value="alternate"/>
 
</xs:restriction>
</xs:simpleType>

simpleType start-note
type restriction of xs:token
used by
attribute trill-sound/@start-note
facets
enumeration upper
enumeration main
enumeration below
annotation
documentation
The start-note type describes the starting note of trills and mordents for playback, relative to the current note.
source <xs:simpleType name="start-note">
 
<xs:annotation>
   
<xs:documentation>The start-note type describes the starting note of trills and mordents for playback, relative to the current note.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="upper"/>
   
<xs:enumeration value="main"/>
   
<xs:enumeration value="below"/>
 
</xs:restriction>
</xs:simpleType>

simpleType start-stop
type restriction of xs:token
used by
attributes beat-repeat/@type measure-repeat/@type slash/@type barre/@type metronome-tuplet/@type hammer-on-pull-off/@type tie/@type tuplet/@type part-group/@type
facets
enumeration start
enumeration stop
annotation
documentation
The start-stop type is used for an attribute of musical elements that can either start or stop, such as tuplets, wedges, and lines.
source <xs:simpleType name="start-stop">
 
<xs:annotation>
   
<xs:documentation>The start-stop type is used for an attribute of musical elements that can either start or stop, such as tuplets, wedges, and lines.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="start"/>
   
<xs:enumeration value="stop"/>
 
</xs:restriction>
</xs:simpleType>

simpleType start-stop-change
type restriction of xs:token
used by
attribute pedal/@type
facets
enumeration start
enumeration stop
enumeration change
annotation
documentation
The start-stop-change type is used to distinguish types of pedal directions.
source <xs:simpleType name="start-stop-change">
 
<xs:annotation>
   
<xs:documentation>The start-stop-change type is used to distinguish types of pedal directions.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="start"/>
   
<xs:enumeration value="stop"/>
   
<xs:enumeration value="change"/>
 
</xs:restriction>
</xs:simpleType>

simpleType start-stop-continue
type restriction of xs:token
used by
attributes wavy-line/@type extend/@type
facets
enumeration start
enumeration stop
enumeration continue
annotation
documentation
The start-stop-continue type is used for an attribute of musical elements that can either start or stop, but also need to refer to an intermediate point in the symbol, as for complex slurs.
source <xs:simpleType name="start-stop-continue">
 
<xs:annotation>
   
<xs:documentation>The start-stop-continue type is used for an attribute of musical elements that can either start or stop, but also need to refer to an intermediate point in the symbol, as for complex slurs.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="start"/>
   
<xs:enumeration value="stop"/>
   
<xs:enumeration value="continue"/>
 
</xs:restriction>
</xs:simpleType>

simpleType start-stop-discontinue
type restriction of xs:token
used by
attribute ending/@type
facets
enumeration start
enumeration stop
enumeration discontinue
annotation
documentation
The start-stop-discontinue type is used to specify ending types. Typically, the start type is associated with the left barline of the first measure in an ending. The stop and discontinue types are associated with the right barline of the last measure in an ending. Stop is used when the ending mark concludes with a downward jog, as is typical for first endings. Discontinue is used when there is no downward jog, as is typical for second endings that do not conclude a piece.
source <xs:simpleType name="start-stop-discontinue">
 
<xs:annotation>
   
<xs:documentation>The start-stop-discontinue type is used to specify ending types. Typically, the start type is associated with the left barline of the first measure in an ending. The stop and discontinue types are associated with the right barline of the last measure in an ending. Stop is used when the ending mark concludes with a downward jog, as is typical for first endings. Discontinue is used when there is no downward jog, as is typical for second endings that do not conclude a piece.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="start"/>
   
<xs:enumeration value="stop"/>
   
<xs:enumeration value="discontinue"/>
 
</xs:restriction>
</xs:simpleType>

simpleType start-stop-single
type restriction of xs:token
used by
attributes grouping/@type other-notation/@type tremolo/@type
facets
enumeration start
enumeration stop
enumeration single
annotation
documentation
The start-stop-single type is used for an attribute of musical elements that can be used for either multi-note or single-note musical elements, as for tremolos.
source <xs:simpleType name="start-stop-single">
 
<xs:annotation>
   
<xs:documentation>The start-stop-single type is used for an attribute of musical elements that can be used for either multi-note or single-note musical elements, as for tremolos.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="start"/>
   
<xs:enumeration value="stop"/>
   
<xs:enumeration value="single"/>
 
</xs:restriction>
</xs:simpleType>

simpleType stem-value
type restriction of xs:string
used by
complexType stem
facets
enumeration down
enumeration up
enumeration double
enumeration none
annotation
documentation
The stem type represents the notated stem direction.
source <xs:simpleType name="stem-value">
 
<xs:annotation>
   
<xs:documentation>The stem type represents the notated stem direction.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="down"/>
   
<xs:enumeration value="up"/>
   
<xs:enumeration value="double"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType step
type restriction of xs:string
used by
elements display-step-octave/display-step non-traditional-key/key-step pedal-tuning/pedal-step pitch/step tuning/tuning-step
complexTypes bass-step root-step
facets
enumeration A
enumeration B
enumeration C
enumeration D
enumeration E
enumeration F
enumeration G
annotation
documentation
The step type represents a step of the diatonic scale, represented using the English letters A through G.
source <xs:simpleType name="step">
 
<xs:annotation>
   
<xs:documentation>The step type represents a step of the diatonic scale, represented using the English letters A through G.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="A"/>
   
<xs:enumeration value="B"/>
   
<xs:enumeration value="C"/>
   
<xs:enumeration value="D"/>
   
<xs:enumeration value="E"/>
   
<xs:enumeration value="F"/>
   
<xs:enumeration value="G"/>
 
</xs:restriction>
</xs:simpleType>

simpleType string-number
type xs:positiveInteger
used by
complexType string
attribute accord/@string
annotation
documentation
The string-number type indicates a string number. Strings are numbered from high to low, with 1 being the highest pitched string.
source <xs:simpleType name="string-number">
 
<xs:annotation>
   
<xs:documentation>The string-number type indicates a string number. Strings are numbered from high to low, with 1 being the highest pitched string.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:positiveInteger"/>
</xs:simpleType>

simpleType syllabic
type restriction of xs:string
used by
elements lyric/syllabic lyric/syllabic
facets
enumeration single
enumeration begin
enumeration end
enumeration middle
annotation
documentation
Lyric hyphenation is indicated by the syllabic type. The single, begin, end, and middle values represent single-syllable words, word-beginning syllables, word-ending syllables, and mid-word syllables, respectively.
source <xs:simpleType name="syllabic">
 
<xs:annotation>
   
<xs:documentation>Lyric hyphenation is indicated by the syllabic type. The single, begin, end, and middle values represent single-syllable words, word-beginning syllables, word-ending syllables, and mid-word syllables, respectively.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:string">
   
<xs:enumeration value="single"/>
   
<xs:enumeration value="begin"/>
   
<xs:enumeration value="end"/>
   
<xs:enumeration value="middle"/>
 
</xs:restriction>
</xs:simpleType>

simpleType symbol-size
type restriction of xs:token
used by
attributes clef/@size note-type/@size level-display/@size
facets
enumeration full
enumeration cue
enumeration large
annotation
documentation
The symbol-size type is used to indicate full vs. cue-sized vs. oversized symbols. The large value for oversized symbols was added in version 1.1.
source <xs:simpleType name="symbol-size">
 
<xs:annotation>
   
<xs:documentation>The symbol-size type is used to indicate full vs. cue-sized vs. oversized symbols. The large value for oversized symbols was added in version 1.1.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="full"/>
   
<xs:enumeration value="cue"/>
   
<xs:enumeration value="large"/>
 
</xs:restriction>
</xs:simpleType>

simpleType tenths
type xs:decimal
used by
elements all-margins/bottom-margin appearance/hyphen-distance left-right-margins/left-margin measure-layout/measure-distance page-layout/page-height page-layout/page-width left-right-margins/right-margin staff-layout/staff-distance system-layout/system-distance scaling/tenths all-margins/top-margin system-layout/top-system-distance
complexType line-width
attributes bezier/@bezier-x bezier/@bezier-x2 bezier/@bezier-y bezier/@bezier-y2 bracket/@dash-length dashes/@dash-length tied/@dash-length empty-line/@dash-length slur/@dash-length glissando/@dash-length slide/@dash-length octave-shift/@dash-length position/@default-x x-position/@default-x y-position/@default-x x-position/@default-y position/@default-y y-position/@default-y ending/@end-length x-position/@relative-x position/@relative-x y-position/@relative-x position/@relative-y x-position/@relative-y y-position/@relative-y tied/@space-length slur/@space-length slide/@space-length octave-shift/@space-length glissando/@space-length empty-line/@space-length dashes/@space-length bracket/@space-length wedge/@spread print-attributes/@staff-spacing ending/@text-x ending/@text-y measure-attributes/@width
annotation
documentation
The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line.

Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element.
source <xs:simpleType name="tenths">
 
<xs:annotation>
   
<xs:documentation>The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line.

Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element.
</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal"/>
</xs:simpleType>

simpleType text-direction
type restriction of xs:token
used by
attribute text-direction/@dir
facets
enumeration ltr
enumeration rtl
enumeration lro
enumeration rlo
annotation
documentation
The text-direction type is used to adjust and override the Unicode bidirectional text algorithm, similar to the W3C Internationalization Tag Set recommendation. Values are ltr (left-to-right embed), rtl (right-to-left embed), lro (left-to-right bidi-override), and rlo (right-to-left bidi-override). The default value is ltr. This type is typically used by applications that store text in left-to-right visual order rather than logical order. Such applications can use the lro value to better communicate with other applications that more fully support bidirectional text.
source <xs:simpleType name="text-direction">
 
<xs:annotation>
   
<xs:documentation>The text-direction type is used to adjust and override the Unicode bidirectional text algorithm, similar to the W3C Internationalization Tag Set recommendation. Values are ltr (left-to-right embed), rtl (right-to-left embed), lro (left-to-right bidi-override), and rlo (right-to-left bidi-override). The default value is ltr. This type is typically used by applications that store text in left-to-right visual order rather than logical order. Such applications can use the lro value to better communicate with other applications that more fully support bidirectional text.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="ltr"/>
   
<xs:enumeration value="rtl"/>
   
<xs:enumeration value="lro"/>
   
<xs:enumeration value="rlo"/>
 
</xs:restriction>
</xs:simpleType>

simpleType time-symbol
type restriction of xs:token
used by
simpleType time-symbol
attribute time/@symbol
facets
enumeration common
enumeration cut
enumeration single-number
enumeration normal
annotation
documentation
The time-symbol type indicates how to display a time signature. The normal value is the usual fractional display, and is the implied symbol type if none is specified. Other options are the common and cut time symbols, as well as a single number with an implied denominator.
source <xs:simpleType name="time-symbol">
 
<xs:annotation>
   
<xs:documentation>The time-symbol type indicates how to display a time signature. The normal value is the usual fractional display, and is the implied symbol type if none is specified. Other options are the common and cut time symbols, as well as a single number with an implied denominator.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="common"/>
   
<xs:enumeration value="cut"/>
   
<xs:enumeration value="single-number"/>
   
<xs:enumeration value="normal"/>
 
</xs:restriction>
</xs:simpleType>

simpleType top-bottom
type restriction of xs:token
used by
attribute non-arpeggiate/@type
facets
enumeration top
enumeration bottom
annotation
documentation
The top-bottom type is used to indicate the top or bottom part of a vertical shape like non-arpeggiate.
source <xs:simpleType name="top-bottom">
 
<xs:annotation>
   
<xs:documentation>The top-bottom type is used to indicate the top or bottom part of a vertical shape like non-arpeggiate.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="top"/>
   
<xs:enumeration value="bottom"/>
 
</xs:restriction>
</xs:simpleType>

simpleType tremolo-marks
type restriction of xs:integer
used by
complexType tremolo
facets
minInclusive 0
maxInclusive 6
annotation
documentation
The number of tremolo marks is represented by a number from 0 to 6: the same as beam-level with 0 added.
source <xs:simpleType name="tremolo-marks">
 
<xs:annotation>
   
<xs:documentation>The number of tremolo marks is represented by a number from 0 to 6: the same as beam-level with 0 added.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:integer">
   
<xs:minInclusive value="0"/>
   
<xs:maxInclusive value="6"/>
 
</xs:restriction>
</xs:simpleType>

simpleType trill-beats
type restriction of xs:decimal
used by
attributes bend-sound/@beats trill-sound/@beats
facets
minInclusive 2
annotation
documentation
The trill-beats type specifies the beats used in a trill-sound or bend-sound attribute group. It is a decimal value with a minimum value of 2.
source <xs:simpleType name="trill-beats">
 
<xs:annotation>
   
<xs:documentation>The trill-beats type specifies the beats used in a trill-sound or bend-sound attribute group. It is a decimal value with a minimum value of 2.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:decimal">
   
<xs:minInclusive value="2"/>
 
</xs:restriction>
</xs:simpleType>

simpleType trill-step
type restriction of xs:token
used by
attribute trill-sound/@trill-step
facets
enumeration whole
enumeration half
enumeration unison
annotation
documentation
The trill-step type describes the alternating note of trills and mordents for playback, relative to the current note.
source <xs:simpleType name="trill-step">
 
<xs:annotation>
   
<xs:documentation>The trill-step type describes the alternating note of trills and mordents for playback, relative to the current note.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="whole"/>
   
<xs:enumeration value="half"/>
   
<xs:enumeration value="unison"/>
 
</xs:restriction>
</xs:simpleType>

simpleType two-note-turn
type restriction of xs:token
used by
attribute trill-sound/@two-note-turn
facets
enumeration whole
enumeration half
enumeration none
annotation
documentation
The two-note-turn type describes the ending notes of trills and mordents for playback, relative to the current note.
source <xs:simpleType name="two-note-turn">
 
<xs:annotation>
   
<xs:documentation>The two-note-turn type describes the ending notes of trills and mordents for playback, relative to the current note.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="whole"/>
   
<xs:enumeration value="half"/>
   
<xs:enumeration value="none"/>
 
</xs:restriction>
</xs:simpleType>

simpleType up-down
type restriction of xs:token
used by
attributes arpeggiate/@direction strong-accent/@type
facets
enumeration up
enumeration down
annotation
documentation
The up-down type is used for arrow direction, indicating which way the tip is pointing.
source <xs:simpleType name="up-down">
 
<xs:annotation>
   
<xs:documentation>The up-down type is used for arrow direction, indicating which way the tip is pointing.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="up"/>
   
<xs:enumeration value="down"/>
 
</xs:restriction>
</xs:simpleType>

simpleType up-down-stop
type restriction of xs:token
facets
enumeration up
enumeration down
enumeration stop
annotation
documentation
The up-down-stop type is used for octave-shift elements, indicating the direction of the shift from their true pitched values because of printing difficulty.
source <xs:simpleType name="up-down-stop">
 
<xs:annotation>
   
<xs:documentation>The up-down-stop type is used for octave-shift elements, indicating the direction of the shift from their true pitched values because of printing difficulty.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="up"/>
   
<xs:enumeration value="down"/>
   
<xs:enumeration value="stop"/>
 
</xs:restriction>
</xs:simpleType>

simpleType upright-inverted
type restriction of xs:token
used by
attribute fermata/@type
facets
enumeration upright
enumeration inverted
annotation
documentation
The upright-inverted type describes the appearance of a fermata element. The value is upright if not specified.
source <xs:simpleType name="upright-inverted">
 
<xs:annotation>
   
<xs:documentation>The upright-inverted type describes the appearance of a fermata element. The value is upright if not specified.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="upright"/>
   
<xs:enumeration value="inverted"/>
 
</xs:restriction>
</xs:simpleType>

simpleType valign
type restriction of xs:token
used by
attribute valign/@valign
facets
enumeration top
enumeration middle
enumeration bottom
enumeration baseline
annotation
documentation
The valign type is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. Defaults are implementation-dependent.
source <xs:simpleType name="valign">
 
<xs:annotation>
   
<xs:documentation>The valign type is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. Defaults are implementation-dependent.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="top"/>
   
<xs:enumeration value="middle"/>
   
<xs:enumeration value="bottom"/>
   
<xs:enumeration value="baseline"/>
 
</xs:restriction>
</xs:simpleType>

simpleType valign-image
type restriction of xs:token
used by
attribute valign-image/@valign
facets
enumeration top
enumeration middle
enumeration bottom
annotation
documentation
The valign-image type is used to indicate vertical alignment for images and graphics, so it does not include a baseline value. Defaults are implementation-dependent.
source <xs:simpleType name="valign-image">
 
<xs:annotation>
   
<xs:documentation>The valign-image type is used to indicate vertical alignment for images and graphics, so it does not include a baseline value. Defaults are implementation-dependent.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="top"/>
   
<xs:enumeration value="middle"/>
   
<xs:enumeration value="bottom"/>
 
</xs:restriction>
</xs:simpleType>

simpleType wedge-type
type restriction of xs:token
used by
attribute wedge/@type
facets
enumeration crescendo
enumeration diminuendo
enumeration stop
annotation
documentation
The wedge type is crescendo for the start of a wedge that is closed at the left side, diminuendo for the start of a wedge that is closed on the right side, and stop for the end of a wedge.
source <xs:simpleType name="wedge-type">
 
<xs:annotation>
   
<xs:documentation>The wedge type is crescendo for the start of a wedge that is closed at the left side, diminuendo for the start of a wedge that is closed on the right side, and stop for the end of a wedge.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="crescendo"/>
   
<xs:enumeration value="diminuendo"/>
   
<xs:enumeration value="stop"/>
 
</xs:restriction>
</xs:simpleType>

simpleType yes-no
type restriction of xs:token
used by
simpleType yes-no-number
attributes bend-sound/@accelerate trill-sound/@accelerate clef/@additional fingering/@alternate metronome-tuplet/@bracket level-display/@bracket tuplet/@bracket kind/@bracket-degrees key-octave/@cancel accidental/@cautionary sound/@dacapo directive/@directive accidental/@editorial notehead/@filled sound/@forward-repeat measure-attributes/@implicit pedal/@line mordent/@long print-attributes/@new-page print-attributes/@new-system measure-attributes/@non-controlling metronome/@parentheses figured-bass/@parentheses level-display/@parentheses notehead/@parentheses kind/@parentheses-degrees sound/@pizzicato note/@pizzicato degree-alter/@plus-minus printout/@print-dot harmony/@print-frame printout/@print-lyric print-object/@print-object print-spacing/@print-spacing level/@reference beam/@repeater grace/@slash offset/@sound kind/@stack-degrees heel-toe/@substitution fingering/@substitution supports/@type slash/@use-dots beat-repeat/@use-dots slash/@use-stems kind/@use-symbols multiple-rest/@use-symbols
facets
enumeration yes
enumeration no
annotation
documentation
The yes-no type is used for boolean-like attributes. We cannot use W3C XML Schema booleans due to their restrictions on expression of boolean values.
source <xs:simpleType name="yes-no">
 
<xs:annotation>
   
<xs:documentation>The yes-no type is used for boolean-like attributes. We cannot use W3C XML Schema booleans due to their restrictions on expression of boolean values.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:token">
   
<xs:enumeration value="yes"/>
   
<xs:enumeration value="no"/>
 
</xs:restriction>
</xs:simpleType>

simpleType yes-no-number
type union of (yes-no, xs:decimal)
used by
attributes sound/@damper-pedal sound/@soft-pedal sound/@sostenuto-pedal
annotation
documentation
The yes-no-number type is used for attributes that can be either boolean or numeric values.
source <xs:simpleType name="yes-no-number">
 
<xs:annotation>
   
<xs:documentation>The yes-no-number type is used for attributes that can be either boolean or numeric values.</xs:documentation>
 
</xs:annotation>
 
<xs:union memberTypes="yes-no xs:decimal"/>
</xs:simpleType>

simpleType yyyy-mm-dd
type restriction of xs:date
used by
element encoding/encoding-date
facets
pattern [^:Z]*
annotation
documentation
Calendar dates are represented yyyy-mm-dd format, following ISO 8601. This is a W3C XML Schema date type, but without the optional timezone data.
source <xs:simpleType name="yyyy-mm-dd">
 
<xs:annotation>
   
<xs:documentation>Calendar dates are represented yyyy-mm-dd format, following ISO 8601. This is a W3C XML Schema date type, but without the optional timezone data.</xs:documentation>
 
</xs:annotation>
 
<xs:restriction base="xs:date">
   
<xs:pattern value="[^:Z]*"/>
 
</xs:restriction>
</xs:simpleType>

attributeGroup bend-sound
used by
complexType bend
attributes
Name  Type  Use  Default  Fixed  annotation
accelerateyes-no      
beatstrill-beats      
first-beatpercent      
last-beatpercent      
annotation
documentation
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 direction 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"
source <xs:attributeGroup name="bend-sound">
 
<xs:annotation>
   
<xs:documentation>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 direction 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"
</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="accelerate" type="yes-no"/>
 
<xs:attribute name="beats" type="trill-beats"/>
 
<xs:attribute name="first-beat" type="percent"/>
 
<xs:attribute name="last-beat" type="percent"/>
</xs:attributeGroup>

attributeGroup bezier
attributes
Name  Type  Use  Default  Fixed  annotation
bezier-offsetdivisions      
bezier-offset2divisions      
bezier-xtenths      
bezier-ytenths      
bezier-x2tenths      
bezier-y2tenths      
annotation
documentation
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-offset, bezier-x, and bezier-y 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 attributes bezier-offset2, bezier-x2, and bezier-y2 are only valid with slurs of type continue, and describe the outgoing bezier point.

The bezier-offset and bezier-offset2 attributes are measured in terms of musical divisions, like the offset element. These are the recommended attributes for specifying horizontal position. The other attributes are specified in tenths, relative to any position settings associated with the slur or tied element.
source <xs:attributeGroup name="bezier">
 
<xs:annotation>
   
<xs:documentation>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-offset, bezier-x, and bezier-y 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 attributes bezier-offset2, bezier-x2, and bezier-y2 are only valid with slurs of type continue, and describe the outgoing bezier point.

The bezier-offset and bezier-offset2 attributes are measured in terms of musical divisions, like the offset element. These are the recommended attributes for specifying horizontal position. The other attributes are specified in tenths, relative to any position settings associated with the slur or tied element.
</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="bezier-offset" type="divisions"/>
 
<xs:attribute name="bezier-offset2" type="divisions"/>
 
<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:attributeGroup>

attributeGroup color
used by
complexTypes arpeggiate bar-style-color barre elision fret group-barline group-symbol lyric measure-style non-arpeggiate note notehead part-symbol stem text-element-data tuplet-dot tuplet-number tuplet-type wavy-line wedge
attributeGroup print-style
attributes
Name  Type  Use  Default  Fixed  annotation
colorcolor      
annotation
documentation
The color attribute group indicates the color of an element.
source <xs:attributeGroup name="color">
 
<xs:annotation>
   
<xs:documentation>The color attribute group indicates the color of an element.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="color" type="color"/>
</xs:attributeGroup>

attributeGroup directive
used by
complexType direction
attributes
Name  Type  Use  Default  Fixed  annotation
directiveyes-no      
annotation
documentation
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.
source <xs:attributeGroup name="directive">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="directive" type="yes-no"/>
</xs:attributeGroup>

attributeGroup document-attributes
used by
elements score-partwise score-timewise
attributes
Name  Type  Use  Default  Fixed  annotation
versionxs:token  1.0    
annotation
documentation
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 2.0 files should set this attribute.
source <xs:attributeGroup name="document-attributes">
 
<xs:annotation>
   
<xs:documentation>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 2.0 files should set this attribute.
</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="version" type="xs:token" default="1.0"/>
</xs:attributeGroup>

attributeGroup element-position
used by
complexTypes bookmark link
attributes
Name  Type  Use  Default  Fixed  annotation
elementxs:NMTOKEN      
positionxs:positiveInteger      
annotation
documentation
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.
source <xs:attributeGroup name="element-position">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="element" type="xs:NMTOKEN"/>
 
<xs:attribute name="position" type="xs:positiveInteger"/>
</xs:attributeGroup>

attributeGroup font
used by
complexTypes elision empty-font fret lyric-font measure-style note notehead per-minute text-element-data tuplet-dot tuplet-number tuplet-type
attributeGroup print-style
attributes
Name  Type  Use  Default  Fixed  annotation
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
annotation
documentation
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. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. The font-style can be normal or italic. The font-size can be one of the CSS sizes (xx-small, x-small, small, medium, large, x-large, xx-large) 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.
source <xs:attributeGroup name="font">
 
<xs:annotation>
   
<xs:documentation>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. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. The font-style can be normal or italic. The font-size can be one of the CSS sizes (xx-small, x-small, small, medium, large, x-large, xx-large) 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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="font-family" type="comma-separated-text"/>
 
<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>

attributeGroup group-name-text
used by
complexType group-name
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
justifyleft-center-right      
annotation
documentation
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.
source <xs:attributeGroup name="group-name-text">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="justify"/>
</xs:attributeGroup>

attributeGroup halign
used by
complexType kind
attributeGroups image-attributes text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
halignleft-center-right      
annotation
documentation
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.
source <xs:attributeGroup name="halign">
 
<xs:annotation>
   
<xs:documentation>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.
</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="halign" type="left-center-right"/>
</xs:attributeGroup>

attributeGroup image-attributes
used by
complexType image
attributes
Name  Type  Use  Default  Fixed  annotation
sourcexs:anyURIrequired      
typexs:tokenrequired      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
halignleft-center-right      
valignvalign-image      
annotation
documentation
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.
source <xs:attributeGroup name="image-attributes">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="source" type="xs:anyURI" use="required"/>
 
<xs:attribute name="type" type="xs:token" use="required"/>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="halign"/>
 
<xs:attributeGroup ref="valign-image"/>
</xs:attributeGroup>

attributeGroup justify
used by
complexType lyric
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
annotation
documentation
The justify attribute is used to indicate left, center, or right justification. The default value varies for different elements.
source <xs:attributeGroup name="justify">
 
<xs:annotation>
   
<xs:documentation>The justify attribute is used to indicate left, center, or right justification. The default value varies for different elements.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="justify" type="left-center-right"/>
</xs:attributeGroup>

attributeGroup letter-spacing
used by
complexType text-element-data
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
letter-spacingnumber-or-normal      
annotation
documentation
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.
source <xs:attributeGroup name="letter-spacing">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="letter-spacing" type="number-or-normal"/>
</xs:attributeGroup>

attributeGroup level-display
used by
complexTypes accidental level
attributes
Name  Type  Use  Default  Fixed  annotation
parenthesesyes-no      
bracketyes-no      
sizesymbol-size      
annotation
documentation
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.
source <xs:attributeGroup name="level-display">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="parentheses" type="yes-no"/>
 
<xs:attribute name="bracket" type="yes-no"/>
 
<xs:attribute name="size" type="symbol-size"/>
</xs:attributeGroup>

attributeGroup line-height
used by
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
line-heightnumber-or-normal      
annotation
documentation
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.
source <xs:attributeGroup name="line-height">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="line-height" type="number-or-normal"/>
</xs:attributeGroup>

attributeGroup line-shape
used by
complexType tuplet
attributes
Name  Type  Use  Default  Fixed  annotation
line-shapeline-shape      
annotation
documentation
The line-shape attribute distinguishes between straight and curved lines.
source <xs:attributeGroup name="line-shape">
 
<xs:annotation>
   
<xs:documentation>The line-shape attribute distinguishes between straight and curved lines.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="line-shape" type="line-shape"/>
</xs:attributeGroup>

attributeGroup line-type
attributes
Name  Type  Use  Default  Fixed  annotation
line-typeline-type      
annotation
documentation
The line-type attribute distinguishes between solid, dashed, dotted, and wavy lines.
source <xs:attributeGroup name="line-type">
 
<xs:annotation>
   
<xs:documentation>The line-type attribute distinguishes between solid, dashed, dotted, and wavy lines.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="line-type" type="line-type"/>
</xs:attributeGroup>

attributeGroup link-attributes
used by
complexTypes link opus
attributes
Name  Type  Use  Default  Fixed  annotation
xlink:hrefrequired      
xlink:type    simple  
xlink:role      
xlink:title      
xlink:show  replace    
xlink:actuate  onRequest    
annotation
documentation
The link-attributes group includes all the simple XLink attributes supported in the MusicXML format.
source <xs:attributeGroup name="link-attributes">
 
<xs:annotation>
   
<xs:documentation>The link-attributes group includes all the simple XLink attributes supported in the MusicXML format.</xs:documentation>
 
</xs:annotation>
 
<!--<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>

attributeGroup measure-attributes
used by
elements score-partwise/part/measure score-timewise/measure
attributes
Name  Type  Use  Default  Fixed  annotation
numberxs:tokenrequired      
implicityes-no      
non-controllingyes-no      
widthtenths      
annotation
documentation
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". Further details about measure numbering can be defined 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.
source <xs:attributeGroup name="measure-attributes">
 
<xs:annotation>
   
<xs:documentation>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". Further details about measure numbering can be defined 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.
</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="number" type="xs:token" use="required"/>
 
<xs:attribute name="implicit" type="yes-no"/>
 
<xs:attribute name="non-controlling" type="yes-no"/>
 
<xs:attribute name="width" type="tenths"/>
</xs:attributeGroup>

attributeGroup orientation
attributes
Name  Type  Use  Default  Fixed  annotation
orientationover-under      
annotation
documentation
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.
source <xs:attributeGroup name="orientation">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="orientation" type="over-under"/>
</xs:attributeGroup>

attributeGroup part-attributes
used by
elements score-partwise/part score-timewise/measure/part
attributes
Name  Type  Use  Default  Fixed  annotation
idxs:IDREFrequired      
annotation
documentation
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.
source <xs:attributeGroup name="part-attributes">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="id" type="xs:IDREF" use="required"/>
</xs:attributeGroup>

attributeGroup part-name-text
used by
complexType part-name
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
print-objectyes-no      
justifyleft-center-right      
annotation
documentation
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.
source <xs:attributeGroup name="part-name-text">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="print-style"/>
 
<xs:attributeGroup ref="print-object"/>
 
<xs:attributeGroup ref="justify"/>
</xs:attributeGroup>

attributeGroup placement
used by
complexTypes accidental-mark arpeggiate direction dynamics empty-placement empty-trill-sound fingering hammer-on-pull-off harmonic harmony lyric non-arpeggiate other-notation placement-text string tremolo tuplet wavy-line
attributes
Name  Type  Use  Default  Fixed  annotation
placementabove-below      
annotation
documentation
The placement attribute indicates whether something is above or below another element, such as a note or a notation.
source <xs:attributeGroup name="placement">
 
<xs:annotation>
   
<xs:documentation>The placement attribute indicates whether something is above or below another element, such as a note or a notation.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="placement" type="above-below"/>
</xs:attributeGroup>

attributeGroup position
used by
complexTypes arpeggiate extend group-symbol link lyric non-arpeggiate part-symbol tuplet wavy-line wedge
attributeGroups image-attributes print-style
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
annotation
documentation
The position attributes are based on MuseData print suggestions. 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

When the part-name and part-abbreviation elements are used in the print element, the default-x value 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.

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.
source <xs:attributeGroup name="position">
 
<xs:annotation>
   
<xs:documentation>The position attributes are based on MuseData print suggestions. 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

When the part-name and part-abbreviation elements are used in the print element, the default-x value 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.

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.
</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="default-x" type="tenths"/>
 
<xs:attribute name="default-y" type="tenths"/>
 
<xs:attribute name="relative-x" type="tenths"/>
 
<xs:attribute name="relative-y" type="tenths"/>
</xs:attributeGroup>

attributeGroup print-attributes
used by
complexType print
attributes
Name  Type  Use  Default  Fixed  annotation
staff-spacingtenths      
new-systemyes-no      
new-pageyes-no      
blank-pagexs:positiveInteger      
page-numberxs:token      
annotation
documentation
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.
source <xs:attributeGroup name="print-attributes">
 
<xs:annotation>
   
<xs:documentation>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:documentation>
 
</xs:annotation>
 
<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>

attributeGroup print-object
used by
complexTypes bass-alter clef degree ending harmonic harmony key name-display other-direction other-notation root-alter staff-details time
attributeGroups part-name-text printout
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
annotation
documentation
The print-object attribute specifies whether or not to print an object (e.g. a note or a rest). It is yes by default.
source <xs:attributeGroup name="print-object">
 
<xs:annotation>
   
<xs:documentation>The print-object attribute specifies whether or not to print an object (e.g. a note or a rest). It is yes by default.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="print-object" type="yes-no"/>
</xs:attributeGroup>

attributeGroup print-spacing
used by
complexType staff-details
attributeGroup printout
attributes
Name  Type  Use  Default  Fixed  annotation
print-spacingyes-no      
annotation
documentation
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.
source <xs:attributeGroup name="print-spacing">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="print-spacing" type="yes-no"/>
</xs:attributeGroup>

attributeGroup print-style
used by
complexTypes accidental accidental-mark accordion-registration bass-alter bass-step bend clef degree-alter degree-type degree-value dynamics empty-placement empty-print-style empty-trill-sound ending fermata figured-bass fingering hammer-on-pull-off harmonic harmony harp-pedals inversion key kind measure-numbering metronome other-direction other-notation pedal placement-text rehearsal root-alter root-step string style-text time tremolo
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
annotation
documentation
The print-style attribute group collects the most popular combination of printing attributes: position, font, and color.
source <xs:attributeGroup name="print-style">
 
<xs:annotation>
   
<xs:documentation>The print-style attribute group collects the most popular combination of printing attributes: position, font, and color.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="position"/>
 
<xs:attributeGroup ref="font"/>
 
<xs:attributeGroup ref="color"/>
</xs:attributeGroup>

attributeGroup printout
used by
complexTypes figured-bass note
attributes
Name  Type  Use  Default  Fixed  annotation
print-objectyes-no      
print-dotyes-no      
print-spacingyes-no      
print-lyricyes-no      
annotation
documentation
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.
source <xs:attributeGroup name="printout">
 
<xs:annotation>
   
<xs:documentation>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:documentation>
 
</xs:annotation>
 
<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>

attributeGroup text-decoration
used by
complexTypes rehearsal text-element-data
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
annotation
documentation
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.
source <xs:attributeGroup name="text-decoration">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<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>

attributeGroup text-direction
used by
complexTypes rehearsal text-element-data
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
dirtext-direction      
annotation
documentation
The text-direction attribute is used to adjust and override the Unicode bidirectional text algorithm, similar to the W3C Internationalization Tag Set recommendation.
source <xs:attributeGroup name="text-direction">
 
<xs:annotation>
   
<xs:documentation>The text-direction attribute is used to adjust and override the Unicode bidirectional text algorithm, similar to the W3C Internationalization Tag Set recommendation.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="dir" type="text-direction"/>
</xs:attributeGroup>

attributeGroup text-formatting
used by
complexTypes accidental-text formatted-text
attributes
Name  Type  Use  Default  Fixed  annotation
justifyleft-center-right      
halignleft-center-right      
valignvalign      
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
font-familycomma-separated-text      
font-stylefont-style      
font-sizefont-size      
font-weightfont-weight      
colorcolor      
underlinenumber-of-lines      
overlinenumber-of-lines      
line-throughnumber-of-lines      
rotationrotation-degrees      
letter-spacingnumber-or-normal      
line-heightnumber-or-normal      
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
dirtext-direction      
enclosureenclosure      
annotation
documentation
The text-formatting attribute group collects the common formatting attributes for text elements. Default values may differ across the elements that use this group.
source <xs:attributeGroup name="text-formatting">
 
<xs:annotation>
   
<xs:documentation>The text-formatting attribute group collects the common formatting attributes for text elements. Default values may differ across the elements that use this group.</xs:documentation>
 
</xs:annotation>
 
<xs:attributeGroup ref="justify"/>
 
<xs:attributeGroup ref="halign"/>
 
<xs:attributeGroup ref="valign"/>
 
<xs:attributeGroup ref="print-style"/>
 
<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:attributeGroup ref="text-direction"/>
 
<xs:attribute name="enclosure" type="enclosure"/>
</xs:attributeGroup>

attributeGroup text-rotation
used by
complexTypes rehearsal text-element-data
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
rotationrotation-degrees      
annotation
documentation
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.
source <xs:attributeGroup name="text-rotation">
 
<xs:annotation>
   
<xs:documentation>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.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="rotation" type="rotation-degrees"/>
</xs:attributeGroup>

attributeGroup trill-sound
used by
complexTypes empty-trill-sound wavy-line
attributes
Name  Type  Use  Default  Fixed  annotation
start-notestart-note      
trill-steptrill-step      
two-note-turntwo-note-turn      
accelerateyes-no      
beatstrill-beats      
second-beatpercent      
last-beatpercent      
annotation
documentation
The trill-sound attribute group includes attributes used to guide the sound of trills, mordents, turns, shakes, and wavy lines, based on MuseData sound suggestions. 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".
source <xs:attributeGroup name="trill-sound">
 
<xs:annotation>
   
<xs:documentation>The trill-sound attribute group includes attributes used to guide the sound of trills, mordents, turns, shakes, and wavy lines, based on MuseData sound suggestions. 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".
</xs:documentation>
 
</xs:annotation>
 
<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>

attributeGroup valign
used by
complexType kind
attributeGroup text-formatting
attributes
Name  Type  Use  Default  Fixed  annotation
valignvalign      
annotation
documentation
The valign attribute is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. Defaults are implementation-dependent.
source <xs:attributeGroup name="valign">
 
<xs:annotation>
   
<xs:documentation>The valign attribute is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. Defaults are implementation-dependent.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="valign" type="valign"/>
</xs:attributeGroup>

attributeGroup valign-image
used by
attributeGroup image-attributes
attributes
Name  Type  Use  Default  Fixed  annotation
valignvalign-image      
annotation
documentation
The valign-image attribute is used to indicate vertical alignment for images and graphics, so it removes the baseline value. Defaults are implementation-dependent.
source <xs:attributeGroup name="valign-image">
 
<xs:annotation>
   
<xs:documentation>The valign-image attribute is used to indicate vertical alignment for images and graphics, so it removes the baseline value. Defaults are implementation-dependent.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="valign" type="valign-image"/>
</xs:attributeGroup>

attributeGroup x-position
used by
complexType note
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
annotation
documentation
The x-position attribute group is used for elements like notes where specifying x position is common, but specifying y position is rare.
source <xs:attributeGroup name="x-position">
 
<xs:annotation>
   
<xs:documentation>The x-position attribute group is used for elements like notes where specifying x position is common, but specifying y position is rare.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="default-x" type="tenths"/>
 
<xs:attribute name="default-y" type="tenths"/>
 
<xs:attribute name="relative-x" type="tenths"/>
 
<xs:attribute name="relative-y" type="tenths"/>
</xs:attributeGroup>

attributeGroup y-position
used by
complexType stem
attributes
Name  Type  Use  Default  Fixed  annotation
default-xtenths      
default-ytenths      
relative-xtenths      
relative-ytenths      
annotation
documentation
The y-position attribute group is used for elements like stems where specifying y position is common, but specifying x position is rare.
source <xs:attributeGroup name="y-position">
 
<xs:annotation>
   
<xs:documentation>The y-position attribute group is used for elements like stems where specifying y position is common, but specifying x position is rare.</xs:documentation>
 
</xs:annotation>
 
<xs:attribute name="default-x" type="tenths"/>
 
<xs:attribute name="default-y" type="tenths"/>
 
<xs:attribute name="relative-x" type="tenths"/>
 
<xs:attribute name="relative-y" type="tenths"/>
</xs:attributeGroup>

attribute base
namespace http://www.w3.org/XML/1998/namespace
type xs:anyURI
annotation
documentation
See http://www.w3.org/TR/xmlbase/ for
                     information about this attribute.
source <xs:attribute name="base" type="xs:anyURI">
 
<xs:annotation>
   
<xs:documentation>See http://www.w3.org/TR/xmlbase/ for
                     information about this attribute.
</xs:documentation>
 
</xs:annotation>
</xs:attribute>

attribute id
namespace http://www.w3.org/XML/1998/namespace
type xs:ID
annotation
documentation
See http://www.w3.org/TR/xml-id/ for
                     information about this attribute.
source <xs:attribute name="id" type="xs:ID">
 
<xs:annotation>
   
<xs:documentation>See http://www.w3.org/TR/xml-id/ for
                     information about this attribute.
</xs:documentation>
 
</xs:annotation>
</xs:attribute>

attribute lang
namespace http://www.w3.org/XML/1998/namespace
type union of (xs:language, restriction of xs:string)
annotation
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
source <xs:attribute name="lang">
 
<xs:annotation>
   
<xs:documentation>Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
</xs:documentation>
 
</xs:annotation>
 
<xs:simpleType>
   
<xs:union memberTypes="xs:language">
     
<xs:simpleType>
       
<xs:restriction base="xs:string">
         
<xs:enumeration value=""/>
       
</xs:restriction>
     
</xs:simpleType>
   
</xs:union>
 
</xs:simpleType>
</xs:attribute>

attribute space
namespace http://www.w3.org/XML/1998/namespace
type restriction of xs:NCName
facets
enumeration default
enumeration preserve
source <xs:attribute name="space">
 
<xs:simpleType>
   
<xs:restriction base="xs:NCName">
     
<xs:enumeration value="default"/>
     
<xs:enumeration value="preserve"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>

attributeGroup specialAttrs
namespace http://www.w3.org/XML/1998/namespace
attributes
Name  Type  Use  Default  Fixed  annotation
base      
documentation
See http://www.w3.org/TR/xmlbase/ for
                     information about this attribute.
lang      
documentation
Attempting to install the relevant ISO 2- and 3-letter
         codes as the enumerated possible values is probably never
         going to be a realistic possibility.  See
         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
         at http://www.iana.org/assignments/lang-tag-apps.htm for
         further information.

         The union allows for the 'un-declaration' of xml:lang with
         the empty string.
space      
source <xs:attributeGroup name="specialAttrs">
 
<xs:attribute ref="xml:base"/>
 
<xs:attribute ref="xml:lang"/>
 
<xs:attribute ref="xml:space"/>
</xs:attributeGroup>

attribute xlink:actuate
namespace http://www.w3.org/1999/xlink
type restriction of xs:NMTOKEN
facets
enumeration onRequest
enumeration onLoad
enumeration other
enumeration none
source <xs:attribute name="actuate">
 
<xs:simpleType>
   
<xs:restriction base="xs:NMTOKEN">
     
<xs:enumeration value="onRequest"/>
     
<xs:enumeration value="onLoad"/>
     
<xs:enumeration value="other"/>
     
<xs:enumeration value="none"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>

attribute xlink:href
namespace http://www.w3.org/1999/xlink
type xs:anyURI
source <xs:attribute name="href" type="xs:anyURI"/>

attribute xlink:role
namespace http://www.w3.org/1999/xlink
type xs:token
source <xs:attribute name="role" type="xs:token"/>

attribute xlink:show
namespace http://www.w3.org/1999/xlink
type restriction of xs:NMTOKEN
facets
enumeration new
enumeration replace
enumeration embed
enumeration other
enumeration none
source <xs:attribute name="show">
 
<xs:simpleType>
   
<xs:restriction base="xs:NMTOKEN">
     
<xs:enumeration value="new"/>
     
<xs:enumeration value="replace"/>
     
<xs:enumeration value="embed"/>
     
<xs:enumeration value="other"/>
     
<xs:enumeration value="none"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>

attribute xlink:title
namespace http://www.w3.org/1999/xlink
type xs:token
source <xs:attribute name="title" type="xs:token"/>

attribute xlink:type
namespace http://www.w3.org/1999/xlink
type restriction of xs:NMTOKEN
facets
enumeration simple
source <xs:attribute name="type">
 
<xs:simpleType>
   
<xs:restriction base="xs:NMTOKEN">
     
<xs:enumeration value="simple"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>


XML Schema documentation generated by
XMLSpy Schema Editor http://www.altova.com/xmlspy