Files
2024-05-09 17:40:24 +02:00

123 lines
4.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by rth77 (rth77) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="SystemFlows">
<xs:annotation>
<xs:documentation>Tag root</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="FlowType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FlowType">
<xs:annotation>
<xs:documentation>Tipologia di tracciato</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ListFields"/>
</xs:sequence>
<xs:attribute name="flow" type="xs:string" use="required"/>
<xs:attribute name="fieldsNum" type="xs:int" use="required"/>
<xs:attribute name="separator" type="xs:string" use="optional"/>
<xs:attribute name="decorator" type="xs:string" use="optional"/>
<xs:attribute name="recordsNum" type="xs:int" use="optional"/>
<xs:attribute name="recordLength" type="xs:int" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="ListFields">
<xs:annotation>
<xs:documentation>List dei campi contenuti nel file</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="FixedFields"/>
<xs:element ref="DynamicFields"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FixedFields">
<xs:annotation>
<xs:documentation>Lista dei campi fissi del tracciato</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:sequence id="In" minOccurs="0" maxOccurs="unbounded">
<xs:element ref="InfoFieldsIn"/>
</xs:sequence>
<xs:sequence id="Out" minOccurs="0" maxOccurs="unbounded">
<xs:element ref="InfoFieldsOut"/>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="DynamicFields">
<xs:annotation>
<xs:documentation>Lista dei campi dinamici del tracciato</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="InfoFields"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InfoFields">
<xs:annotation>
<xs:documentation>Informazioni su un campo dinamico del tracciato</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="InfoFill"/>
</xs:sequence>
<xs:attribute name="position" type="xs:int" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
<xs:attribute name="fieldLength" type="xs:int" use="optional"/>
<xs:attribute name="maxFieldLength" type="xs:int" use="optional"/>
<xs:attribute name="pattern" type="xs:string" use="optional"/>
<xs:attribute name="patternType" type="tipoPatternTYPE" use="optional"/>
<xs:attribute name="fill" type="xs:boolean" use="optional"/>
<xs:attribute name="mandatory" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="InfoFieldsOut">
<xs:annotation>
<xs:documentation>Informazioni su un campo del tracciato in fase di scrittura </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="position" type="xs:int" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="InfoFieldsIn">
<xs:annotation>
<xs:documentation>Informazioni su un campo del tracciato in fase di lettura</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="position" type="xs:int" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
<xs:attribute name="propertyName" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="InfoFill">
<xs:annotation>
<xs:documentation>Informazioni sul fill di un campo del tracciato</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="fillValue" type="xs:string" use="optional"/>
<xs:attribute name="fillPosition" type="tipoFillTYPE" use="optional"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="tipoFillTYPE">
<xs:restriction base="xs:string">
<xs:pattern value="DX|SX"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tipoPatternTYPE">
<xs:restriction base="xs:int">
<xs:pattern value="1|2|3|4"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>