Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpdev/build/databinding/schema/crontab/Crontab-config.xsd
2024-05-13 12:54:14 +02:00

130 lines
4.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Crontab-config">
<xs:complexType>
<xs:sequence>
<xs:element ref="TaskList"/>
<xs:element ref="ProcessList"/>
</xs:sequence>
<xs:attribute name="ver" type="xs:string" use="required"/>
<xs:attribute name="subver" type="xs:int" use="optional" default="0"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<xs:key name="ProcessKey">
<xs:selector xpath=".//ProcessDef"/>
<xs:field xpath="@ID"/>
</xs:key>
<xs:keyref name="ProcessKeyRef" refer="ProcessKey">
<xs:selector xpath=".//ProcessRef"/>
<xs:field xpath="@value"/>
</xs:keyref>
<xs:keyref name="BlockingProcessKeyRef" refer="ProcessKey">
<xs:selector xpath=".//BlockingProcessKeyRef"/>
<xs:field xpath="@value"/>
</xs:keyref>
</xs:element>
<xs:simpleType name="dayOfWeekType">
<xs:restriction base="xs:string">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="6"/>
<xs:totalDigits value="1"/>
<xs:minLength value="3"/>
<xs:maxLength value="3"/>
<xs:length value="3"/>
<xs:enumeration value="Dom"/>
<xs:enumeration value="Lun"/>
<xs:enumeration value="Mar"/>
<xs:enumeration value="Mer"/>
<xs:enumeration value="Gio"/>
<xs:enumeration value="Ven"/>
<xs:enumeration value="Sab"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="EmptyElement"/>
<xs:element name="ProcessList">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessDef"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ProcessDef">
<xs:complexType>
<xs:sequence>
<xs:element ref="BlockingProcessListRef" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:string" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="desc" type="xs:string" use="optional"/>
<xs:attribute name="comando" type="xs:string" use="required"/>
<xs:attribute name="parametri" type="xs:string" use="optional"/>
<xs:attribute name="enabled" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="ProcessRef">
<xs:complexType>
<xs:attribute name="value" type="xs:string" use="required"/>
<xs:attribute name="enabled" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="BlockingProcessRef">
<xs:complexType>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="windowsTime">
<xs:complexType>
<xs:attribute name="start-at" type="xs:time" use="required"/>
<xs:attribute name="last-start" type="xs:time" use="optional"/>
<xs:attribute name="every" type="xs:int" use="optional" default="0"/>
<xs:attribute name="start-dayOfWeek" type="dayOfWeekType" use="optional"/>
<xs:attribute name="start-dayOfMonth" type="xs:short" use="optional"/>
<xs:attribute name="maxTimeAfterLastStart" type="xs:int" use="optional"/>
<xs:attribute name="idRule" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="Schedulation">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="windowsTime"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Task">
<xs:complexType>
<xs:sequence>
<xs:element ref="Schedulation"/>
<xs:element ref="ProcessListRef"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="desc" type="xs:string" use="optional"/>
<xs:attribute name="note" type="xs:string" use="optional"/>
<xs:attribute name="createAt" type="xs:dateTime" use="required"/>
<xs:attribute name="lastUpdate" type="xs:dateTime" use="required"/>
<xs:attribute name="enabled" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="TaskList">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Task"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ProcessListRef">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessRef"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BlockingProcessListRef">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="BlockingProcessRef"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>