Use sonames.
[jelmer/ptabtools.git] / ptbxml.dtd
1 <!ELEMENT powertab (header,instrument*,fonts)>
2 <!ELEMENT header (song|lesson)>
3
4 <!-- Header stuff -->
5 <!ATTLIST header classification CDATA #REQUIRED>
6 <!ELEMENT song (title?,artist?,words-by?,music-by?,arranged-by?,guitar-transcribed-by?,bass-transcribed-by?,lyrics?,copyright?)>
7
8 <!ELEMENT lesson (title?,artist?,author?,copyright?)>
9 <!ATTLIST lesson level CDATA #IMPLIED>
10
11 <!ELEMENT title (#PCDATA)>
12 <!ELEMENT artist (#PCDATA)>
13 <!ELEMENT words-by (#PCDATA)>
14 <!ELEMENT music-by (#PCDATA)>
15 <!ELEMENT arranged-by (#PCDATA)>
16 <!ELEMENT guitar-transcribed-by (#PCDATA)>
17 <!ELEMENT bass-transcribed-by (#PCDATA)>
18 <!ELEMENT lyrics (#PCDATA)>
19 <!ELEMENT copyright (#PCDATA)>
20
21 <!-- Instrument data -->
22 <!ELEMENT instrument (guitars,sections,guitarins,chorddiagrams,tempomarkers,dynamics,floatingtexts,sectionsymbols)>
23 <!ATTLIST instrument id ID #REQUIRED>
24
25 <!-- Chorddiagrams -->
26 <!ELEMENT chorddiagrams (chorddiagram*)>
27 <!ELEMENT chorddiagram (strings,note1,note2,frets,type)>
28
29 <!-- Guitars -->
30 <!ELEMENT guitars (guitar*)>
31 <!ELEMENT guitar (tuning,title,type,reverb,chorus,tremolo,pan,capo,initial_volume,midi_instrument,half_up,simulate)>
32 <!ATTLIST guitar id ID #REQUIRED>
33 <!ELEMENT tuning (stringtuning*)>
34 <!ELEMENT stringtuning EMPTY>
35 <!ATTLIST stringtuning 
36         octave CDATA #REQUIRED 
37         note CDATA #REQUIRED>
38 <!ELEMENT strings (string*)>
39 <!ELEMENT string (#PCDATA)>
40 <!ELEMENT type (#PCDATA)>
41 <!ELEMENT reverb (#PCDATA)>
42 <!ELEMENT chorus (#PCDATA)>
43 <!ELEMENT tremolo (#PCDATA)>
44 <!ELEMENT pan (#PCDATA)>
45 <!ELEMENT capo (#PCDATA)>
46 <!ELEMENT initial_volume (#PCDATA)>
47 <!ELEMENT midi_instrument (#PCDATA)>
48 <!ELEMENT half_up (#PCDATA)>
49 <!ELEMENT simulate (#PCDATA)>
50
51 <!-- Sections -->
52 <!ELEMENT sections (section*)>
53 <!ELEMENT section (end-mark?,meter-type,beat,beat-value,metronome-pulses-per-measure,properties,key-extra,position-width,description,chordtexts,rhythmslashs,directions,staffs,musicbars)>
54 <!ATTLIST section letter CDATA #IMPLIED>
55 <!ELEMENT end-mark (#PCDATA)>
56 <!ELEMENT meter-type (beam_2?,beam_3?,beam_4?,beam_5?,beam_6?,common?,cut?,show?)>
57 <!ELEMENT beam_2 EMPTY>
58 <!ELEMENT beam_3 EMPTY>
59 <!ELEMENT beam_4 EMPTY>
60 <!ELEMENT beam_5 EMPTY>
61 <!ELEMENT beam_6 EMPTY>
62 <!ELEMENT common EMPTY>
63 <!ELEMENT cut EMPTY>
64 <!ELEMENT show EMPTY>
65 <!ELEMENT beat (#PCDATA)>
66 <!ELEMENT beat-value (#PCDATA)>
67 <!ELEMENT metronome-pulses-per-measure (#PCDATA)>
68 <!ELEMENT properties (#PCDATA)>
69 <!ELEMENT key-extra (#PCDATA)>
70 <!ELEMENT position-width (#PCDATA)>
71 <!ELEMENT description (#PCDATA)>
72
73 <!-- Chordtexts -->
74 <!ELEMENT chordtexts (chordtext*)>
75 <!ELEMENT chordtext (note1,note2,additions,alterations,properties,VII)>
76 <!ATTLIST chordtext offset CDATA #REQUIRED>
77 <!ELEMENT note1 (#PCDATA)>
78 <!ELEMENT note2 (#PCDATA)>
79 <!ELEMENT additions (#PCDATA)>
80 <!ELEMENT alterations (#PCDATA)>
81 <!ELEMENT VII (#PCDATA)>
82
83 <!-- Rhythmslashes -->
84 <!ELEMENT rhythmslashs (rhythmslash*)>
85 <!ELEMENT rhythmslash (properties,dotted?,length?)>
86 <!ATTLIST rhythmslash offset CDATA #REQUIRED>
87 <!ELEMENT dotted (#PCDATA)>
88 <!ELEMENT length (#PCDATA)>
89
90 <!-- Directions -->
91 <!ELEMENT directions (direction*)>
92 <!ELEMENT direction EMPTY>
93
94 <!-- Staffs -->
95 <!ELEMENT staffs (staff*)>
96 <!ELEMENT staff (highest_note?,lowest_note?,properties?,positions*)>
97 <!ELEMENT highest_note (#PCDATA)>
98 <!ELEMENT lowest_note (#PCDATA)>
99
100 <!-- Positions -->
101 <!ELEMENT positions (position*)>
102 <!ELEMENT position (dots?,length?,properties?,fermenta?,linedatas*)>
103 <!ATTLIST position offset CDATA #REQUIRED>
104 <!ELEMENT dots (#PCDATA)>
105 <!ELEMENT fermenta (#PCDATA)>
106
107 <!-- Linedatas -->
108 <!ELEMENT linedatas (linedata*)>
109 <!ELEMENT linedata (string?,fret?,properties?,transcribe?,conn_to_next?)>
110 <!ELEMENT fret (#PCDATA)>
111 <!ELEMENT transcribe (#PCDATA)>
112 <!ELEMENT conn_to_next (#PCDATA)>
113
114 <!-- Musicbars -->
115 <!ELEMENT musicbars (musicbar*)>
116 <!ELEMENT musicbar (#PCDATA)>
117 <!ATTLIST musicbar letter CDATA #IMPLIED>
118
119 <!-- Guitarins -->
120 <!ELEMENT guitarins (guitarin*)>
121 <!ELEMENT guitarin (rhythm_slash,staff_in)>
122 <!ELEMENT rhythm_slash (#PCDATA)>
123 <!ELEMENT staff_in (#PCDATA)>
124 <!ATTLIST guitarin 
125         offset CDATA #REQUIRED
126         section CDATA #REQUIRED
127         staff CDATA #REQUIRED>
128
129 <!-- Tempomarkers -->
130 <!ELEMENT tempomarkers (tempomarker*)>
131 <!ELEMENT tempomarker (type,bpm)>
132 <!ATTLIST tempomarker 
133         offset CDATA #REQUIRED
134         section CDATA #REQUIRED>
135 <!ELEMENT bpm (#PCDATA)>
136
137 <!-- Dynamics -->
138 <!ELEMENT dynamics (dynamic*)>
139 <!ELEMENT dynamic EMPTY>
140 <!ATTLIST dynamic offset CDATA #REQUIRED>
141
142 <!-- Floatingtexts -->
143 <!ELEMENT floatingtexts (floatingtext*)>
144 <!ELEMENT floatingtext (alignment?,font)>
145 <!ATTLIST floatingtext offset CDATA #REQUIRED>
146 <!ELEMENT alignment (#PCDATA)>
147
148 <!-- Sectionsymbols -->
149 <!ELEMENT sectionsymbols (sectionsymbol*)>
150 <!ELEMENT sectionsymbol (repeat-ending)>
151 <!ELEMENT repeat-ending (#PCDATA)>
152
153 <!-- Fonts -->
154 <!ELEMENT fonts (font*)>
155 <!ELEMENT font EMPTY>
156 <!ATTLIST font function CDATA #REQUIRED
157                family CDATA #REQUIRED
158                            size CDATA #REQUIRED
159                            thickness CDATA #REQUIRED
160                            underlined CDATA #REQUIRED
161                            italic CDATA #REQUIRED>