Files
cms_thermo_active/Thermo.Active.Config/Config/maintenancesConfigValidator.xsd
T
2020-04-09 13:15:01 +02:00

124 lines
4.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="maintenancesConfig">
<xs:complexType>
<xs:all>
<xs:element name="cmsContacts">
<xs:complexType>
<xs:all>
<xs:element name="MainOffice" type="contactType"></xs:element>
<xs:element name="AuxOffice1" type="auxContactType"></xs:element>
<xs:element name="AuxOffice2" type="auxContactType"></xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="scmContacts">
<xs:complexType>
<xs:all>
<xs:element name="MainOffice" type="contactType"></xs:element>
<xs:element name="AuxOffice1" type="auxContactType"></xs:element>
<xs:element name="AuxOffice2" type="auxContactType"></xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="maintenances">
<xs:complexType>
<xs:sequence>
<!-- Maintenance -->
<xs:element name="maintenance" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="id" type="xs:int" />
<xs:element name="localizedName">
<xs:complexType>
<xs:sequence>
<xs:element name="lang" type="langType" minOccurs="0" maxOccurs="unbounded">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="interval" type="xs:string" />
<xs:element name="deadline" type="xs:string" />
<xs:element name="localizedDescription">
<xs:complexType>
<xs:sequence>
<xs:element name="lang" type="langType" minOccurs="0" maxOccurs="unbounded">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="unitOfMeasure" type="unitOfMeasureType" />
<xs:element name="type" type="maintenanceType" />
<xs:element name="counterId" type="xs:unsignedInt"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- Unique id constraint -->
<xs:unique name="uniqueId">
<xs:selector xpath="maintenance"/>
<xs:field xpath="id" />
</xs:unique>
<!-- Unique language id constraint -->
<xs:unique name="uniqueLangKey">
<xs:selector xpath="lang" />
<xs:field xpath="@langKey" />
</xs:unique>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<!-- Language Type -->
<xs:complexType name="langType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="langKey" use="required" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Contact Type -->
<xs:complexType name="contactType">
<xs:all>
<xs:element name="company" minOccurs='1' maxOccurs='1'/>
<xs:element name="email" minOccurs='1' maxOccurs='1'/>
<xs:element name="phoneNumber" minOccurs='1' maxOccurs='1'/>
<xs:element name="moreInfoUrl" minOccurs='1' maxOccurs='1'/>
</xs:all>
</xs:complexType>
<xs:complexType name="auxContactType">
<xs:all>
<xs:element name="visible" minOccurs='1' maxOccurs='1'/>
<xs:element name="name" minOccurs='1' maxOccurs='1'/>
<xs:element name="email" minOccurs='1' maxOccurs='1'/>
<xs:element name="phoneNumber" minOccurs='1' maxOccurs='1'/>
</xs:all>
</xs:complexType>
<!-- Maintenance Type -->
<xs:simpleType name="maintenanceType" final="restriction">
<xs:restriction base="xs:string">
<xs:enumeration value="MACHINE_INTERVAL" />
<xs:enumeration value="TIME_INTERVAL" />
<xs:enumeration value="EXP_DATE" />
</xs:restriction>
</xs:simpleType>
<!-- Unit of measure Type -->
<xs:simpleType name="unitOfMeasureType" final="restriction">
<xs:restriction base="xs:string">
<xs:enumeration value="mm" />
<xs:enumeration value="H" />
<xs:enumeration value="D" />
<xs:enumeration value="M" />
<xs:enumeration value="Y" />
</xs:restriction>
</xs:simpleType>
</xs:schema>