mirror of
https://github.com/kk7ds/chirp
synced 2026-08-13 17:51:36 -04:00
Split chirp schema into multiple files. Add bank specification to radio
and memory. Change the struture a bit to include memories in a group.
This commit is contained in:
parent
6ae6f547f2
commit
555127effd
3 changed files with 141 additions and 98 deletions
117
chirp.xsd
117
chirp.xsd
|
|
@ -7,120 +7,41 @@
|
|||
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xsd:include schemaLocation="chirp_memory.xsd"/>
|
||||
<xsd:include schemaLocation="chirp_banks.xsd"/>
|
||||
|
||||
<xsd:element name="radio" type="radioType"/>
|
||||
|
||||
<xsd:complexType name="radioType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="comment" type="xsd:string"
|
||||
minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="memories" type="memoryList"
|
||||
minOccurs="1" maxOccurs="1"/>
|
||||
<xsd:element name="banks" type="bankList"
|
||||
minOccurs="1" maxOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="version" type="chirpSchemaVersionType"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="memoryList">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="memory" type="memoryType"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="memoryType">
|
||||
<xsd:complexType name="bankList">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="shortName" type="shortNameType"/>
|
||||
<xsd:element name="longName" type="longNameType" minOccurs="0"/>
|
||||
<xsd:element name="frequency" type="frequencyType"/>
|
||||
<xsd:element name="squelch" type="squelchType"
|
||||
minOccurs="0" maxOccurs="3"/>
|
||||
<xsd:element name="squelchSetting" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="duplex" type="duplexType"/>
|
||||
<xsd:element name="offset" type="frequencyType"/>
|
||||
<xsd:element name="mode" type="modeType"/>
|
||||
<xsd:element name="tuningStep" type="frequencyType"/>
|
||||
<xsd:element name="skip" type="skipType" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="dv" type="dvType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="location" type="xsd:nonNegativeInteger"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="shortNameType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[A-Z0-9/ >]{0,6}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="frequencyType">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:decimal">
|
||||
<xsd:attribute name="units" type="freqUnitsType" use="required"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="freqUnitsType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="Hz"/>
|
||||
<xsd:enumeration value="kHz"/>
|
||||
<xsd:enumeration value="MHz"/>
|
||||
<xsd:enumeration value="GHz"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="longNameType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[A-Za-z0-9/ >]{0,8}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
|
||||
<xsd:complexType name="squelchType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="tone" type="xsd:decimal" minOccurs="0"/>
|
||||
<xsd:element name="code" type="xsd:positiveInteger" minOccurs="0"/>
|
||||
<xsd:element name="polarity" type="dtcsPolarityType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id"/>
|
||||
<xsd:attribute name="type"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="dtcsPolarityType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[RN]{2}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="duplexType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="positive"/>
|
||||
<xsd:enumeration value="negative"/>
|
||||
<xsd:enumeration value="none"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="modeType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="FM"/>
|
||||
<xsd:enumeration value="NFM"/>
|
||||
<xsd:enumeration value="WFM"/>
|
||||
<xsd:enumeration value="AM"/>
|
||||
<xsd:enumeration value="NAM"/>
|
||||
<xsd:enumeration value="DV"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="dvType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="urcall" type="callsignType"/>
|
||||
<xsd:element name="rpt1call" type="callsignType"/>
|
||||
<xsd:element name="rpt2call" type="callsignType"/>
|
||||
<xsd:element name="bank" type="bankType"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="callsignType">
|
||||
<xsd:simpleType name="chirpSchemaVersionType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[A-Z0-9/ ]*"/>
|
||||
<xsd:pattern value="[0-9][0-9]*.[0-9][0-9]*.[0-9]{1,4}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="skipType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="S"/>
|
||||
<xsd:enumeration value="P"/>
|
||||
<xsd:enumeration value=""/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
|
||||
</xsd:schema>
|
||||
|
|
|
|||
8
chirp_banks.xsd
Normal file
8
chirp_banks.xsd
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xsd:complexType name="bankType">
|
||||
<xsd:attribute name="id" type="xsd:nonNegativeInteger" use="required"/>
|
||||
<xsd:attribute name="label" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
|
||||
</xsd:schema>
|
||||
114
chirp_memory.xsd
Normal file
114
chirp_memory.xsd
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xsd:complexType name="memoryType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="shortName" type="shortNameType"/>
|
||||
<xsd:element name="longName" type="longNameType" minOccurs="0"/>
|
||||
<xsd:element name="frequency" type="frequencyType"/>
|
||||
<xsd:element name="squelch" type="squelchType"
|
||||
minOccurs="0" maxOccurs="3"/>
|
||||
<xsd:element name="squelchSetting" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="duplex" type="duplexType"/>
|
||||
<xsd:element name="offset" type="frequencyType"/>
|
||||
<xsd:element name="mode" type="modeType"/>
|
||||
<xsd:element name="tuningStep" type="frequencyType"/>
|
||||
<xsd:element name="skip" type="skipType" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="bank" type="bankInfoType" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="dv" type="dvType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="location" type="xsd:nonNegativeInteger"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="shortNameType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[A-Z0-9/ >]{0,6}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="frequencyType">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:decimal">
|
||||
<xsd:attribute name="units" type="freqUnitsType" use="required"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="freqUnitsType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="Hz"/>
|
||||
<xsd:enumeration value="kHz"/>
|
||||
<xsd:enumeration value="MHz"/>
|
||||
<xsd:enumeration value="GHz"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="longNameType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[A-Za-z0-9/ >]{0,8}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
|
||||
<xsd:complexType name="squelchType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="tone" type="xsd:decimal" minOccurs="0"/>
|
||||
<xsd:element name="code" type="xsd:positiveInteger" minOccurs="0"/>
|
||||
<xsd:element name="polarity" type="dtcsPolarityType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id"/>
|
||||
<xsd:attribute name="type"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="dtcsPolarityType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[RN]{2}"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="duplexType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="positive"/>
|
||||
<xsd:enumeration value="negative"/>
|
||||
<xsd:enumeration value="none"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="modeType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="FM"/>
|
||||
<xsd:enumeration value="NFM"/>
|
||||
<xsd:enumeration value="WFM"/>
|
||||
<xsd:enumeration value="AM"/>
|
||||
<xsd:enumeration value="NAM"/>
|
||||
<xsd:enumeration value="DV"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="dvType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="urcall" type="callsignType"/>
|
||||
<xsd:element name="rpt1call" type="callsignType"/>
|
||||
<xsd:element name="rpt2call" type="callsignType"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="callsignType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:pattern value="[A-Z0-9/ ]*"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="skipType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="S"/>
|
||||
<xsd:enumeration value="P"/>
|
||||
<xsd:enumeration value=""/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="bankInfoType">
|
||||
<xsd:attribute name="bankId" type="xsd:nonNegativeInteger" use="required"/>
|
||||
<xsd:attribute name="bankIndex" type="xsd:nonNegativeInteger"/>
|
||||
</xsd:complexType>
|
||||
|
||||
</xsd:schema>
|
||||
Loading…
Add table
Add a link
Reference in a new issue