summaryrefslogtreecommitdiff
path: root/patchfiles/MIDINameDocument10.dtd
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-01-19 02:33:28 +0000
committerDavid Robillard <d@drobilla.net>2013-01-19 02:33:28 +0000
commit078145252bb2af965205a91310253bf07e0ff279 (patch)
tree21a497bb4a4f6fd1ef6ebf12f24943a62babfb37 /patchfiles/MIDINameDocument10.dtd
parent1f5c686979cc7bf5537de1aa1f6cc9da373db606 (diff)
Fix invalid XML. All midnam files now pass validation by xmllint.
git-svn-id: svn://localhost/ardour2/branches/3.0@13886 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'patchfiles/MIDINameDocument10.dtd')
-rw-r--r--patchfiles/MIDINameDocument10.dtd162
1 files changed, 162 insertions, 0 deletions
diff --git a/patchfiles/MIDINameDocument10.dtd b/patchfiles/MIDINameDocument10.dtd
new file mode 100644
index 0000000000..24befd1de0
--- /dev/null
+++ b/patchfiles/MIDINameDocument10.dtd
@@ -0,0 +1,162 @@
+<!--
+ XML DTD for MIDINameDocument
+
+ Version 1.0, 19 January 2003
+
+ Formal Public Identifier:
+ "-//MIDI Manufacturers Association//DTD MIDINameDocument 1.0//EN"
+ URI:
+ "http://www.midi.org/dtds/MIDINameDocument10.dtd"
+-->
+
+<!--
+ ENTITIES - used internally
+-->
+
+<!ENTITY % namelist "PatchNameList | NoteNameList | ControlNameList | ValueNameList">
+<!ENTITY % noteorctl_listorref "(NoteNameList | UsesNoteNameList)?, (ControlNameList |
+ UsesControlNameList)?">
+
+<!--
+ ELEMENTS AND ATTRIBUTES
+-->
+
+<!ELEMENT MIDINameDocument (Author, (MasterDeviceNames+ | ExtendingDeviceNames+ |
+ StandardDeviceMode+)) >
+
+<!ELEMENT Author (#PCDATA)>
+
+<!ELEMENT MasterDeviceNames (((Manufacturer, Model+) | Device),
+ (CustomDeviceMode | SupportsStandardDeviceMode)+,
+ ChannelNameSet*, (%namelist;)*) >
+
+<!ELEMENT ExtendingDeviceNames (((Manufacturer, Model+)? | Device), (%namelist;)+) >
+
+<!ELEMENT Manufacturer (#PCDATA)>
+
+<!ELEMENT Model (#PCDATA)>
+
+<!ELEMENT Device EMPTY>
+<!ATTLIST Device
+ Name CDATA #REQUIRED
+ UniqueID NMTOKEN #REQUIRED>
+
+<!ELEMENT StandardDeviceMode (DeviceModeEnable?, DeviceModeDisable?, ChannelNameSetAssignments,
+ ChannelNameSet+, (%namelist;)*) >
+<!ATTLIST StandardDeviceMode
+ Name CDATA #REQUIRED>
+
+<!ELEMENT CustomDeviceMode (DeviceModeEnable?, DeviceModeDisable?, ChannelNameSetAssignments,
+ (%namelist;)*) >
+<!ATTLIST CustomDeviceMode
+ Name CDATA #REQUIRED>
+
+<!ELEMENT DeviceModeEnable (MIDICommands)>
+<!ELEMENT DeviceModeDisable (MIDICommands)>
+
+<!ELEMENT SupportsStandardDeviceMode EMPTY>
+<!ATTLIST SupportsStandardDeviceMode
+ Name CDATA #REQUIRED>
+
+<!ELEMENT ChannelNameSetAssignments (ChannelNameSetAssign+)>
+<!ELEMENT ChannelNameSetAssign EMPTY>
+<!ATTLIST ChannelNameSetAssign
+ Channel NMTOKEN #REQUIRED
+ NameSet CDATA #REQUIRED>
+
+<!ELEMENT ChannelNameSet (AvailableForChannels, %noteorctl_listorref;, PatchBank+) >
+<!ATTLIST ChannelNameSet
+ Name CDATA #REQUIRED>
+
+<!ELEMENT AvailableForChannels (AvailableChannel+)>
+<!ELEMENT AvailableChannel EMPTY>
+<!ATTLIST AvailableChannel
+ Channel NMTOKEN #REQUIRED
+ Available (false | true) "true">
+
+<!ELEMENT PatchBank (MIDICommands?, (UsesPatchNameList | PatchNameList))>
+<!ATTLIST PatchBank
+ Name CDATA #IMPLIED
+ ROM (false | true) "false">
+
+<!ELEMENT UsesPatchNameList EMPTY>
+<!ATTLIST UsesPatchNameList
+ Name CDATA #REQUIRED>
+
+<!ELEMENT PatchNameList (Patch*)>
+<!ATTLIST PatchNameList
+ Name CDATA #IMPLIED>
+
+<!ELEMENT Patch (PatchMIDICommands?, ChannelNameSetAssignments?, %noteorctl_listorref; ) >
+<!ATTLIST Patch
+ Number CDATA #REQUIRED
+ Name CDATA #REQUIRED
+ ProgramChange NMTOKEN #IMPLIED>
+
+<!ELEMENT UsesNoteNameList EMPTY>
+<!ATTLIST UsesNoteNameList
+ Name CDATA #REQUIRED>
+
+<!ELEMENT NoteNameList (NoteGroup | Note)+>
+<!ATTLIST NoteNameList
+ Name CDATA #IMPLIED>
+
+<!ELEMENT NoteGroup (Note*)>
+<!ATTLIST NoteGroup
+ Name CDATA #IMPLIED>
+
+<!ELEMENT Note EMPTY>
+<!ATTLIST Note
+ Number NMTOKEN #REQUIRED
+ Name CDATA #REQUIRED>
+
+<!ELEMENT UsesControlNameList EMPTY>
+<!ATTLIST UsesControlNameList
+ Name CDATA #REQUIRED>
+
+<!ELEMENT ControlNameList (Control+)>
+<!ATTLIST ControlNameList
+ Name CDATA #IMPLIED>
+
+<!ELEMENT Control (Values?)>
+<!ATTLIST Control
+ Type (7bit | 14bit | RPN | NRPN) "7bit"
+ Number NMTOKEN #REQUIRED
+ Name CDATA #REQUIRED>
+
+<!ELEMENT Values (ValueNameList | UsesValueNameList)?>
+<!ATTLIST Values
+ Min NMTOKEN #REQUIRED
+ Max NMTOKEN #REQUIRED
+ Default NMTOKEN #IMPLIED
+ Units NMTOKEN #IMPLIED
+ Mapping NMTOKEN #IMPLIED>
+
+<!ELEMENT UsesValueNameList EMPTY>
+<!ATTLIST UsesValueNameList
+ Name CDATA #REQUIRED>
+
+<!ELEMENT ValueNameList (Value+)>
+<!ATTLIST ValueNameList
+ Name CDATA #IMPLIED>
+
+<!ELEMENT Value EMPTY>
+<!ATTLIST Value
+ Number NMTOKEN #REQUIRED
+ Name CDATA #REQUIRED>
+
+<!--
+ Include MIDI.dtd, defining elements referenced by MIDICommands
+-->
+<!ENTITY % ChannelRequired "#IMPLIED">
+<!ENTITY % MIDIDTD PUBLIC "-//MIDI Manufacturers Association//DTD MIDIEvents 1.0//EN"
+ "http://www.midi.org/dtds/MIDIEvents10.dtd" >
+%MIDIDTD;
+
+<!ELEMENT MIDICommands (MIDIDelay | %MIDIChannelMessage; | SysEx)+ >
+<!ELEMENT PatchMIDICommands (MIDIDelay | %MIDIChannelMessage; )+ >
+
+<!ELEMENT MIDIDelay EMPTY>
+<!ATTLIST MIDIDelay
+ Milliseconds CDATA #REQUIRED>
+