<!ELEMENT NoteOn EMPTY>
<!ATTLIST NoteOn
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Note NMTOKEN #REQUIRED
Velocity NMTOKEN #REQUIRED>
<!ELEMENT NoteOff EMPTY>
<!ATTLIST NoteOff
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Note NMTOKEN #REQUIRED
Velocity NMTOKEN #REQUIRED>
<!ELEMENT PolyKeyPressure EMPTY>
<!ATTLIST PolyKeyPressure
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Note NMTOKEN #REQUIRED
Pressure NMTOKEN #REQUIRED>
<!ELEMENT ControlChange EMPTY>
<!ATTLIST ControlChange
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Control NMTOKEN #REQUIRED
Value NMTOKEN #REQUIRED>
<!ELEMENT ProgramChange EMPTY>
<!ATTLIST ProgramChange
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Number NMTOKEN #REQUIRED>
<!ELEMENT ChannelKeyPressure EMPTY>
<!ATTLIST ChannelKeyPressure
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Pressure NMTOKEN #REQUIRED>
<!ELEMENT PitchBendChange EMPTY>
<!ATTLIST PitchBendChange
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Value NMTOKEN #REQUIRED>
<!ELEMENT AllSoundOff EMPTY>
<!ATTLIST AllSoundOff
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;>
<!ELEMENT ResetAllControllers EMPTY>
<!ATTLIST ResetAllControllers
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;>
<!ELEMENT LocalControl EMPTY>
<!ATTLIST LocalControl
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Value (off|on) #REQUIRED>
<!ELEMENT AllNotesOff EMPTY>
<!ATTLIST AllNotesOff
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;>
<!ELEMENT OmniOff EMPTY>
<!ATTLIST OmniOff
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;>
<!ELEMENT OmniOn EMPTY>
<!ATTLIST OmniOn
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;>
<!ELEMENT MonoMode EMPTY>
<!ATTLIST MonoMode
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Value NMTOKEN #REQUIRED>
<!ELEMENT PolyMode EMPTY>
<!ATTLIST PolyMode
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;>
<!ELEMENT ControlChange14 EMPTY>
<!ATTLIST ControlChange14
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
Control NMTOKEN #REQUIRED
Value NMTOKEN #REQUIRED>
<!ELEMENT RPNChange EMPTY>
<!ATTLIST RPNChange
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
RPN NMTOKEN #REQUIRED
Value NMTOKEN #REQUIRED>
<!ELEMENT NRPNChange EMPTY>
<!ATTLIST NRPNChange
Channel (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16) %ChannelRequired;
NRPN NMTOKEN #REQUIRED
Value NMTOKEN #REQUIRED>
<!ELEMENT SysEx (#PCDATA | SysExDeviceID | SysExChannel)*>
<!ELEMENT SysExDeviceID EMPTY>
<!ATTLIST SysExDeviceID
Multiplier NMTOKEN "1"
Offset NMTOKEN "0">
<!ELEMENT SysExChannel EMPTY>
<!ATTLIST SysExChannel
Multiplier NMTOKEN "1"
Offset NMTOKEN "0">
<!ELEMENT MTCQuarterFrame EMPTY>
<!ATTLIST MTCQuarterFrame
MessageType (FrameLSNibble | FrameMSNibble |
SecsLSNibble | SecsMSNibble |
MinsLSNibble | MinsMSNibble |
HrsLSNibble | HrsMSNibbleSMPTEType) #REQUIRED
DataNibble NMTOKEN #REQUIRED>
<!ELEMENT SongPositionPointer EMPTY>
<!ATTLIST SongPositionPointer
Position NMTOKEN #REQUIRED>
<!ELEMENT SongSelect EMPTY>
<!ATTLIST SongSelect
Number NMTOKEN #REQUIRED>
<!ELEMENT TuneRequest EMPTY>
<!ELEMENT TimingClock EMPTY>
<!ELEMENT Start EMPTY>
<!ELEMENT Continue EMPTY>
<!ELEMENT Stop EMPTY>
<!ELEMENT ActiveSensing EMPTY>
<!ELEMENT SystemReset EMPTY>
<!ENTITY % MIDIChannelVoiceMessage "(NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange
| ChannelKeyPressure | PitchBendChange)">
<!ENTITY % MIDIChannelModeMessage "(AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff
| OmniOff | OmniOn | MonoMode | PolyMode)">
<!ENTITY % MIDIChannelMessage "(%MIDIChannelVoiceMessage; | %MIDIChannelModeMessage;)">
<!ENTITY % MIDISystemMessage "(SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect
| TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | SystemReset)">
<!ENTITY % MIDIMessage "(%MIDIChannelMessage; | %MIDISystemMessage; )">