.................................................
: XML Schema for the :
: CapXML Score Description Language :
: Version 4.0.0 :
: Copyright (c) 2004-2021 Hartmut Ring, :
: Bernd Jungmann :
: Christian Schauss :
: :
: C o n t e n t s :
: :
: 1. root element: "score" :
: 2. main type: Score and its Main Components :
: 3. complex Types (in alphabetical order) :
: 4. draw-object types :
: 5. simple Types :
.................................................
*** New in capella 9.0
determines if and how bars numbers are shown at the beginning of the systems.
show bar number at each system
determines how the bar numbers are framed:
0=no frame, 1=rectangular frame, 2=oval frame.
horizontal position of the bar number relative to the left upper corner of the system.
vertical position of the bar number relative to the left upper corner of the system.
*** New in capella 2008:
If > 0: Show bar number at each bar divisible by barInterval.
*** New in capella 2008:
Line width for bar-number frames.
*** New in capella 2008:
Line color for bar-number frames.
*** New in capella 2008:
Specifies wether to fill the bar-number frames.
*** New in capella 2008:
Fill color for bar-number frames (if filled).
*** New in capella 2008:
Opacity of the fill color for bar-number frames.
capella offers only the values 255 (opaque) and 128 (half-transparent).
contains a sequence of system elements representing consecutive parts of music.
modifications of the automatic bar numbering defined in the Score type.
Additional offset to the number of bars (positive or negative number).
This changes the bar count shown in this system and all following systems.
if true: resets the bar count to 1 at the beginning of the system (count 1 is not displayed).
Defines the beam grouping for a system with the following categories:
0 = flags only, 1=small beam groups, 2=medium, 3=large, 4=whole bar beams
Exceptions may be defined in each Rest and Chord element.
*** New in capella 2008:
Tempo in quarters per minute for first playback and repetitions.
If the list contains more than one item, they are used for consecutive repeats. The last item is used for the remaining repeats.
0 for "no change" is not allowed (possible with chords and rests).
Example: "80 84.3" means first playback with 80.0 quarters per minute,
second playback (first repetition) 84.3.
*** New in capella 7.0
Substitute for "justified" in singlePart layout. If missing, "justified" value is used (see layout singlePart for details).
*** New in capella 7.0
Substitute for "pageBreak" in singlePart layout. If missing, "pageBreak" value is used (see layout singlePart for details).
Specifies whether the the long/short/no instrument names
(defined in the score layout) are shown.
Left indentation in note line gaps; default value means automatic.
*** New in capella 7.0
Substitute for "leftIndent" in singlePart layout. If missing, "leftIndent" value is used (see layout singlePart for details).
*** New in capella 2008:
Right indentation in note line gaps.
If the justified attribute is false, this value is ignored.
*** New in capella 7.0
Substitute for "rightIndent" in singlePart layout. If missing, "rightIndent" value is used (see layout singlePart for details).
*** New in capella 9.0
The system is a coda system and is to be drawn right beside its predecessor.
The y-positions of its staves are taken from its predecessor, if the number of staves match.
To achieve a nice appearance, this will require to set leftIndent and typically rightIndent
of the predecessor appropriately.
A staff inherits the properties defined in the corresponding staff layout.
The staff layouts are located at score/layout/staves
.
these values are added to the distances given in the staff layout
Refers to the staff layout with matching description
attribute.
*** New in capella 7.0
Staff has been inserted only for singlePart layout and is to be removed in whole score layout.
A sequence of Voice elements (the voices of the staff). Maximum: six voices.
A sequence of note objects.
Specifies the style of lyric texts for this voice.
*** New in capella 9.0
Indicates if the lyrics are placed manually
(like capella 8 and earlier) or by the new auto
placement algorithm, avoiding collisions.
*** New in capella 9.0
Indicates if the auto lyrics are placed above
or below
the staff, or auto
according to notation rules.
Applies only to lyrics with placement
auto
.
Position of the first lyrics verse.
For lyrics with placement
auto
this value is calculated by capella during each rendering time, so it is not relevant any more. However, the calculated value is still saved in the CapXML for compatibility reasons.
Distance between lyrics verses.
*** New in capella 7.0: If more than one font element is present, they are used for consecutive verses.
The last element is used for the remaining verses.
General stem direction. Exceptions may be defined with each Chord element.
Modification of a duration by an irregular division:
If tripartite
and prolong
are set to the default values,
the following rule applies:
The basic duration is shortened by multiplying with p/count,
where p is the greatest power of two less than count.
If tripartite
is set to true, p is the greatest number less than count,
which equals three times a power of two.
If prolong
is true, in the obove calculations "greatest ... less than"
has to be replaced by "smallest ... greater than".
Examples:
count . .
|
tripartite . .
|
prolong . .
|
p . .
|
modification factor
|
3 |
false |
false |
2 |
2/3 |
11 |
false |
false |
8 |
8/11 |
11 |
true |
false |
6 |
6/11 |
11 |
false |
true |
16 |
16/11 |
11 |
true |
true |
12 |
12/11 |
For future use!
Identifier for a spoken language e.g. "en-us".
Should be changed to an existing standard!
Text and alignment data for a lyrics syllable in one verse.
*** New in capella 7:
Don't care for overwriting next syllable
*** New in capella 8.0.7:
Start melism hyphens up to next non empty syllable
for future use
not yet used in capella 5.1
capella will evaluate at most 15 heads.
Alteration (usually displayed by an accidental)
*** new in capella 8.0:
Decimal values allowed. For future use.
Specifies if and how the accidental should be displayed. Meanings:
auto
: automatically
suppress
: don't display an accidental
force
: always display an accidental
parenth
: show accidental in parentheses
Specifies, whether this note is connected to the preceeding or
following note by ties.
A tie is shown between two consecuting notes, only if the first has
the begin
and the second has the begin
attribute set.
*** New in capella 7.0
Specifies tie curvature if "begin" is true. For broken ties at the beginning of a staff, also if "end" is true.
*** New in capella 8.0.8
Specifies tie shape.
absolute diatonic pitch
middle C (c'): "C5"
*** New in capella 7.0: Shapes "openDiamond", ..., "filledSquare"
*** New in capella 8.0.7: Place head on other side of stem.
Is evaluated only if chord xShift is not zero or chord noXAutoShift is true,
and at least 2 voices are to be displayed in a staff. Thus, for a single extracted
voice, this setting has no effect.
*** New in capella 9.0.0: Small head on normal sized chord
*** New in capella 9
up
/down
means:
Head is notated in the staff above/below its staff. The stem is extended correspondingly.
"up" is only possible for the upmost notes of the chord, "down" only for the lowest.
There must be at least one head without notationStaff redirection in the chord, and
at most one neighbor staff specified, otherwise the attribute is ignored.
first pattern: normal times
second pattern: full measures (applies only to rests)
*** New in capella 2008: 3 dots possible.
If no display element is present, full measure rests will be displayed in churchStyle if they are no longer than 2 measures.
*** New in capella 9
up
/down
means:
Rest is notated in the staff above/below its staff.
This may be used, when a voice changes from one staff to another.
*** New in capella 7.0
Filler rests are invisible in print and cannot have draw objects. They are inserted, removed
and edited automatically as side effects of normal note and rest editing.
*** New in capella 7.0
Must be displayed only in singlePart layout. If a complete voice has nothing but
onlySingle rests, it is not shown in whole score layout.
applies only to full measure rests
applies only to full measure rests
*** New in capella 8.0.7
Evaluated only for full measure rests in bar style: Width of the rest bar
*** New in capella 8.0.7:
If displayed under a beam, control stem fragment display. Meanings:
auto
: automatically: Display a stem fragment at the edge of a beam group, a subgroup, or a beam division
suppress
: don't display a stem fragment
force
: always display a stem fragment
*** New in capella 8.0.7:
Rests can be beamed.
The following attributes specify changes of the overall
display of beams as defined globally in
score/layout/beamFlattening
. They override the settings for each system in
score/systems/system/beamGrouping
.
auto
: beams are split between this rest and the following chord or rest.
force
: beams are connected (between this rest and the following chord or rest).
divide
: The first beam is connected.
parallel shift relative to the precalculated beam.
gradient change relative to the precalculated beam.
*** New in capella 2008:
Tempo in quarters per minute for first playback and repetitions.
0 means unchanged.
If the list contains more than one item, they are used for consecutive repeats. The last item is used for the remaining repeats.
Example: "80 0 84.3" means first playback with 80.0 quarters per minute,
second playback (first repetition) unchanged,
second repetition 84.3
up
/down
means:
Chord is notated in the staff above/below its staff.
This may be used, when a voice changes from one staff to another.
The display of augmentation dots (if present) may be suppressed by this
attribute. This may be used in capella e.g. if a dotted note on a noteline
with two stems (up and down, notated in two voices) should be prevented
from showing two dots.
*** New behaviour in capella 8.0.0:
If xShift is zero, automatic x-shifts may be applied in order to resolve collisions
with other notes in parallel voices.
*** New in capella 8.0.7:
If xShift is zero, automatic x-shifts may be applied in order to resolve collisions
with other notes in parallel voices. This can be forbidden by setting noAutoXShift true.
The following attributes specify changes of the overall
display of beams as defined globally in
score/layout/beamFlattening
and for each system in
score/systems/system/beamGrouping
.
*** New in capella 8.0.7: Beams can be extended over rests.
auto
: beams are connected (between this chord and the following chord) according to the beam grouping rules.
force
: beams are connected (between this chord and the following chord or rest).
split
: beams are split.
divide
: all beams but one are split.
parallel shift relative to the precalculated beam.
gradient change relative to the precalculated beam.
currently single articulation or "staccato tenuto"
*** New in capella 2008:
Tempo in quarters per minute for first playback and repetitions.
0 means unchanged.
If the list contains more than one item, they are used for consecutive repeats. The last item is used for the remaining repeats.
Example: "80 0 84.3" means first playback with 80.0 quarters per minute,
second playback (first repetition) unchanged,
second repetition 84.3
*** New in capella 7.0: Can have drawobjects
*** New in capella 2008: "dashed"
*** New in capella 8.0.8: Invisible clef signs can be
used in piano parts, where one voice changes clef, while a note of another
voice is still playing. An invisible clef after this note will make the following
notes obey the clef change. May be visualized in some kind of score display,
but does not require space in print.
*** New in capella 7.1-13
Space to be reserved, for use with invisible or infinite signatures. Default value means automatic.
*** New in capella 7.1-13
corresponding to the Windows API structure LOGFONT
Specifies the weight of the font in the range 0 through 1000. For example, 400 is normal and 700 is bold.
If this value is zero, a default weight is used.
The following values are defined for convenience:
- FW_DONTCARE = 0
- FW_THIN = 100
- FW_EXTRALIGHT = 200
- FW_ULTRALIGHT = 200
- FW_LIGHT = 300
- FW_NORMAL = 400
- FW_REGULAR = 400
- FW_MEDIUM = 500
- FW_SEMIBOLD = 600
- FW_DEMIBOLD = 600
- FW_BOLD = 700
- FW_EXTRABOLD = 800
- FW_ULTRABOLD = 800
- FW_HEAVY = 900
- FW_BLACK = 900
Specifies the character set. The following values are predefined:
- ANSI_CHARSET = 0
- DEFAULT_CHARSET = 1
- SYMBOL_CHARSET = 2
- SHIFTJIS_CHARSET = 128
- HANGEUL_CHARSET = 129
- HANGUL_CHARSET = 129
- GB2312_CHARSET = 134
- CHINESEBIG5_CHARSET = 136
- OEM_CHARSET = 255
- JOHAB_CHARSET = 130
- HEBREW_CHARSET = 177
- ARABIC_CHARSET = 178
- GREEK_CHARSET = 161
- TURKISH_CHARSET = 162
- VIETNAMESE_CHARSET = 163
- THAI_CHARSET = 222
- EASTEUROPE_CHARSET = 238
- RUSSIAN_CHARSET = 204
- MAC_CHARSET = 77
- BALTIC_CHARSET = 186
Specifies the pitch and family of the font. The two low-order bits
specify the pitch of the font and can be one of the following values:
- DEFAULT_PITCH = 0
- FIXED_PITCH = 1
- VARIABLE_PITCH = 2
Bits 4 through 7 of the member specify the font family and can be one of the following values:
- FF_DONTCARE = 0
- FF_ROMAN = 16
- FF_SWISS = 32
- FF_MODERN = 48
- FF_SCRIPT = 64
- FF_DECORATIVE = 80
DrawObjects attached to a chord, a rest, an explicit barline or the page.
All measures given in draw objects are relative to the object attached to.
For some horizontally spread draw objects the end is relative to another chord/rest or explicit barline.
DrawObjects with a reference note
DrawObjects with a name
*** New in capella 7.0: encodingSoftware
*** New in capella 9.0
Contains settings which are relevant for editing of the document, not for the document content itself.
If true, new objects and new lyrics are inserted as auto elements (i.e. with placement
set to auto
).
If true, capella will automatically increase staff distances for resolving collisions between auto elements.
*** New in capella 7.0: Separate value for singlePart layout (see layout singlePart for details).
*** New in capella 7.0: Separate value for singlePart layout (see layout singlePart for details).
*** New in capella 7.0: Separate value for singlePart layout (see layout singlePart for details).
*** New in capella 7.0: Separate value for singlePart layout (see layout singlePart for details).
*** New in capella 8.0
*** New in capella 8.0
*** New in capella 8.0
*** New in capella 8.0
*** New in capella 8.0.8
If present, the following elements specify the score's default shape of slurs.
*** New in capella 8.0.8
*** New in capella 8.0.8
If present, the following elements specify the score's shape of ties.
*** New in capella 8.0
Symbol font for musical symbols used in note objects
*** New in capella 8.0
Font specified in fontFace complies to the SMuFL specification
(see http://www.smufl.org/)
Show new keys without redundant naturals
Display double notes in modern style (whole note between verticla lines)
instead of mensural notation.
*** New in capella 8.0.8:
Do not show hyphens between lyrics syllables, if this would save space.
*** New in capella 8.0.7:
Show eventual octave signs in a larger font, typical for capella prior to version 7.1-13.
*** New in capella 8.0.7:
Use same spacing for normal as for dotted notes and rests, like capella up to version 7.1
*** New in capella 8.0.7:
For lyrics extender lines do not use the line wrapping at line breaks, like capella up to version 7.1
*** New in capella 8.0.7:
For staves with more than one voice, do not care for note collisions, like capella up to version 7.1
*** New in capella 9.0.0:
Do not shorten stems falling outside staves, as often occurs in double-stemmed writing
*** New in capella 8.0.7:
Desired Distance for melism hyphens
*** New in capella 8.0.9:
Justify systems only if at least justifyMinPerc percent of available page width is used.
*** New in capella 7.0
singlePart layout. If true, display only those staves with StaffLayout notation attribute suppressSingle="false"
If only one staff has the suppressSingle attribute set to "false", the score is to be displayed in single part layout.
If more than one staves have the suppressSingle attribute to "false", the score is to be displayed in whole score
layout, but without the suppressed staves. Staves combined with a curly bracket count as one staff in this respect,
as they are thought of as a single instrumental part. In this case, all objects with separate parameters for single
part layout and whole score layout use their whole score layout parameter.
*** New in capella 7.0:
If a second page object occurs and its attribute even="true", attributes left and right will be used for even pages.
*** New in capella 7.0
If paperSize is present, it overrides paperSizeX and paperSizeY. If no paper size is specified, it is taken from current printer.
*** New in capella 7.0
*** New in capella 7.0
*** New in capella 7.0: Suppress staff in singlePart layout
*** New in capella 7.0
Voice indices to suppress, base 1
*** New in capella 7.0
Attributes name, abbrev, pairName, pairAbbrev are deprecated and written only for CapXML 1 compatibility.
On read, corresponding elements supersede attributes.
*** New in capella 7.0:
If present, device, sample, genericSound, and instr specify a more elaborate sound mapping. If more than one sound element is present, they are used for consecutive voices.
The last element is used for the remaining voices. The following elements and attributes are evaluated only for the first sound element:
percussion, entryAssignment, outputAssignment, and transpose.
*** New in capella 7.0
DataID is a key into an external database which may hold more information about an instrument, such as typical clefs, transposed notation, or pitch range.
Value 0 means automatic channel setting.
Short description of this staff layout.
It must be unique in the set of all staff layouts.
Used in the layout attribute of the type Staff.
*** New in capella 7.0
If present, device, sample, genericSound, instr, and midipitch specify a more elaborate sound mapping.
The meaning of these parameters may vary for different devices.
Common properties of all draw objects.
*** New in capella 9.0
Indicates if the object is placed manually
(like capella 8 and earlier) or by the new auto placement algorithm, avoiding collisions (auto
or semiAuto
).
Don't use auto
or semitAuto
for page anchored objects (they are always manually
).
Don't use semiAuto
for slur objects.
For objects with placement
auto
their coordinates are calculated by capella during each rendering time, so they are not relevant any more. However, the calculated coordinates are still saved in the CapXML for compatibility reasons.
For objects with placement
semiAuto
this also holds true but only for the y coordinates (x is still relevant).
*** New in capella 9.0
Indicates if an auto object is placed above
or below
the staff, or auto
according to notation rules.
Applies only to objects with placement
auto
or semiAuto
.
*** New in capella 9.0
Gives additional semantic information how an auto object (in particular text objects) should be placed.
""
means no explicit information, capella will then try to derive placement information from object type and content (should be avoided).
Applies only to objects with placement
auto
or semiAuto
.
*** New in capella 9.0.
Any combination of:
- 1 = place the object isolated. This means the object is excluded from any auto grouping mechanisms (placement on same y coordinate like chord symbols or dynymics). Applies also to objects with
placement
manually
(as they can be part of the auto grouping mechanism, too).
Applies only to objects with placement
manually
(auto objects are always in front of the notes).
Applies only to objects anchored to page.
Applies only to objects anchored to page.
Applies only to objects anchored to page.
Distance to the chord/rest or explicit barline relative to which the coordinates of
of the end of the object are given.
Applies only to objects anchored to chords/rests or explicit barlines
*** New in capella 7.0:
CapXML 1.0 did not count explicit barlines, CapXML 2 does. Applications have to
care for this difference.
*** New in capella 7.0
Prevent from automatic adjustment to notes after reformatting, e.g. transposition.
Applies only to objects with placement
manually
which are anchored to chords/rests or explicit barlines.
*** New in capella 7.0
Indicates that a DrawObj is a continuation of another DrawObj in the preceding system.
It will be displayed in a way typical for the object's type and will be deleted if systems are joined.
Applies only to objects anchored to chords/rests or explicit barlines.
*** New in capella 7.0
If a DrawObj is a continuation of another DrawObj in the preceding system, drawNormal specifies
that it is nevertheless to be drawn in normal fashion. This attribute is typically used for the continuations
of volta objects linked to the last fixed barline on a staff.
Applies only to objects anchored to chords/rests or explicit barlines.
*** New in capella 7.0
Indicates the scope of the DrawObj. This may be evaluated on playback, on part extraction and (since capella 9) on auto placement.
Applies only to objects anchored to chords/rests or explicit barlines.
Applies only to objects anchored to chords/rests and with placement
manually
or semiAuto
.
0=head, 1=stem.
Applies only to objects anchored to chords/rests and with placement
manually
.
0=stafflines, 1=outer note (applies to chords with several notes: head opposite to the stem), 2=inner note (applies to chords with several notes: first head from stem end), 3=stem end,
4=top, 5=bottom.
*** New in capella 7.0
Minimal distance to middle note line.
Applies only to objects anchored to chords/rests and with placement
manually
.
*** New in capella 7.0: Flags 32 and 64.
flags 1 - 16 apply only to objects anchored to chords/rests, flags 32 and 64 to all.
any combination of:
- 1 = visible if stem up
- 2 = visible if stem down
- 4 = visible in lower voice
- 8 = visible in main voice
- 16 = visible in upper voice
- 32 = visible in whole score layout (see layout singlePart for details)
- 64 = visible in singlePart layout (see layout singlePart for details)
*** New in capella 7.0
If onlySingle is "true", the object has been added for singlePart layout only, because the scope attribute
required it. Will be deleted when switching back to whole score layout.
Will be set to "false" if singlePart layout is exported as standalone file.
Customer Number and private number, separated by "-".
The Customer Number has to be smaller than 1000000, the private number smaller than 4000
relative to stringDist
Example: stringDist="0.75" fretDist="1.5"
means fret distance = 1.125 staffline distances
*** New in capella 8.0
Describes a raster image. Image formats are distinguished by
the filename extension. Supported formats are:
.png, .jpg, .jpeg, .gif, .bmp, .tif, .tiff.
*** New in capella 8.0
Describes a vector image in svg format. Accepted filename extensions
are .svg, .svgz.
*** New in capella 8.0.8
Specifies slur shape, if no form element is present. The application
may provide separate defaults for the form values, for normal, dashed and dotted slurs.
*** New in capella 8.0:
If textFormat is "rtf", only the file attribute will be evaluated.
If textFormat is "html", only the fileHtml attribute will be evaluated. In
this case, however, writing applications should provide an rtf file with same contents
(eventually slightly distorted) and a corresponding file attribute anyway, in order to
make legacy scripts work.
It is also recommended to provide an html file with same contents and corresponding
fileHtml attribute, if textFormat is "rtf".
relative to dotDist ("1" means solid)
0 (means no number) or 2 to 15
0 means no number
*** New in capella 7.0
*** New in capella 7.0
*** New in capella 7.0
*** New in capella 7.0
Absolute measure in millimeters.
capella uses up to two decimals. Other values will be rounded.
Staffline distance
Staffline distance. capella uses multiples of .1 = 1/10. Other values will be rounded.
Staffline distance. capella uses multiples of .5 = 1/2. Other values will be rounded.
Staffline distance. capella uses multiples of .25 = 1/4. Other values will be rounded.
Staffline distance. capella uses multiples of .03125 = 1/32. Other values will be rounded.
Staffline distance. capella uses multiples of .00390625 = 1/256. Other values will be rounded.
Conforming to the W3C Schema recommendation
the length of type hexBinary is given in Octets
(containing two hexadecimal digits).
So the value "3" means 6 hex digits.
*** New in capella 7.0
*** New in capella 8.0
one of the 4 common clefs or a concatenation of
- one of G,C,F,P,N,U (clef type)
- one of 1,2,3,4,5 (line)
- [one of -,0,+ (octave)]
e.g.: "G3-" (G-clef on middle line, octava bassa)
*** New in capella 2008: longAllaBreve for 4/2
Allowed values:
"C", "allaBreve", "longAllaBreve", "infinite", or n/d with
- n in {0,1, ... , 128}
- d in {1,2,4,8,16,32,64,128}
e.g.: "3/4", "7/16"
allowed values:
"5"
= normal stafflines (default)
"1"
= single line staff
- or general notation: string of length 11 containing '_', '|', ':'
examples:
"___|||||___"
= normal stafflines (equivalent to "5"
)
"_____|_____"
= single-line staff (equivalent to "1"
)
"__:|||||___"
= normal stafflines, dashed helplines below
possible Values:
"C", "C#", "Db", "D", "D#", "Eb", "E", "E#", "Fb", "F", "F#" "Gb",
"G", "G#", "Ab", "A", "A#", "Bb", "B", "B#", "Cb"
*** New in capella 7.0
*** New in capella 7.0
*** New in capella 9.0
*** New in capella 9.0
*** New in capella 9.0
*** New in capella 9.0