XML Schema Documentation

Schema Document Properties

Target NamespaceNone
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):
    • http://www.w3.org/XML/1998/namespace (at http://www.w3.org/2001/xml.xsd)
    • http://www.w3.org/1999/xlink (at http://www.w3.org/1999/xlink.xsd)








PrefixNamespace
xmlhttp://www.w3.org/XML/1998/namespace
xlinkhttp://www.w3.org/1999/xlink
xshttp://www.w3.org/2001/XMLSchema
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified">
   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
   <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.w3.org/1999/xlink.xsd"/>
...
</xs:schema>

Global Declarations

Element: score-partwise

Namescore-partwise
TypeLocally-defined complex type
Nillableno
Abstractno
Substitution Group Exclusionsrestriction, extension
Disallowed Substitutionsextension substitution
<score-partwise
 version="xs:token" [0..1]
>
   <work> work </work> [0..1]
   <movement-number> xs:string </movement-number> [0..1] 
   <movement-title> xs:string </movement-title> [0..1] 
   <identification> identification </identification> [0..1]
   <defaults> defaults </defaults> [0..1]
   <credit> credit </credit> [0..*]
   <part-list> part-list </part-list> [1]
   <part
    id="xs:IDREF" [1]
   > [1..*] 
      <measure
       number="xs:token" [1]
       text="measure-text" [0..1]
       implicit="yes-no" [0..1]
       non-controlling="yes-no" [0..1]
       width="tenths" [0..1]
       id="xs:ID" [0..1]
      > [1..*] 
         Start Choice [0..*]
            <note> note </note> [1]
            <backup> backup </backup> [1]
            <forward> forward </forward> [1]
            <direction> direction </direction> [1]
            <attributes> attributes </attributes> [1]
            <harmony> harmony </harmony> [1]
            <figured-bass> figured-bass </figured-bass> [1]
            <print> print </print> [1]
            <sound> sound </sound> [1]
            <barline> barline </barline> [1]
            <grouping> grouping </grouping> [1]
            <link> link </link> [1]
            <bookmark> bookmark </bookmark> [1]
         End Choice
      </measure>
   </part>
</score-partwise>
<xs:element name="score-partwise" block="extension substitution" final="#all">
   <xs:complexType>
      <xs:sequence>
         <xs:group ref="score-header"/>
         <xs:element name="part" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="measure" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:group ref="music-data"/>
                        <xs:attributeGroup ref="measure-attributes"/>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attributeGroup ref="part-attributes"/>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
      <xs:attributeGroup ref="document-attributes"/>
   </xs:complexType>
</xs:element>

Element: score-timewise

Namescore-timewise
TypeLocally-defined complex type
Nillableno
Abstractno
Substitution Group Exclusionsrestriction, extension
Disallowed Substitutionsextension substitution
<score-timewise
 version="xs:token" [0..1]
>
   <work> work </work> [0..1]
   <movement-number> xs:string </movement-number> [0..1] 
   <movement-title> xs:string </movement-title> [0..1] 
   <identification> identification </identification> [0..1]
   <defaults> defaults </defaults> [0..1]
   <credit> credit </credit> [0..*]
   <part-list> part-list </part-list> [1]
   <measure
    number="xs:token" [1]
    text="measure-text" [0..1]
    implicit="yes-no" [0..1]
    non-controlling="yes-no" [0..1]
    width="tenths" [0..1]
    id="xs:ID" [0..1]
   > [1..*] 
      <part
       id="xs:IDREF" [1]
      > [1..*] 
         Start Choice [0..*]
            <note> note </note> [1]
            <backup> backup </backup> [1]
            <forward> forward </forward> [1]
            <direction> direction </direction> [1]
            <attributes> attributes </attributes> [1]
            <harmony> harmony </harmony> [1]
            <figured-bass> figured-bass </figured-bass> [1]
            <print> print </print> [1]
            <sound> sound </sound> [1]
            <barline> barline </barline> [1]
            <grouping> grouping </grouping> [1]
            <link> link </link> [1]
            <bookmark> bookmark </bookmark> [1]
         End Choice
      </part>
   </measure>
</score-timewise>
<xs:element name="score-timewise" block="extension substitution" final="#all">
   <xs:complexType>
      <xs:sequence>
         <xs:group ref="score-header"/>
         <xs:element name="measure" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="part" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:group ref="music-data"/>
                        <xs:attributeGroup ref="part-attributes"/>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attributeGroup ref="measure-attributes"/>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
      <xs:attributeGroup ref="document-attributes"/>
   </xs:complexType>
</xs:element>

Global Definitions

Attribute Group: bend-sound

Namebend-sound
accelerate="yes-no" [0..1]
beats="trill-beats" [0..1]
first-beat="percent" [0..1]
last-beat="percent" [0..1]
<xs:attributeGroup name="bend-sound">
   <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>

Attribute Group: bezier

Namebezier
bezier-x="tenths" [0..1]
bezier-y="tenths" [0..1]
bezier-x2="tenths" [0..1]
bezier-y2="tenths" [0..1]
bezier-offset="divisions" [0..1]
bezier-offset2="divisions" [0..1]
<xs:attributeGroup name="bezier">
   <xs:attribute name="bezier-x" type="tenths"/>
   <xs:attribute name="bezier-y" type="tenths"/>
   <xs:attribute name="bezier-x2" type="tenths"/>
   <xs:attribute name="bezier-y2" type="tenths"/>
   <xs:attribute name="bezier-offset" type="divisions"/>
   <xs:attribute name="bezier-offset2" type="divisions"/>
</xs:attributeGroup>

Attribute Group: color

Namecolor
<xs:attributeGroup name="color">
   <xs:attribute name="color" type="color"/>
</xs:attributeGroup>

Attribute Group: dashed-formatting

Namedashed-formatting
dash-length="tenths" [0..1]
space-length="tenths" [0..1]
<xs:attributeGroup name="dashed-formatting">
   <xs:attribute name="dash-length" type="tenths"/>
   <xs:attribute name="space-length" type="tenths"/>
</xs:attributeGroup>

Attribute Group: directive

Namedirective
<xs:attributeGroup name="directive">
   <xs:attribute name="directive" type="yes-no"/>
</xs:attributeGroup>

Attribute Group: document-attributes

Namedocument-attributes
version="xs:token" [0..1]
<xs:attributeGroup name="document-attributes">
   <xs:attribute name="version" type="xs:token" default="1.0"/>
</xs:attributeGroup>

Attribute Group: element-position

Nameelement-position
element="xs:NMTOKEN" [0..1]
position="xs:positiveInteger" [0..1]
<xs:attributeGroup name="element-position">
   <xs:attribute name="element" type="xs:NMTOKEN"/>
   <xs:attribute name="position" type="xs:positiveInteger"/>
</xs:attributeGroup>

Attribute Group: enclosure

Nameenclosure
<xs:attributeGroup name="enclosure">
   <xs:attribute name="enclosure" type="enclosure-shape"/>
</xs:attributeGroup>

Attribute Group: font

Namefont
font-family="comma-separated-text" [0..1]
font-style="font-style" [0..1]
font-size="font-size" [0..1]
font-weight="font-weight" [0..1]
<xs:attributeGroup name="font">
   <xs:attribute name="font-family" type="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>

Attribute Group: group-name-text

Namegroup-name-text
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
font-family="comma-separated-text" [0..1]
font-style="font-style" [0..1]
font-size="font-size" [0..1]
font-weight="font-weight" [0..1]
color="color" [0..1]
justify="left-center-right" [0..1]
<xs:attributeGroup name="group-name-text">
   <xs:attributeGroup ref="print-style"/>
   <xs:attributeGroup ref="justify"/>
</xs:attributeGroup>

Attribute Group: halign

Namehalign
<xs:attributeGroup name="halign">
   <xs:attribute name="halign" type="left-center-right"/>
</xs:attributeGroup>

Attribute Group: image-attributes

Nameimage-attributes
source="xs:anyURI" [1]
type="xs:token" [1]
height="tenths" [0..1]
width="tenths" [0..1]
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
halign="left-center-right" [0..1]
valign="valign-image" [0..1]
<xs:attributeGroup name="image-attributes">
   <xs:attribute name="source" type="xs:anyURI" use="required"/>
   <xs:attribute name="type" type="xs:token" use="required"/>
   <xs:attribute name="height" type="tenths"/>
   <xs:attribute name="width" type="tenths"/>
   <xs:attributeGroup ref="position"/>
   <xs:attributeGroup ref="halign"/>
   <xs:attributeGroup ref="valign-image"/>
</xs:attributeGroup>

Attribute Group: justify

Namejustify
<xs:attributeGroup name="justify">
   <xs:attribute name="justify" type="left-center-right"/>
</xs:attributeGroup>

Attribute Group: letter-spacing

Nameletter-spacing
<xs:attributeGroup name="letter-spacing">
   <xs:attribute name="letter-spacing" type="number-or-normal"/>
</xs:attributeGroup>

Attribute Group: level-display

Namelevel-display
parentheses="yes-no" [0..1]
bracket="yes-no" [0..1]
size="symbol-size" [0..1]
<xs:attributeGroup name="level-display">
   <xs:attribute name="parentheses" type="yes-no"/>
   <xs:attribute name="bracket" type="yes-no"/>
   <xs:attribute name="size" type="symbol-size"/>
</xs:attributeGroup>

Attribute Group: line-height

Nameline-height
<xs:attributeGroup name="line-height">
   <xs:attribute name="line-height" type="number-or-normal"/>
</xs:attributeGroup>

Attribute Group: line-length

Nameline-length
<xs:attributeGroup name="line-length">
   <xs:attribute name="line-length" type="line-length"/>
</xs:attributeGroup>

Attribute Group: line-shape

Nameline-shape
<xs:attributeGroup name="line-shape">
   <xs:attribute name="line-shape" type="line-shape"/>
</xs:attributeGroup>

Attribute Group: line-type

Nameline-type
<xs:attributeGroup name="line-type">
   <xs:attribute name="line-type" type="line-type"/>
</xs:attributeGroup>

Attribute Group: link-attributes


Attribute Group: measure-attributes

Namemeasure-attributes
number="xs:token" [1]
text="measure-text" [0..1]
implicit="yes-no" [0..1]
non-controlling="yes-no" [0..1]
width="tenths" [0..1]
id="xs:ID" [0..1]
<xs:attributeGroup name="measure-attributes">
   <xs:attribute name="number" type="xs:token" use="required"/>
   <xs:attribute name="text" type="measure-text"/>
   <xs:attribute name="implicit" type="yes-no"/>
   <xs:attribute name="non-controlling" type="yes-no"/>
   <xs:attribute name="width" type="tenths"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:attributeGroup>

Attribute Group: optional-unique-id

Nameoptional-unique-id
<xs:attributeGroup name="optional-unique-id">
   <xs:attribute name="id" type="xs:ID"/>
</xs:attributeGroup>

Attribute Group: orientation

Nameorientation
<xs:attributeGroup name="orientation">
   <xs:attribute name="orientation" type="over-under"/>
</xs:attributeGroup>

Attribute Group: part-attributes

Namepart-attributes
<xs:attributeGroup name="part-attributes">
   <xs:attribute name="id" type="xs:IDREF" use="required"/>
</xs:attributeGroup>

Attribute Group: part-name-text

Namepart-name-text
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
font-family="comma-separated-text" [0..1]
font-style="font-style" [0..1]
font-size="font-size" [0..1]
font-weight="font-weight" [0..1]
color="color" [0..1]
print-object="yes-no" [0..1]
justify="left-center-right" [0..1]
<xs:attributeGroup name="part-name-text">
   <xs:attributeGroup ref="print-style"/>
   <xs:attributeGroup ref="print-object"/>
   <xs:attributeGroup ref="justify"/>
</xs:attributeGroup>

Attribute Group: placement

Nameplacement
<xs:attributeGroup name="placement">
   <xs:attribute name="placement" type="above-below"/>
</xs:attributeGroup>

Attribute Group: position

Nameposition
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
<xs:attributeGroup name="position">
   <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 Group: print-attributes

Nameprint-attributes
staff-spacing="tenths" [0..1]
new-system="yes-no" [0..1]
new-page="yes-no" [0..1]
blank-page="xs:positiveInteger" [0..1]
page-number="xs:token" [0..1]
<xs:attributeGroup name="print-attributes">
   <xs:attribute name="staff-spacing" type="tenths"/>
   <xs:attribute name="new-system" type="yes-no"/>
   <xs:attribute name="new-page" type="yes-no"/>
   <xs:attribute name="blank-page" type="xs:positiveInteger"/>
   <xs:attribute name="page-number" type="xs:token"/>
</xs:attributeGroup>

Attribute Group: print-object

Nameprint-object
print-object="yes-no" [0..1]
<xs:attributeGroup name="print-object">
   <xs:attribute name="print-object" type="yes-no"/>
</xs:attributeGroup>

Attribute Group: print-spacing

Nameprint-spacing
print-spacing="yes-no" [0..1]
<xs:attributeGroup name="print-spacing">
   <xs:attribute name="print-spacing" type="yes-no"/>
</xs:attributeGroup>

Attribute Group: print-style

Nameprint-style
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
font-family="comma-separated-text" [0..1]
font-style="font-style" [0..1]
font-size="font-size" [0..1]
font-weight="font-weight" [0..1]
color="color" [0..1]
<xs:attributeGroup name="print-style">
   <xs:attributeGroup ref="position"/>
   <xs:attributeGroup ref="font"/>
   <xs:attributeGroup ref="color"/>
</xs:attributeGroup>

Attribute Group: print-style-align

Nameprint-style-align
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
font-family="comma-separated-text" [0..1]
font-style="font-style" [0..1]
font-size="font-size" [0..1]
font-weight="font-weight" [0..1]
color="color" [0..1]
halign="left-center-right" [0..1]
valign="valign" [0..1]
<xs:attributeGroup name="print-style-align">
   <xs:attributeGroup ref="print-style"/>
   <xs:attributeGroup ref="halign"/>
   <xs:attributeGroup ref="valign"/>
</xs:attributeGroup>

Attribute Group: printout

Nameprintout
print-object="yes-no" [0..1]
print-dot="yes-no" [0..1]
print-spacing="yes-no" [0..1]
print-lyric="yes-no" [0..1]
<xs:attributeGroup name="printout">
   <xs:attributeGroup ref="print-object"/>
   <xs:attribute name="print-dot" type="yes-no"/>
   <xs:attributeGroup ref="print-spacing"/>
   <xs:attribute name="print-lyric" type="yes-no"/>
</xs:attributeGroup>

Attribute Group: smufl

Namesmufl
<xs:attributeGroup name="smufl">
   <xs:attribute name="smufl" type="smufl-glyph-name"/>
</xs:attributeGroup>

Attribute Group: symbol-formatting

Namesymbol-formatting
justify="left-center-right" [0..1]
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
font-family="comma-separated-text" [0..1]
font-style="font-style" [0..1]
font-size="font-size" [0..1]
font-weight="font-weight" [0..1]
color="color" [0..1]
halign="left-center-right" [0..1]
valign="valign" [0..1]
underline="number-of-lines" [0..1]
overline="number-of-lines" [0..1]
line-through="number-of-lines" [0..1]
rotation="rotation-degrees" [0..1]
letter-spacing="number-or-normal" [0..1]
line-height="number-or-normal" [0..1]
dir="text-direction" [0..1]
enclosure="enclosure-shape" [0..1]
<xs:attributeGroup name="symbol-formatting">
   <xs:attributeGroup ref="justify"/>
   <xs:attributeGroup ref="print-style-align"/>
   <xs:attributeGroup ref="text-decoration"/>
   <xs:attributeGroup ref="text-rotation"/>
   <xs:attributeGroup ref="letter-spacing"/>
   <xs:attributeGroup ref="line-height"/>
   <xs:attributeGroup ref="text-direction"/>
   <xs:attributeGroup ref="enclosure"/>
</xs:attributeGroup>

Attribute Group: text-decoration

Nametext-decoration
underline="number-of-lines" [0..1]
overline="number-of-lines" [0..1]
line-through="number-of-lines" [0..1]
<xs:attributeGroup name="text-decoration">
   <xs:attribute name="underline" type="number-of-lines"/>
   <xs:attribute name="overline" type="number-of-lines"/>
   <xs:attribute name="line-through" type="number-of-lines"/>
</xs:attributeGroup>

Attribute Group: text-direction

Nametext-direction
<xs:attributeGroup name="text-direction">
   <xs:attribute name="dir" type="text-direction"/>
</xs:attributeGroup>

Attribute Group: text-formatting

Nametext-formatting
justify="left-center-right" [0..1]
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
font-family="comma-separated-text" [0..1]
font-style="font-style" [0..1]
font-size="font-size" [0..1]
font-weight="font-weight" [0..1]
color="color" [0..1]
halign="left-center-right" [0..1]
valign="valign" [0..1]
underline="number-of-lines" [0..1]
overline="number-of-lines" [0..1]
line-through="number-of-lines" [0..1]
rotation="rotation-degrees" [0..1]
letter-spacing="number-or-normal" [0..1]
line-height="number-or-normal" [0..1]
xml:lang="" [0..1]
xml:space="" [0..1]
dir="text-direction" [0..1]
enclosure="enclosure-shape" [0..1]
<xs:attributeGroup name="text-formatting">
   <xs:attributeGroup ref="justify"/>
   <xs:attributeGroup ref="print-style-align"/>
   <xs:attributeGroup ref="text-decoration"/>
   <xs:attributeGroup ref="text-rotation"/>
   <xs:attributeGroup ref="letter-spacing"/>
   <xs:attributeGroup ref="line-height"/>
   <xs:attribute ref="xml:lang"/>
   <xs:attribute ref="xml:space"/>
   <xs:attributeGroup ref="text-direction"/>
   <xs:attributeGroup ref="enclosure"/>
</xs:attributeGroup>

Attribute Group: text-rotation

Nametext-rotation
<xs:attributeGroup name="text-rotation">
   <xs:attribute name="rotation" type="rotation-degrees"/>
</xs:attributeGroup>

Attribute Group: trill-sound

Nametrill-sound
start-note="start-note" [0..1]
trill-step="trill-step" [0..1]
two-note-turn="two-note-turn" [0..1]
accelerate="yes-no" [0..1]
beats="trill-beats" [0..1]
second-beat="percent" [0..1]
last-beat="percent" [0..1]
<xs:attributeGroup name="trill-sound">
   <xs:attribute name="start-note" type="start-note"/>
   <xs:attribute name="trill-step" type="trill-step"/>
   <xs:attribute name="two-note-turn" type="two-note-turn"/>
   <xs:attribute name="accelerate" type="yes-no"/>
   <xs:attribute name="beats" type="trill-beats"/>
   <xs:attribute name="second-beat" type="percent"/>
   <xs:attribute name="last-beat" type="percent"/>
</xs:attributeGroup>

Attribute Group: valign

Namevalign
<xs:attributeGroup name="valign">
   <xs:attribute name="valign" type="valign"/>
</xs:attributeGroup>

Attribute Group: valign-image

Namevalign-image
<xs:attributeGroup name="valign-image">
   <xs:attribute name="valign" type="valign-image"/>
</xs:attributeGroup>

Attribute Group: x-position

Namex-position
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
<xs:attributeGroup name="x-position">
   <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 Group: y-position

Namey-position
default-x="tenths" [0..1]
default-y="tenths" [0..1]
relative-x="tenths" [0..1]
relative-y="tenths" [0..1]
<xs:attributeGroup name="y-position">
   <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>

Complex Type: accidental

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < accidental-value (by restriction) < accidental (by extension)
Sub-types:None
Nameaccidental
Abstractno
<...
 cautionary="yes-no" [0..1]
 editorial="yes-no" [0..1]
 parentheses="yes-no" [0..1]
 bracket="yes-no" [0..1]
 size="symbol-size" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 smufl="smufl-accidental-glyph-name" [0..1]
>
    accidental-value
</...>
<xs:complexType name="accidental">
   <xs:simpleContent>
      <xs:extension base="accidental-value">
         <xs:attribute name="cautionary" type="yes-no"/>
         <xs:attribute name="editorial" type="yes-no"/>
         <xs:attributeGroup ref="level-display"/>
         <xs:attributeGroup ref="print-style"/>
         <xs:attribute name="smufl" type="smufl-accidental-glyph-name"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: accidental-mark

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < accidental-value (by restriction) < accidental-mark (by extension)
Sub-types:None
Nameaccidental-mark
Abstractno
<...
 parentheses="yes-no" [0..1]
 bracket="yes-no" [0..1]
 size="symbol-size" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 placement="above-below" [0..1]
 smufl="smufl-accidental-glyph-name" [0..1]
 id="xs:ID" [0..1]
>
    accidental-value
</...>
<xs:complexType name="accidental-mark">
   <xs:simpleContent>
      <xs:extension base="accidental-value">
         <xs:attributeGroup ref="level-display"/>
         <xs:attributeGroup ref="print-style"/>
         <xs:attributeGroup ref="placement"/>
         <xs:attribute name="smufl" type="smufl-accidental-glyph-name"/>
         <xs:attributeGroup ref="optional-unique-id"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: accidental-text

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < accidental-value (by restriction) < accidental-text (by extension)
Sub-types:None
Nameaccidental-text
Abstractno
<...
 justify="left-center-right" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 halign="left-center-right" [0..1]
 valign="valign" [0..1]
 underline="number-of-lines" [0..1]
 overline="number-of-lines" [0..1]
 line-through="number-of-lines" [0..1]
 rotation="rotation-degrees" [0..1]
 letter-spacing="number-or-normal" [0..1]
 line-height="number-or-normal" [0..1]
 xml:lang="" [0..1]
 xml:space="" [0..1]
 dir="text-direction" [0..1]
 enclosure="enclosure-shape" [0..1]
 smufl="smufl-accidental-glyph-name" [0..1]
>
    accidental-value
</...>
<xs:complexType name="accidental-text">
   <xs:simpleContent>
      <xs:extension base="accidental-value">
         <xs:attributeGroup ref="text-formatting"/>
         <xs:attribute name="smufl" type="smufl-accidental-glyph-name"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: accord

Super-types:None
Sub-types:None
Nameaccord
Abstractno
<...
 string="string-number" [0..1]
>
   <tuning-step> step </tuning-step> [1] 
   <tuning-alter> semitones </tuning-alter> [0..1] 
   <tuning-octave> octave </tuning-octave> [1] 
</...>
<xs:complexType name="accord">
   <xs:group ref="tuning"/>
   <xs:attribute name="string" type="string-number"/>
</xs:complexType>

Complex Type: accordion-registration

Super-types:None
Sub-types:None
Nameaccordion-registration
Abstractno
<...
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 halign="left-center-right" [0..1]
 valign="valign" [0..1]
 id="xs:ID" [0..1]
>
   <accordion-high> empty </accordion-high> [0..1] 
   <accordion-middle> accordion-middle </accordion-middle> [0..1] 
   <accordion-low> empty </accordion-low> [0..1] 
</...>
<xs:complexType name="accordion-registration">
   <xs:sequence>
      <xs:element name="accordion-high" type="empty" minOccurs="0"/>
      <xs:element name="accordion-middle" type="accordion-middle" minOccurs="0"/>
      <xs:element name="accordion-low" type="empty" minOccurs="0"/>
   </xs:sequence>
   <xs:attributeGroup ref="print-style-align"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: appearance

Super-types:None
Sub-types:None
Nameappearance
Abstractno
<...>
   <line-width> line-width </line-width> [0..*]
   <note-size> note-size </note-size> [0..*]
   <distance> distance </distance> [0..*]
   <glyph> glyph </glyph> [0..*]
   <other-appearance> other-appearance </other-appearance> [0..*]
</...>
<xs:complexType name="appearance">
   <xs:sequence>
      <xs:element name="line-width" type="line-width" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="note-size" type="note-size" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="distance" type="distance" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="glyph" type="glyph" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="other-appearance" type="other-appearance" minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
</xs:complexType>

Complex Type: arpeggiate

Super-types:None
Sub-types:None
Namearpeggiate
Abstractno
<...
 number="number-level" [0..1]
 direction="up-down" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 placement="above-below" [0..1]
 color="color" [0..1]
 id="xs:ID" [0..1]
/> 

<xs:complexType name="arpeggiate">
   <xs:attribute name="number" type="number-level"/>
   <xs:attribute name="direction" type="up-down"/>
   <xs:attributeGroup ref="position"/>
   <xs:attributeGroup ref="placement"/>
   <xs:attributeGroup ref="color"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: arrow

Super-types:None
Sub-types:None
Namearrow
Abstractno
<...
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 placement="above-below" [0..1]
 smufl="smufl-glyph-name" [0..1]
>
   Start Choice [1]
      <arrow-direction> arrow-direction </arrow-direction> [1]
      <arrow-style> arrow-style </arrow-style> [0..1]
      <arrowhead> empty </arrowhead> [0..1]
      <circular-arrow> circular-arrow </circular-arrow> [1]
   End Choice
</...>
<xs:complexType name="arrow">
   <xs:choice>
      <xs:sequence>
         <xs:element name="arrow-direction" type="arrow-direction"/>
         <xs:element name="arrow-style" type="arrow-style" minOccurs="0"/>
         <xs:element name="arrowhead" type="empty" minOccurs="0"/>
      </xs:sequence>
      <xs:element name="circular-arrow" type="circular-arrow"/>
   </xs:choice>
   <xs:attributeGroup ref="print-style"/>
   <xs:attributeGroup ref="placement"/>
   <xs:attributeGroup ref="smufl"/>
</xs:complexType>

Complex Type: articulations

Super-types:None
Sub-types:None
Namearticulations
Abstractno
<...
 id="xs:ID" [0..1]
>
   Start Choice [0..*]
      <accent> empty-placement </accent> [1] 
      <strong-accent> strong-accent </strong-accent> [1] 
      <staccato> empty-placement </staccato> [1] 
      <tenuto> empty-placement </tenuto> [1] 
      <detached-legato> empty-placement </detached-legato> [1] 
      <staccatissimo> empty-placement </staccatissimo> [1] 
      <spiccato> empty-placement </spiccato> [1] 
      <scoop> empty-line </scoop> [1] 
      <plop> empty-line </plop> [1] 
      <doit> empty-line </doit> [1] 
      <falloff> empty-line </falloff> [1] 
      <breath-mark> breath-mark </breath-mark> [1]
      <caesura> caesura </caesura> [1]
      <stress> empty-placement </stress> [1] 
      <unstress> empty-placement </unstress> [1] 
      <soft-accent> empty-placement </soft-accent> [1] 
      <other-articulation> other-placement-text </other-articulation> [1] 
   End Choice
</...>
<xs:complexType name="articulations">
   <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="accent" type="empty-placement"/>
      <xs:element name="strong-accent" type="strong-accent"/>
      <xs:element name="staccato" type="empty-placement"/>
      <xs:element name="tenuto" type="empty-placement"/>
      <xs:element name="detached-legato" type="empty-placement"/>
      <xs:element name="staccatissimo" type="empty-placement"/>
      <xs:element name="spiccato" type="empty-placement"/>
      <xs:element name="scoop" type="empty-line"/>
      <xs:element name="plop" type="empty-line"/>
      <xs:element name="doit" type="empty-line"/>
      <xs:element name="falloff" type="empty-line"/>
      <xs:element name="breath-mark" type="breath-mark"/>
      <xs:element name="caesura" type="caesura"/>
      <xs:element name="stress" type="empty-placement"/>
      <xs:element name="unstress" type="empty-placement"/>
      <xs:element name="soft-accent" type="empty-placement"/>
      <xs:element name="other-articulation" type="other-placement-text"/>
   </xs:choice>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: attributes

Super-types:None
Sub-types:None
Nameattributes
Abstractno
<...>
   Start Group: footnote [0..1]
      <footnote> formatted-text </footnote> [1]
   End Group: footnote
   Start Group: level [0..1]
      <level> level </level> [1]
   End Group: level
   <divisions> positive-divisions </divisions> [0..1] 
   <key> key </key> [0..*] 
   <time> time </time> [0..*] 
   <staves> xs:nonNegativeInteger </staves> [0..1] 
   <part-symbol> part-symbol </part-symbol> [0..1] 
   <instruments> xs:nonNegativeInteger </instruments> [0..1] 
   <clef> clef </clef> [0..*] 
   <staff-details> staff-details </staff-details> [0..*] 
   <transpose> transpose </transpose> [0..*] 
   <directive
    default-x="tenths" [0..1]
    default-y="tenths" [0..1]
    relative-x="tenths" [0..1]
    relative-y="tenths" [0..1]
    font-family="comma-separated-text" [0..1]
    font-style="font-style" [0..1]
    font-size="font-size" [0..1]
    font-weight="font-weight" [0..1]
    color="color" [0..1]
    xml:lang="" [0..1]
   > [0..*]  
       xs:string
   </directive>
   <measure-style> measure-style </measure-style> [0..*] 
</...>
<xs:complexType name="attributes">
   <xs:sequence>
      <xs:group ref="editorial"/>
      <xs:element name="divisions" type="positive-divisions" minOccurs="0"/>
      <xs:element name="key" type="key" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="time" type="time" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="staves" type="xs:nonNegativeInteger" minOccurs="0"/>
      <xs:element name="part-symbol" type="part-symbol" minOccurs="0"/>
      <xs:element name="instruments" type="xs:nonNegativeInteger" minOccurs="0"/>
      <xs:element name="clef" type="clef" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="staff-details" type="staff-details" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="transpose" type="transpose" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="directive" minOccurs="0" maxOccurs="unbounded">
         <xs:complexType>
            <xs:simpleContent>
               <xs:extension base="xs:string">
                  <xs:attributeGroup ref="print-style"/>
                  <xs:attribute ref="xml:lang"/>
               </xs:extension>
            </xs:simpleContent>
         </xs:complexType>
      </xs:element>
      <xs:element name="measure-style" type="measure-style" minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
</xs:complexType>

Complex Type: backup

Super-types:None
Sub-types:None
Namebackup
Abstractno
<...>
   <duration> positive-divisions </duration> [1] 
   Start Group: footnote [0..1]
      <footnote> formatted-text </footnote> [1]
   End Group: footnote
   Start Group: level [0..1]
      <level> level </level> [1]
   End Group: level
</...>
<xs:complexType name="backup">
   <xs:sequence>
      <xs:group ref="duration"/>
      <xs:group ref="editorial"/>
   </xs:sequence>
</xs:complexType>

Complex Type: bar-style-color

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < bar-style (by restriction) < bar-style-color (by extension)
Sub-types:None
Namebar-style-color
Abstractno
<...
 color="color" [0..1]
>
    bar-style
</...>
<xs:complexType name="bar-style-color">
   <xs:simpleContent>
      <xs:extension base="bar-style">
         <xs:attributeGroup ref="color"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: barline

Super-types:None
Sub-types:None
Namebarline
Abstractno
<...
 location="right-left-middle" [0..1]
 segno="xs:token" [0..1]
 coda="xs:token" [0..1]
 divisions="divisions" [0..1]
 id="xs:ID" [0..1]
>
   <bar-style> bar-style-color </bar-style> [0..1]
   Start Group: footnote [0..1]
      <footnote> formatted-text </footnote> [1]
   End Group: footnote
   Start Group: level [0..1]
      <level> level </level> [1]
   End Group: level
   <wavy-line> wavy-line </wavy-line> [0..1]
   <segno> segno </segno> [0..1]
   <coda> coda </coda> [0..1]
   <fermata> fermata </fermata> [0..2]
   <ending> ending </ending> [0..1]
   <repeat> repeat </repeat> [0..1]
</...>
<xs:complexType name="barline">
   <xs:sequence>
      <xs:element name="bar-style" type="bar-style-color" minOccurs="0"/>
      <xs:group ref="editorial"/>
      <xs:element name="wavy-line" type="wavy-line" minOccurs="0"/>
      <xs:element name="segno" type="segno" minOccurs="0"/>
      <xs:element name="coda" type="coda" minOccurs="0"/>
      <xs:element name="fermata" type="fermata" minOccurs="0" maxOccurs="2"/>
      <xs:element name="ending" type="ending" minOccurs="0"/>
      <xs:element name="repeat" type="repeat" minOccurs="0"/>
   </xs:sequence>
   <xs:attribute name="location" type="right-left-middle" default="right"/>
   <xs:attribute name="segno" type="xs:token"/>
   <xs:attribute name="coda" type="xs:token"/>
   <xs:attribute name="divisions" type="divisions"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: barre

Super-types:None
Sub-types:None
Namebarre
Abstractno
<...
 type="start-stop" [1]
 color="color" [0..1]
/> 

<xs:complexType name="barre">
   <xs:attribute name="type" type="start-stop" use="required"/>
   <xs:attributeGroup ref="color"/>
</xs:complexType>

Complex Type: bass

Super-types:None
Sub-types:None
<...>
   <bass-step> bass-step </bass-step> [1]
   <bass-alter> bass-alter </bass-alter> [0..1]
</...>
<xs:complexType name="bass">
   <xs:sequence>
      <xs:element name="bass-step" type="bass-step"/>
      <xs:element name="bass-alter" type="bass-alter" minOccurs="0"/>
   </xs:sequence>
</xs:complexType>

Complex Type: bass-alter

Super-types:xs:decimal < semitones (by restriction) < bass-alter (by extension)
Sub-types:None
Namebass-alter
Abstractno
<...
 print-object="yes-no" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 location="left-right" [0..1]
>
    semitones
</...>
<xs:complexType name="bass-alter">
   <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>

Complex Type: bass-step

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < step (by restriction) < bass-step (by extension)
Sub-types:None
Namebass-step
Abstractno
<...
 text="xs:token" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
>
    step
</...>
<xs:complexType name="bass-step">
   <xs:simpleContent>
      <xs:extension base="step">
         <xs:attribute name="text" type="xs:token"/>
         <xs:attributeGroup ref="print-style"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: beam

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < beam-value (by restriction) < beam (by extension)
Sub-types:None
<...
 number="beam-level" [0..1]
 repeater="yes-no" [0..1]
 fan="fan" [0..1]
 color="color" [0..1]
 id="xs:ID" [0..1]
>
    beam-value
</...>
<xs:complexType name="beam">
   <xs:simpleContent>
      <xs:extension base="beam-value">
         <xs:attribute name="number" type="beam-level" default="1"/>
         <xs:attribute name="repeater" type="yes-no"/>
         <xs:attribute name="fan" type="fan"/>
         <xs:attributeGroup ref="color"/>
         <xs:attributeGroup ref="optional-unique-id"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: beat-repeat

Super-types:None
Sub-types:None
Namebeat-repeat
Abstractno
<...
 type="start-stop" [1]
 slashes="xs:positiveInteger" [0..1]
 use-dots="yes-no" [0..1]
>
   Start Group: slash [0..1]
      Start Sequence [0..1]
         <slash-type> note-type-value </slash-type> [1] 
         <slash-dot> empty </slash-dot> [0..*] 
      End Sequence
      <except-voice> xs:string </except-voice> [0..*] 
   End Group: slash
</...>
<xs:complexType name="beat-repeat">
   <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>

Complex Type: beat-unit-tied

Super-types:None
Sub-types:None
Namebeat-unit-tied
Abstractno
<...>
   <beat-unit> note-type-value </beat-unit> [1] 
   <beat-unit-dot> empty </beat-unit-dot> [0..*] 
</...>
<xs:complexType name="beat-unit-tied">
   <xs:group ref="beat-unit"/>
</xs:complexType>

Complex Type: beater

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < beater-value (by restriction) < beater (by extension)
Sub-types:None
Namebeater
Abstractno
<xs:complexType name="beater">
   <xs:simpleContent>
      <xs:extension base="beater-value">
         <xs:attribute name="tip" type="tip-direction"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: bend

Super-types:None
Sub-types:None
<...
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 accelerate="yes-no" [0..1]
 beats="trill-beats" [0..1]
 first-beat="percent" [0..1]
 last-beat="percent" [0..1]
>
   <bend-alter> semitones </bend-alter> [1] 
   Start Choice [0..1]
      <pre-bend> empty </pre-bend> [1] 
      <release> empty </release> [1] 
   End Choice
   <with-bar> placement-text </with-bar> [0..1] 
</...>
<xs:complexType name="bend">
   <xs:sequence>
      <xs:element name="bend-alter" type="semitones"/>
      <xs:choice minOccurs="0">
         <xs:element name="pre-bend" type="empty"/>
         <xs:element name="release" type="empty"/>
      </xs:choice>
      <xs:element name="with-bar" type="placement-text" minOccurs="0"/>
   </xs:sequence>
   <xs:attributeGroup ref="print-style"/>
   <xs:attributeGroup ref="bend-sound"/>
</xs:complexType>

Complex Type: bookmark

Super-types:None
Sub-types:None
Namebookmark
Abstractno
<...
 id="xs:ID" [1]
 name="xs:token" [0..1]
 element="xs:NMTOKEN" [0..1]
 position="xs:positiveInteger" [0..1]
/> 

<xs:complexType name="bookmark">
   <xs:attribute name="id" type="xs:ID" use="required"/>
   <xs:attribute name="name" type="xs:token"/>
   <xs:attributeGroup ref="element-position"/>
</xs:complexType>

Complex Type: bracket

Super-types:None
Sub-types:None
Namebracket
Abstractno
<...
 type="start-stop-continue" [1]
 number="number-level" [0..1]
 line-end="line-end" [1]
 end-length="tenths" [0..1]
 line-type="line-type" [0..1]
 dash-length="tenths" [0..1]
 space-length="tenths" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 color="color" [0..1]
 id="xs:ID" [0..1]
/> 

<xs:complexType name="bracket">
   <xs:attribute name="type" type="start-stop-continue" 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="dashed-formatting"/>
   <xs:attributeGroup ref="position"/>
   <xs:attributeGroup ref="color"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: breath-mark

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < breath-mark-value (by restriction) < breath-mark (by extension)
Sub-types:None
Namebreath-mark
Abstractno
<...
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 placement="above-below" [0..1]
>
    breath-mark-value
</...>
<xs:complexType name="breath-mark">
   <xs:simpleContent>
      <xs:extension base="breath-mark-value">
         <xs:attributeGroup ref="print-style"/>
         <xs:attributeGroup ref="placement"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: caesura

Super-types:xs:positiveInteger < string-number (by restriction) < string (by extension) < caesura-value (by restriction) < caesura (by extension)
Sub-types:None
Namecaesura
Abstractno
<...
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 placement="above-below" [0..1]
>
    caesura-value
</...>
<xs:complexType name="caesura">
   <xs:simpleContent>
      <xs:extension base="caesura-value">
         <xs:attributeGroup ref="print-style"/>
         <xs:attributeGroup ref="placement"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: cancel

Super-types:xs:integer < fifths (by restriction) < cancel (by extension)
Sub-types:None
Namecancel
Abstractno
<...
 location="cancel-location" [0..1]
>
    fifths
</...>
<xs:complexType name="cancel">
   <xs:simpleContent>
      <xs:extension base="fifths">
         <xs:attribute name="location" type="cancel-location"/>
      </xs:extension>
   </xs:simpleContent>
</xs:complexType>

Complex Type: clef

Super-types:None
Sub-types:None
<...
 number="staff-number" [0..1]
 additional="yes-no" [0..1]
 size="symbol-size" [0..1]
 after-barline="yes-no" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 print-object="yes-no" [0..1]
 id="xs:ID" [0..1]
>
   <sign> clef-sign </sign> [1] 
   <line> staff-line </line> [0..1] 
   <clef-octave-change> xs:integer </clef-octave-change> [0..1] 
</...>
<xs:complexType name="clef">
   <xs:sequence>
      <xs:element name="sign" type="clef-sign"/>
      <xs:element name="line" type="staff-line" minOccurs="0"/>
      <xs:element name="clef-octave-change" type="xs:integer" minOccurs="0"/>
   </xs:sequence>
   <xs:attribute name="number" type="staff-number"/>
   <xs:attribute name="additional" type="yes-no"/>
   <xs:attribute name="size" type="symbol-size"/>
   <xs:attribute name="after-barline" type="yes-no"/>
   <xs:attributeGroup ref="print-style"/>
   <xs:attributeGroup ref="print-object"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: coda

Super-types:None
Sub-types:None
<...
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 font-family="comma-separated-text" [0..1]
 font-style="font-style" [0..1]
 font-size="font-size" [0..1]
 font-weight="font-weight" [0..1]
 color="color" [0..1]
 halign="left-center-right" [0..1]
 valign="valign" [0..1]
 id="xs:ID" [0..1]
 smufl="smufl-coda-glyph-name" [0..1]
/> 

<xs:complexType name="coda">
   <xs:attributeGroup ref="print-style-align"/>
   <xs:attributeGroup ref="optional-unique-id"/>
   <xs:attribute name="smufl" type="smufl-coda-glyph-name"/>
</xs:complexType>

Complex Type: credit

Super-types:None
Sub-types:None
Namecredit
Abstractno
<...
 page="xs:positiveInteger" [0..1]
 id="xs:ID" [0..1]
>
   <credit-type> xs:string </credit-type> [0..*]
   <link> link </link> [0..*]
   <bookmark> bookmark </bookmark> [0..*]
   Start Choice [1]
      <credit-image> image </credit-image> [1]
      Start Choice [1]
         <credit-words> formatted-text-id </credit-words> [1]
         <credit-symbol> formatted-symbol-id </credit-symbol> [1]
      End Choice
      Start Sequence [0..*]
         <link> link </link> [0..*]
         <bookmark> bookmark </bookmark> [0..*]
         Start Choice [1]
            <credit-words> formatted-text-id </credit-words> [1]
            <credit-symbol> formatted-symbol-id </credit-symbol> [1]
         End Choice
      End Sequence
   End Choice
</...>
<xs:complexType name="credit">
   <xs:sequence>
      <xs:element name="credit-type" type="xs:string" 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:choice>
         <xs:element name="credit-image" type="image"/>
         <xs:sequence>
            <xs:choice>
               <xs:element name="credit-words" type="formatted-text-id"/>
               <xs:element name="credit-symbol" type="formatted-symbol-id"/>
            </xs:choice>
            <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:choice>
                  <xs:element name="credit-words" type="formatted-text-id"/>
                  <xs:element name="credit-symbol" type="formatted-symbol-id"/>
               </xs:choice>
            </xs:sequence>
         </xs:sequence>
      </xs:choice>
   </xs:sequence>
   <xs:attribute name="page" type="xs:positiveInteger"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: dashes

Super-types:None
Sub-types:None
Namedashes
Abstractno
<...
 type="start-stop-continue" [1]
 number="number-level" [0..1]
 dash-length="tenths" [0..1]
 space-length="tenths" [0..1]
 default-x="tenths" [0..1]
 default-y="tenths" [0..1]
 relative-x="tenths" [0..1]
 relative-y="tenths" [0..1]
 color="color" [0..1]
 id="xs:ID" [0..1]
/> 

<xs:complexType name="dashes">
   <xs:attribute name="type" type="start-stop-continue" use="required"/>
   <xs:attribute name="number" type="number-level"/>
   <xs:attributeGroup ref="dashed-formatting"/>
   <xs:attributeGroup ref="position"/>
   <xs:attributeGroup ref="color"/>
   <xs:attributeGroup ref="optional-unique-id"/>
</xs:complexType>

Complex Type: defaults

Super-types:None
Sub-types:None
Namedefaults
Abstractno
<...>
   <scaling> scaling </scaling> [0..1]
   <page-layout> page-layout </page-layout> [0..1]
   <system-layout> system-layout </system-layout> [0..1]
   <staff-layout> staff-layout </staff-layout> [0..*]
   <appearance> appearance </appearance> [0..1]
   <music-font> empty-font </music-font> [0..1]
   <word-font> empty-font </word-font> [0..1]
   <lyric-font> lyric-font </lyric-font> [0..*]
   <lyric-language> lyric-language </lyric-language> [0..*]
</...>
<xs:complexType name="defaults">
   <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>

Complex Type: degree

Super-types:None
Sub-types:None
Namedegree
Abstractno
<...
 print-object="yes-no" [0..1]
>
   <degree-value> degree-value </degree-value> [1]
   <degree-alter> degree-alter </degree-alter> [1]
   <degree-type> degree-type </degree-type> [1]
</...>
<xs:complexType name="degree">
   <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>

Complex Type: degree-alter

Super-types:xs:decimal < semitones (by restriction) < degree-alter (by extension)
Sub-types:None
Namedegree-alter
Abstractno