module.xsd:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.hevanet.com/dougcl/rp/module.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.hevanet.com/dougcl/rp/module.xsd">
<xsd:element name="module" type="tns:ModuleType">
</xsd:element>
<xsd:complexType name="ModuleType">
<xsd:sequence>
<xsd:element name="properties" type="tns:ModulePropertiesType" minOccurs="1" maxOccurs="1">
</xsd:element>
<xsd:element name="link" type="tns:LinkType" minOccurs="0" maxOccurs="unbounded">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LinkType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string" minOccurs="0" maxOccurs="1">
</xsd:element>
<xsd:element name="url" type="xsd:string" minOccurs="1" maxOccurs="1">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ModulePropertiesType">
<xsd:sequence>
<xsd:element name="identifiers" type="tns:IdentifierListType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
List of database primary keys if available
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="timestamp" type="xsd:string"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Used to version the module data
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="manuf" type="xsd:string" minOccurs="1"
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The module manufacturer eg. Doepfer
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="model" type="xsd:string" minOccurs="1"
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The module model. eg A-199
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="format" type="tns:FormatType"
minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The module format. Restricted to specific
values. See below.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="modifier" type="xsd:string" minOccurs="0"
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Optional additional module identifier. eg Rev2
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="HP" type="xsd:positiveInteger"
maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The number of horizontal positions required by
the module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="mA" type="xsd:positiveInteger"
maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Nominal current draw
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="V" type="xsd:positiveInteger"
maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Nominal voltage at positive rail
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="priceUSD" type="xsd:positiveInteger"
maxOccurs="1" minOccurs="0">
</xsd:element>
<xsd:element name="depth_mm" type="xsd:positiveInteger"
maxOccurs="1" minOccurs="0">
</xsd:element>
<xsd:element name="moduleImageFilename" type="xsd:string"
maxOccurs="1" minOccurs="0">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="FormatType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="E">
<xsd:annotation>
<xsd:documentation>Eurorack</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="U">
<xsd:annotation>
<xsd:documentation>Buchla</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="S">
<xsd:annotation>
<xsd:documentation>Serge</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="M">
<xsd:annotation>
<xsd:documentation>5U</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="F">
<xsd:annotation>
<xsd:documentation>Frac</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="MM">
<xsd:annotation>
<xsd:documentation>ModuleModule</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="D">
<xsd:annotation>
<xsd:documentation>Dotcom</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="A">
<xsd:annotation>
<xsd:documentation>Modcan A</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="W">
<xsd:annotation>
<xsd:documentation>Wiard 6U</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="R">
<xsd:annotation>
<xsd:documentation>Roland 100m</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="E1">
<xsd:annotation>
<xsd:documentation>Euro 1U Tile</xsd:documentation>
</xsd:annotation></xsd:enumeration>
<xsd:enumeration value="MMM">
<xsd:annotation>
<xsd:documentation>Mattson Mini Modular</xsd:documentation>
</xsd:annotation></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="IdentifierType">
<xsd:sequence>
<xsd:element name="authority" type="xsd:string" minOccurs="1" maxOccurs="1"></xsd:element>
<xsd:element name="ID" type="xsd:string" minOccurs="1" maxOccurs="1"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="IdentifierListType">
<xsd:sequence>
<xsd:element name="identifier" type="tns:IdentifierType" minOccurs="1" maxOccurs="unbounded"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Code: Select all
<?xml version="1.0" encoding="ISO-8859-1"?>
<module>
<properties>
<identifiers>
<identifier>
<authority>squiggletronics</authority>
<ID>Z123456789</ID>
</identifier>
</identifiers>
<manuf>Cwejman</manuf>
<model>MX-4s</model>
<format>E</format>
<modifier>Rev2</modifier>
<HP>20</HP>
<mA>40</mA>
<V>12</V>
<priceUSD>775</priceUSD>
<depth_mm>35</depth_mm>
<moduleImageFilename>Cwejman_MX-4S.jpg</moduleImageFilename>
</properties>
<link>
<title>Manufacturers Page</title>
<url>http://cwejman.net/mx-4s.htm</url>
</link>
<link>
<title>Muffs Wiki Page</title>
<url>http://wiki.muffwiggler.com/MX-4S</url>
</link>
</module>
manuf_format_model_modifier.zip
Example:
Cwejman_E_MX-4s_Rev2.zip
Note, the modifier part is optional and only used if needed.