XML Schema "xmldevice.xsd"
Target Namespace:
http://www.jsynthlib.org/xmldevice
Defined Components:
elements (3 global + 84 local), complexTypes (28)
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Schema Location:
C:\Users\pcr\workspace\jsynthlib\src\main\xsd\xmldevice.xsd; see XML source
All Element Summary (local elements unified by type)
jsl:arg (type xs:string)
Type:
xs:string
Content:
simple
Defined:
locally within jsl:args complexType; see XML source
jsl:authors (type xs:string)
Type:
xs:string
Content:
simple
Defined:
locally at 2 locations
jsl:bankNumbers (type jsl:stringArray)
Array holding names or numbers for all banks.
Type:
Content:
complex, 2 elements
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:base (type xs:int)
Type:
xs:int
Content:
simple
Defined:
locally at 3 locations
jsl:checksumEnd (type xs:int)
End of range that Checksum covers.
Type:
xs:int
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:checksumOffset (type xs:int)
Offset of checksum byte.
Type:
xs:int
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:checksumStart (type xs:int)
Start of range that Checksum covers.
Type:
xs:int
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:combinedgroup (type jsl:combinedGroup)
Type:
Content:
complex, 1 attribute, 4 elements
Defined:
locally within jsl:patchParams complexType; see XML source
jsl:customProperties (defined in jsl:xmlDriverSpec complexType)
Custom properties that will be injected to the driver.
Type:
anonymous complexType
Content:
complex, 1 element
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
Includes:
definition of 1 element
jsl:customProperty (in jsl:customProperties)
Type:
Content:
empty, 2 attributes
Defined:
jsl:defaultValue (in jsl:preferenceDef)
The default value of the preference.
Type:
xs:string
Content:
simple
Defined:
jsl:description (in jsl:preferenceDef)
This text will be displayed next to the preference widget.
Type:
xs:string
Content:
simple
Defined:
jsl:deviceIDoffset (type xs:int)
Offset of deviceID in sysex.
Type:
xs:int
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:driverClass (in jsl:xmlDriverDef)
Java class name for the driver.
Type:
xs:string
Content:
simple
Defined:
locally within jsl:xmlDriverDef element; see XML source
jsl:drivers (in jsl:xmlDeviceSpec)
Type:
Content:
complex, 1 element
Defined:
jsl:driverType (in jsl:xmlDriverDef)
Specifies whether this driver is a bank, converter or single driver
Type:
anonymous simpleType (restriction of xs:string)
Content:
simple
Defined:
locally within jsl:xmlDriverDef element; see XML source
jsl:envelopeNodeSpec (in jsl:envelopeSpec)
Type:
Content:
complex, 2 elements
Defined:
locally within jsl:envelopeSpec complexType; see XML source
jsl:envelopeSpec (type jsl:envelopeSpec)
Type:
Content:
complex, 1 attribute, 2 elements
Defined:
locally within jsl:patchParams complexType; see XML source
jsl:format (in jsl:generatedBy)
Type:
xs:string
Content:
simple
Defined:
locally within jsl:generatedBy element; see XML source
jsl:generatedBy (defined in jsl:stringArray complexType)
Type:
anonymous complexType
Content:
complex, 3 elements
Defined:
locally within jsl:stringArray complexType; see XML source
Includes:
definitions of 3 elements
jsl:infoText (type xs:string)
Type:
xs:string
Content:
simple
Defined:
locally at 2 locations
jsl:initPatch (type xs:string)
String of hex characters defining the default patch data.
Type:
xs:string
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:inquiryId (in jsl:xmlDeviceSpec)
The response to the Universal Inquiry Message.
Type:
xs:string
Content:
simple
Defined:
jsl:intParamSpec (type jsl:intParamSpec)
Type:
Content:
complex, 1 attribute, 8 elements
Defined:
locally within jsl:patchParams complexType; see XML source
jsl:invert (in jsl:xParam)
Sometimes on an X-axis-riding attribute 0 is the fastest, other times it is the slowest.
Type:
xs:boolean
Content:
simple
Defined:
locally within jsl:xEnvelopeParamSpec complexType; see XML source
jsl:leftShift (in jsl:param)
Type:
xs:int
Content:
simple
Defined:
jsl:length (in jsl:stringParamSpec)
Type:
xs:int
Content:
simple
Defined:
locally within jsl:stringParamSpec complexType; see XML source
jsl:manufacturer (in jsl:xmlDeviceSpec)
The company which made the Synthesizer.
Type:
xs:string
Content:
simple
Defined:
jsl:max (type xs:int)
Type:
xs:int
Content:
simple
Defined:
locally at 4 locations
jsl:midiSender (type jsl:midiSender)
Type:
Content:
complex, 1 attribute, 1 element
Defined:
locally at 2 locations
jsl:min (type xs:int)
Type:
xs:int
Content:
simple
Defined:
locally at 4 locations
jsl:modelName (in jsl:xmlDeviceSpec)
The fixed name of the model supported by this driver, as stated on the type plate of the engine. eg TG33/SY22
Type:
xs:string
Content:
simple
Defined:
jsl:name (type xs:string)
Driver name.
Type:
xs:string
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:numColumns (in jsl:xmlBankDriverSpec)
How many columns to use when displaying the patches as a table.
Type:
xs:int
Content:
simple
Defined:
jsl:numPatches (in jsl:xmlBankDriverSpec)
The Number of Patches the Bank holds.
Type:
xs:int
Content:
simple
Defined:
jsl:numSysexMsgs (in jsl:xmlBankDriverSpec)
Type:
xs:int
Content:
simple
Defined:
jsl:param (in jsl:combinedgroup)
Type:
Content:
complex, 1 attribute, 6 elements
Defined:
locally within jsl:combinedGroup complexType; see XML source
jsl:paramModel (type jsl:paramModel)
Type:
Content:
complex, 1 attribute, 1 element
Defined:
locally at 2 locations
jsl:patchNameSize (type xs:int)
Number of characters in the patch name. (0 if no name)
Type:
xs:int
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:patchNameStart (type xs:int)
The offset in the patch where the patchname starts. '0' if patch is not named -- remember all offsets are zero based.
Type:
xs:int
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:patchNumbers (type jsl:stringArray)
Array holding names/numbers for all patches.
Type:
Content:
complex, 2 elements
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:patchParamGroup (type jsl:patchParamGroup)
Type:
Content:
complex, 1 attribute, 5 elements
Defined:
locally within jsl:patchParams complexType; see XML source
jsl:patchParamResource (in jsl:patchParamResources)
Type:
xs:string
Content:
simple
Defined:
jsl:patchParamResources (in jsl:intParamSpec)
List of image resource paths that will be listed or displayed next to the control.
Type:
Content:
complex, 1 element
Defined:
locally within jsl:intParamSpec complexType; see XML source
jsl:patchParams (in jsl:xmlPatchDriverSpec)
Type:
Content:
complex, 5 elements
Defined:
jsl:patchParamValue (in jsl:patchParamValues)
Type:
xs:string
Content:
simple
Defined:
locally within jsl:patchParamValues complexType; see XML source
jsl:patchParamValues (type jsl:patchParamValues)
Type:
Content:
complex, 1 element
Defined:
locally at 2 locations
jsl:patchSize (type xs:int)
The size of the patch this Driver supports (or 0 for variable).
Type:
xs:int
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:patchType (type xs:string)
Type of driver describing the type of patch it handles.
Type:
xs:string
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:preferenceDef (in jsl:preferenceDefs)
Device preference element.
Type:
anonymous complexType
Content:
complex, 2 attributes, 3 elements
Defined:
locally within jsl:preferenceDefs complexType; see XML source
Includes:
definitions of 2 attributes, 3 elements
jsl:preferenceDefs (in jsl:xmlDeviceSpec)
Type:
Content:
complex, 1 element
Defined:
jsl:property (type jsl:propertySpec)
Type:
Content:
empty, 2 attributes
Defined:
locally at 4 locations
jsl:singleSize (in jsl:xmlBankDriverSpec)
Deprecated - is accessible directly from the single driver.
Type:
xs:int
Content:
simple
Defined:
jsl:singleSysexID (in jsl:xmlBankDriverSpec)
Deprecated - is accessible directly from the single driver.
Type:
xs:string
Content:
simple
Defined:
jsl:string (type xs:string)
Type:
xs:string
Content:
simple
Defined:
locally within jsl:stringArray complexType; see XML source
jsl:stringModel (in jsl:stringParamSpec)
Type:
Content:
complex, 1 attribute, 1 element
Defined:
locally within jsl:stringParamSpec complexType; see XML source
jsl:stringParamSpec (type jsl:stringParamSpec)
Type:
Content:
complex, 1 attribute, 6 elements
Defined:
locally within jsl:patchParams complexType; see XML source
jsl:stringSender (in jsl:stringParamSpec)
Type:
Content:
complex, 1 attribute, 1 element
Defined:
locally within jsl:stringParamSpec complexType; see XML source
jsl:sysexID (type xs:string)
The hex header that sysex files of the format this driver supports will have.
Type:
xs:string
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:sysexRequestDumpString (type xs:string)
Optional parameter - not used yet.
Type:
xs:string
Content:
simple
Defined:
locally within jsl:xmlDriverSpec complexType; see XML source
jsl:trimSize (in jsl:xmlBankDriverSpec)
Type:
xs:int
Content:
simple
Defined:
jsl:uuid (type xs:string)
Type:
xs:string
Content:
simple
Defined:
locally at 2 locations
jsl:value (in jsl:values)
Type:
xs:string
Content:
simple
Defined:
locally within jsl:values element; see XML source
jsl:values (in jsl:preferenceDef)
Optional list of string values the user can select among in a combo box.
Type:
anonymous complexType
Content:
complex, 1 element
Defined:
Includes:
definition of 1 element
jsl:xmlBankDriverSpec
Root element for bank driver documents
Type:
anonymous complexType (extension of jsl:xmlDriverSpec)
Content:
complex, 23 elements
Defined:
globally; see XML source
Includes:
definitions of 6 elements
Used:
never
jsl:xmlDeviceSpec
Base tag for device documents.
Type:
anonymous complexType
Content:
complex, 7 elements
Defined:
globally; see XML source
Includes:
definitions of 7 elements
Used:
never
jsl:xmlDriverDef (in jsl:drivers)
Descriptor for device drivers.
Type:
anonymous complexType
Content:
complex, 2 elements
Defined:
locally within jsl:xmlDriverDefs complexType; see XML source
Includes:
definitions of 2 elements
jsl:xmlPatchDriverSpec
Root element for single driver documents
Type:
anonymous complexType (extension of jsl:xmlDriverSpec)
Content:
complex, 18 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
never
jsl:xParam (in jsl:envelopeNodeSpec)
Type:
Content:
complex, 1 attribute, 6 elements
Defined:
locally within jsl:envelopeNodeSpec complexType; see XML source
jsl:yParam (in jsl:envelopeNodeSpec)
Type:
Content:
complex, 1 attribute, 6 elements
Defined:
locally within jsl:envelopeNodeSpec complexType; see XML source
Complex Type Summary
Content:
complex, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
never
Complex element only for advanced users.
Content:
complex, 1 attribute, 4 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 6 elements
Defined:
globally; see XML source
Includes:
definitions of 5 elements
Used:
Content:
complex, 2 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Content:
complex, 1 attribute, 5 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Content:
complex, 1 attribute, 2 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 8 elements
Defined:
globally; see XML source
Includes:
definitions of 5 elements
Used:
Content:
complex, 1 attribute, 1 element
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
Content:
complex, 1 attribute, 1 element
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
Group of editor parameters.
Content:
complex, 1 attribute, 5 elements
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
Content:
complex, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
List of driver parameters.
Content:
complex, 5 elements
Defined:
globally; see XML source
Includes:
definitions of 5 elements
Used:
Content:
complex, 1 attribute, 1 element
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
Content:
complex, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
List of preferences associated with the device.
Content:
complex, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
empty, 2 attributes
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
Content:
empty, 2 attributes
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
Content:
complex, 1 attribute, 3 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Content:
complex, 2 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Content:
complex, 1 attribute, 1 element
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
Content:
complex, 1 attribute, 6 elements
Defined:
globally; see XML source
Includes:
definitions of 3 elements
Used:
Content:
complex, 1 attribute, 1 element
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
Content:
complex, 1 attribute, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 3 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Content:
complex, 1 attribute, 6 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
List of drivers provided by this device.
Content:
complex, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Base element for driver XML documents.
Content:
complex, 17 elements
Defined:
globally; see XML source
Includes:
definitions of 17 elements
Used:
Content:
complex, 1 attribute, 6 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
XML Source
<xs:schema elementFormDefault="qualified" targetNamespace="http://www.jsynthlib.org/xmldevice" xmlns:jsl="http://www.jsynthlib.org/xmldevice" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="xmlDeviceSpec">
<xs:annotation>
<xs:documentation>
Base tag for device documents.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="manufacturer" type="xs:string">
<xs:annotation>
<xs:documentation>
The company which made the Synthesizer. E.g. Roland or Yamaha.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="modelName" type="xs:string">
<xs:annotation>
<xs:documentation>
The fixed name of the model supported by this driver, as stated on the type plate of the engine. eg TG33/SY22
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="inquiryId" type="xs:string">
<xs:annotation>
<xs:documentation>
The response to the Universal Inquiry Message. It is a regular expression. It can be up to 16 bytes.
Ex.
<code>"F07E..0602413F01000000020000f7"</code>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="infoText" type="xs:string">
<xs:annotation>
<xs:documentation>
Information about the Device. Displayed when the device is installed.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="authors" type="xs:string">
<xs:annotation>
<xs:documentation>Authors of the device driver.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="drivers" type="jsl:xmlDriverDefs"/>
<xs:element minOccurs="0" name="preferenceDefs" type="jsl:preferenceDefs"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="preferenceDefs">
<xs:annotation>
<xs:documentation>
List of preferences associated with the device.
<br/>
This list will generate a configuration window for the device in the JSL preferences window.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="preferenceDef">
<xs:annotation>
<xs:documentation>Device preference element.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="description" type="xs:string">
<xs:annotation>
<xs:documentation>
This text will be displayed next to the preference widget.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="values">
<xs:annotation>
<xs:documentation>
Optional list of string values the user can select among in a combo box.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="value" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="defaultValue" type="xs:string">
<xs:annotation>
<xs:documentation>The default value of the preference.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>
A name identifying the preference. This name is used as an id and don't have to be human readable but must be unique for the device.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="type">
<xs:annotation>
<xs:documentation>Type of preference.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="STRING"/>
<xs:enumeration value="BOOLEAN"/>
<xs:enumeration value="INTEGER"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="xmlDriverDefs">
<xs:annotation>
<xs:documentation>List of drivers provided by this device.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="xmlDriverDef">
<xs:annotation>
<xs:documentation>Descriptor for device drivers.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="driverClass" type="xs:string">
<xs:annotation>
<xs:documentation>Java class name for the driver.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="driverType">
<xs:annotation>
<xs:documentation>
Specifies whether this driver is a bank, converter or single driver
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Patch"/>
<xs:enumeration value="Bank"/>
<xs:enumeration value="Converter"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="xmlDriverSpec">
<xs:annotation>
<xs:documentation>
Base element for driver XML documents. The properties below will automatically be injected to the driver if there is an appropriate setter method.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Driver name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="infoText" type="xs:string">
<xs:annotation>
<xs:documentation>
Information about the driver. Displayed when new patches are created.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="authors" type="xs:string">
<xs:annotation>
<xs:documentation>The names of the authors of this driver.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="patchType" type="xs:string">
<xs:annotation>
<xs:documentation>
Type of driver describing the type of patch it handles. E.g. Voice, Drum etc.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="patchSize" type="xs:int">
<xs:annotation>
<xs:documentation>
The size of the patch this Driver supports (or 0 for variable).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="sysexID" type="xs:string">
<xs:annotation>
<xs:documentation>
The hex header that sysex files of the format this driver supports will have. The program will attempt to match loaded sysex drivers with the sysexID of a loaded driver. It can be up to 16 bytes and have wildcards (
<code>*</code>
). (ex.
<code>"F041**003F12"</code>
)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="patchNumbers" type="jsl:stringArray">
<xs:annotation>
<xs:documentation>
Array holding names/numbers for all patches. Used for comboBox selection.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="bankNumbers" type="jsl:stringArray">
<xs:annotation>
<xs:documentation>
Array holding names or numbers for all banks. Used for comboBox.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="deviceIDoffset" type="xs:int">
<xs:annotation>
<xs:documentation>Offset of deviceID in sysex.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="sysexRequestDumpString" type="xs:string">
<xs:annotation>
<xs:documentation>Optional parameter - not used yet.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="checksumOffset" type="xs:int">
<xs:annotation>
<xs:documentation>Offset of checksum byte.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="checksumStart" type="xs:int">
<xs:annotation>
<xs:documentation>Start of range that Checksum covers.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="checksumEnd" type="xs:int">
<xs:annotation>
<xs:documentation>End of range that Checksum covers.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="patchNameStart" type="xs:int">
<xs:annotation>
<xs:documentation>
The offset in the patch where the patchname starts. '0' if patch is not named -- remember all offsets are zero based.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="patchNameSize" type="xs:int">
<xs:annotation>
<xs:documentation>
Number of characters in the patch name. (0 if no name)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="customProperties">
<xs:annotation>
<xs:documentation>
Custom properties that will be injected to the driver.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="customProperty" type="jsl:property"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="initPatch" type="xs:string">
<xs:annotation>
<xs:documentation>
String of hex characters defining the default patch data.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="xmlBankDriverSpec">
<xs:annotation>
<xs:documentation>Root element for bank driver documents</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="jsl:xmlDriverSpec">
<xs:sequence>
<xs:element minOccurs="0" name="trimSize" type="xs:int"/>
<xs:element minOccurs="0" name="numSysexMsgs" type="xs:int"/>
<xs:element name="numPatches" type="xs:int">
<xs:annotation>
<xs:documentation>The Number of Patches the Bank holds.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="numColumns" type="xs:int">
<xs:annotation>
<xs:documentation>
How many columns to use when displaying the patches as a table.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="singleSize" type="xs:int">
<xs:annotation>
<xs:documentation>
Deprecated - is accessible directly from the single driver.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="singleSysexID" type="xs:string">
<xs:annotation>
<xs:documentation>
Deprecated - is accessible directly from the single driver.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="xmlPatchDriverSpec">
<xs:annotation>
<xs:documentation>Root element for single driver documents</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="jsl:xmlDriverSpec">
<xs:sequence>
<xs:element minOccurs="0" name="patchParams" type="jsl:patchParams"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="stringArray">
<xs:choice>
<xs:element maxOccurs="unbounded" minOccurs="1" name="string" type="xs:string"/>
<xs:element name="generatedBy">
<xs:complexType>
<xs:sequence>
<xs:element name="format" type="xs:string"/>
<xs:element name="min" type="xs:int"/>
<xs:element name="max" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="patchParams">
<xs:annotation>
<xs:documentation>
List of driver parameters. This list shall match the controls in the editor.
</xs:documentation>
</xs:annotation>
<xs:choice maxOccurs="unbounded">
<xs:element name="intParamSpec" type="jsl:intParamSpec"/>
<xs:element name="stringParamSpec" type="jsl:stringParamSpec"/>
<xs:element name="patchParamGroup" type="jsl:patchParamGroup"/>
<xs:element name="envelopeSpec" type="jsl:envelopeSpec"/>
<xs:element name="combinedgroup" type="jsl:combinedGroup"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="patchParamGroup">
<xs:annotation>
<xs:documentation>Group of editor parameters.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="jsl:patchParams">
<xs:attribute name="name" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="patchParamSpec">
<xs:sequence>
<xs:element minOccurs="0" name="uuid" type="xs:string">
<xs:annotation>
<xs:documentation>
Unique identifier for the parameter. This string must be unique throughout all devices in JSL.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Parameter name.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="uuidPatchParamSpec">
<xs:complexContent>
<xs:restriction base="jsl:patchParamSpec">
<xs:sequence>
<xs:element minOccurs="1" name="uuid" type="xs:string">
<xs:annotation>
<xs:documentation>
Unique identifier for the parameter. This string must be unique throughout all devices in JSL.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="envelopeSpec">
<xs:complexContent>
<xs:extension base="jsl:uuidPatchParamSpec">
<xs:sequence>
<xs:element maxOccurs="10" name="envelopeNodeSpec" type="jsl:envelopeNodeSpec"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="envelopeNodeSpec">
<xs:sequence>
<xs:element minOccurs="0" name="xParam" type="jsl:xEnvelopeParamSpec"/>
<xs:element minOccurs="0" name="yParam" type="jsl:yEnvelopeParamSpec"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="singleParamSpec">
<xs:complexContent>
<xs:extension base="jsl:patchParamSpec">
<xs:sequence>
<xs:element minOccurs="0" name="midiSender" type="jsl:midiSender">
<xs:annotation>
<xs:documentation>MIDI message sender.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="paramModel" type="jsl:paramModel">
<xs:annotation>
<xs:documentation>Parameter Model for this control.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="uuidSingleParamSpec">
<xs:complexContent>
<xs:extension base="jsl:uuidPatchParamSpec">
<xs:sequence>
<xs:element minOccurs="0" name="midiSender" type="jsl:midiSender">
<xs:annotation>
<xs:documentation>MIDI message sender.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="paramModel" type="jsl:paramModel">
<xs:annotation>
<xs:documentation>Parameter Model for this control.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="combinedGroup">
<xs:annotation>
<xs:documentation>Complex element only for advanced users.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="jsl:singleParamSpec">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="param" type="jsl:combinedIntPatchParam"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="combinedIntPatchParam">
<xs:complexContent>
<xs:extension base="jsl:uuidPatchParamSpec">
<xs:sequence>
<xs:element name="min" type="xs:int">
<xs:annotation>
<xs:documentation>The minimum value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="max" type="xs:int">
<xs:annotation>
<xs:documentation>The maximum value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="patchParamValues" type="jsl:patchParamValues"/>
<xs:element minOccurs="0" name="base" type="xs:int"/>
<xs:element minOccurs="0" name="leftShift" type="xs:int"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="envelopeParamSpec">
<xs:complexContent>
<xs:extension base="jsl:singleParamSpec">
<xs:sequence>
<xs:element name="min" type="xs:int">
<xs:annotation>
<xs:documentation>The minimum value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="max" type="xs:int">
<xs:annotation>
<xs:documentation>The maximum value.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="xEnvelopeParamSpec">
<xs:complexContent>
<xs:extension base="jsl:envelopeParamSpec">
<xs:sequence>
<xs:element name="invert" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sometimes on an X-axis-riding attribute 0 is the fastest, other times it is the slowest. This allows you to choose.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="yEnvelopeParamSpec">
<xs:complexContent>
<xs:extension base="jsl:envelopeParamSpec">
<xs:sequence>
<xs:element name="base" type="xs:int">
<xs:annotation>
<xs:documentation>
The value will be added to all Y values. This doesn't
change the function of the EnvelopeWidget, but makes it
look nicer and possibly be more intuitive to use.
<br/>
Sometimes you don't want zero on a Y-axis-riding-parameter
to be all the way down at the bottom. This gives it a
little bit of rise.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="intParamSpec">
<xs:complexContent>
<xs:extension base="jsl:uuidSingleParamSpec">
<xs:sequence>
<xs:element name="min" type="xs:int">
<xs:annotation>
<xs:documentation>The minimum value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="max" type="xs:int">
<xs:annotation>
<xs:documentation>The maximum value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="base" type="xs:int">
<xs:annotation>
<xs:documentation>
Base value. This value is added to the actual value for display purposes.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="patchParamValues" type="jsl:patchParamValues">
<xs:annotation>
<xs:documentation>
List of strings that will be selectable in a combobox
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="patchParamResources" type="jsl:patchParamResources">
<xs:annotation>
<xs:documentation>
List of image resource paths that will be listed or displayed next to the control.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="property">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:complexType name="stringParamSpec">
<xs:complexContent>
<xs:extension base="jsl:uuidSingleParamSpec">
<xs:sequence>
<xs:element name="length" type="xs:int"/>
<xs:element minOccurs="0" name="stringSender" type="jsl:stringSenderSpec"/>
<xs:element minOccurs="0" name="stringModel" type="jsl:stringModelSpec"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="patchParamResources">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="patchParamResource" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="patchParamValues">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="patchParamValue" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="paramModel">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="jsl:propertySpec">
<xs:annotation>
<xs:documentation>
List of properties that will be injected during instance creation if the param model class provides appropriate setter methods.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="modelClass" type="xs:string">
<xs:annotation>
<xs:documentation>Full Java class qualified name</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="midiSender">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="jsl:propertySpec">
<xs:annotation>
<xs:documentation>
List of properties that will be injected during instance creation if the midi sender class provides appropriate setter methods.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="senderClass" type="xs:string">
<xs:annotation>
<xs:documentation>Full Java class qualified name</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="stringSenderSpec">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="jsl:propertySpec">
<xs:annotation>
<xs:documentation>
List of properties that will be injected during instance creation if the midi sender class provides appropriate setter methods.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="stringSenderClass" type="xs:string">
<xs:annotation>
<xs:documentation>Full Java class qualified name</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="stringModelSpec">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="jsl:propertySpec">
<xs:annotation>
<xs:documentation>
List of properties that will be injected during instance creation if the string model class provides appropriate setter methods.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="stringModelClass" type="xs:string">
<xs:annotation>
<xs:documentation>Full Java class qualified name</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="propertySpec">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:complexType name="args">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="arg" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

This XML schema documentation has been generated with DocFlex/XML 1.9.5 using DocFlex/XML XSDDoc 2.8.1 template set.
DocFlex/XML is a tool for programming and running highly sophisticated documentation and reports generators by the data obtained from any kind of XML files. The actual doc-generators are implemented in the form of special templates that are designed visually using a high-quality Template Designer GUI basing on the XML schema (or DTD) files describing the data source XML.
DocFlex/XML XSDDoc is a commercial template application of DocFlex/XML that implements a high-quality XML Schema documentation generator with simultaneous support of framed multi-file HTML, single-file HTML and RTF output formats. (More formats are planned in the future).
A commercial license for "DocFlex/XML XSDDoc" will allow you:
  • To configure the generated documentation so much as you want. Thanks to our template technology, it was possible to support > 400 template parameters, which work the same as "options" of ordinary doc-generators. The parameters are organized in nested groups, which form a parameter tree. Most of them have their default values calculated dynamically from a few primary parameters. So, you'll never need to specify all of them. That will give you swift and effective control over the generated content!
  • To use certain features disabled in the free mode (such as the full documenting of substitution groups).
  • To select only the initial, imported, included, redefined XML schemas to be documented or only those directly specified by name.
  • To include only XML schema components specified by name.
  • To document local element components both globally and locally (similar to attributes).
  • To allow/suppress unification of local elements by type.
  • To enable/disable reproducing of namespace prefixes.
  • To use PlainDoc.tpl main template to generate all the XML schema documentation in a signle-file form as both HTML and incredible quality RTF output.
  • To format your annotations with XHTML tags and reproduce that formatting both in HTML and RTF output.
  • To insert images in your annotations using XHTML <img> tags (supported both in HTML and RTF output).
  • To remove this very advertisement text!
Once having only such a license, you will be able to run the fully-featured XML schema documentation generator both with DocFlex/XML (Full Edition) and with DocFlex/XML RE, which is a reduced free edition containing only the template interpretor / output generator. No other licenses will be required!
But this is not all. In addition to it, a commercial license for "DocFlex/XML SDK" will allow you to modify the XSDDoc templates themselves as much as you want. You will be able to achieve whatever was impossible to do with the template parameters only. And, of course, you could develop any template applications by your own!
Please note that by purchasing a license for this software, you not only acquire a useful tool, you will also make an important investment in its future development, the results of which you could enjoy later by yourself. Every single your purchase matters and makes a difference for us!
To purchase a license, please follow this link: http://www.filigris.com/shop/