VocalEasel/musicxml11/attributes.dtd
2011-09-02 02:45:26 +02:00

362 lines
13 KiB
DTD
Executable File

<!--
MusicXML attributes.dtd
Version 1.1 - 20 May 2005
Copyright © 2004-2005 Recordare LLC.
http://www.recordare.com/
This MusicXML work is being provided by the copyright
holder under the MusicXML Document Type Definition
Public License Version 1.02, available from:
http://www.recordare.com/dtds/license.html
-->
<!--
The attributes component DTD contains the attributes
element and its children, such as key and time
signatures.
-->
<!-- Elements -->
<!--
The attributes element contains musical information
that typically changes on measure boundaries. This
includes key and time signatures, clefs, transpositions,
and staving.
-->
<!ELEMENT attributes (%editorial;, divisions?, key?, time?,
staves?, instruments?, clef*, staff-details*, transpose?,
directive*, measure-style*)>
<!--
Traditional key signatures are represented by the number
of flats and sharps, plus an optional mode for major/
minor/mode distinctions. Negative numbers are used for
flats and positive numbers for sharps, reflecting the
key's placement within the circle of fifths (hence the
element name). 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).
Non-traditional key signatures can be represented using
the Humdrum/Scot concept of a list of altered tones.
The key-step and key-alter elements are represented the
same way as the step and alter elements are in the pitch
element in note.dtd. The different element names indicate
the different meaning of altering notes in a scale versus
altering a sounding pitch.
Valid mode values include major, minor, dorian, phrygian,
lydian, mixolydian, aeolian, ionian, and locrian.
The optional number attribute refers to staff numbers,
from top to bottom on the system. If absent, the key
signature applies to all staves in the part.
-->
<!ELEMENT key ((cancel?, fifths, mode?) |
((key-step, key-alter)*))>
<!ATTLIST key
number CDATA #IMPLIED
%color;
>
<!ELEMENT cancel (#PCDATA)>
<!ELEMENT fifths (#PCDATA)>
<!ELEMENT mode (#PCDATA)>
<!ELEMENT key-step (#PCDATA)>
<!ELEMENT key-alter (#PCDATA)>
<!--
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.
For maximum compatibility with Standard MIDI Files, the
divisions value should not exceed 16383.
-->
<!ELEMENT divisions (#PCDATA)>
<!--
Time signatures are represented by two elements. The
beats element indicates the number of beats, as found in
the numerator of a time signature. The beat-type element
indicates the beat unit, as found in the denominator of
a time signature. The symbol attribute is used to
indicate another notation beyond a fraction: the common
and cut time symbols, as well as a single number with an
implied denominator. Normal (a fraction) is the implied
symbol type if none is specified. 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. A senza-misura element explicitly
indicates that no time signature is present.
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, from top to bottom on the system. If absent, the
time signature applies to all staves in the part.
-->
<!ELEMENT time ((beats, beat-type)+ | senza-misura)>
<!ATTLIST time
number CDATA #IMPLIED
symbol (common | cut | single-number | normal) #IMPLIED
%print-object;
%color;
>
<!ELEMENT beats (#PCDATA)>
<!ELEMENT beat-type (#PCDATA)>
<!ELEMENT senza-misura EMPTY>
<!--
Staves are 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.
-->
<!ELEMENT staves (#PCDATA)>
<!--
Instruments are 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.
-->
<!ELEMENT instruments (#PCDATA)>
<!--
Clefs are represented by the sign, line, and
clef-octave-change elements. Sign values include G, F, C,
percussion, TAB, and none. 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). The clef-octave-change element is used for
transposing clefs (e.g., a treble clef for tenors would
have a clef-octave-change value of -1). The optional
number attribute refers to staff numbers, from top to
bottom on the system. A value of 1 is assumed if not
present.
-->
<!ELEMENT clef (sign, line?, clef-octave-change?)>
<!ATTLIST clef
number CDATA #IMPLIED
%color;
>
<!ELEMENT sign (#PCDATA)>
<!ELEMENT line (#PCDATA)>
<!ELEMENT clef-octave-change (#PCDATA)>
<!--
The staff-details element is used to indicate different
types of staves. The staff-type element 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).
The staff-lines element specifies the number of lines for
non 5-line staffs. The staff-tuning and capo elements are
used to specify tuning when using tablature notation.
The optional number attribute specifies the staff number
from top to bottom on the system, as with clef. The
optional show-frets attribute indicates whether to show
tablature frets as numbers (0, 1, 2) or letters (a, b, c).
The default choice is numbers. 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.
-->
<!ELEMENT staff-details (staff-type?, staff-lines?,
staff-tuning*, capo?, staff-size?)>
<!ATTLIST staff-details
number CDATA #IMPLIED
show-frets (numbers | letters) #IMPLIED
%print-object;
%print-spacing;
>
<!ELEMENT staff-type (#PCDATA)>
<!ELEMENT staff-lines (#PCDATA)>
<!--
The tuning-step, tuning-alter, and tuning-octave
elements are defined in the common.dtd file. Staff
lines are numbered from bottom to top.
-->
<!ELEMENT staff-tuning
(tuning-step, tuning-alter?, tuning-octave)>
<!ATTLIST staff-tuning
line CDATA #REQUIRED
>
<!--
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.
-->
<!ELEMENT capo (#PCDATA)>
<!--
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.
-->
<!ELEMENT staff-size (#PCDATA)>
<!--
If the part is being encoded for a transposing instrument
in written vs. concert pitch, the transposition must be
encoded in the transpose element. The transposition is
represented by chromatic steps (required) and three
optional elements: diatonic pitch steps, octave changes,
and doubling an octave down. The chromatic and
octave-change elements are numeric values added to the
encoded pitch data to create the sounding pitch. The
diatonic element is also numeric and allows for correct
spelling of enharmonic transpositions.
-->
<!ELEMENT transpose (diatonic?, chromatic, octave-change?,
double?)>
<!ELEMENT diatonic (#PCDATA)>
<!ELEMENT chromatic (#PCDATA)>
<!ELEMENT octave-change (#PCDATA)>
<!ELEMENT double EMPTY>
<!--
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. The language is Italian ("it")
by default. Language names come from ISO 639, with
optional country subcodes from ISO 3166.
-->
<!ELEMENT directive (#PCDATA)>
<!ATTLIST directive
%print-style;
xml:lang NMTOKEN #IMPLIED
>
<!--
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 betas, 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.
-->
<!ELEMENT measure-style (multiple-rest |
measure-repeat | beat-repeat | slash)>
<!ATTLIST measure-style
number CDATA #IMPLIED
%font;
%color;
>
<!--
The text of the multiple-rest element 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.
-->
<!ELEMENT multiple-rest (#PCDATA)>
<!ATTLIST multiple-rest
use-symbols %yes-no; #IMPLIED
>
<!--
The measure-repeat and beat-repeat element specify
a notation style for repetitions. The actual music
being repeated needs to be repeated within the
MusicXML file. These elements indicate to use the
appropriate notation to indicate the repeat.
-->
<!--
The measure-repeat element 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.
-->
<!ELEMENT measure-repeat (#PCDATA)>
<!ATTLIST measure-repeat
type %start-stop; #REQUIRED
slashes NMTOKEN #IMPLIED
>
<!--
The beat-repeat element 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.
-->
<!ELEMENT beat-repeat EMPTY>
<!ATTLIST beat-repeat
type %start-stop; #REQUIRED
slashes NMTOKEN #IMPLIED
use-dots %yes-no; #IMPLIED
>
<!--
The slash element 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.
-->
<!ELEMENT slash EMPTY>
<!ATTLIST slash
type %start-stop; #REQUIRED
use-dots %yes-no; #IMPLIED
use-stems %yes-no; #IMPLIED
>