Egaischeque.joint.2.xml
Материал из Фабиус wiki
<?xml version="1.0" encoding="utf-8"?> <xs:schema id="Cheque" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="IN"> <xs:restriction base="xs:string"> <xs:pattern value="(\d{10}|\d{12})" /> </xs:restriction> </xs:simpleType>
<xs:simpleType name="KP"> <xs:restriction base="xs:string"> <xs:pattern value="(\d{9}|)" /> </xs:restriction> </xs:simpleType>
<xs:simpleType name="DT"> <xs:restriction base="xs:string"> <xs:pattern value="(((31(0[13578]|1[02])|((29|30)(0[1,3-9]|1[0-2]))|((0[1-9]|1\d|2[0-8])(0[1-9]|1[0-2])))\d{2})|(2902(0[48]|[2468][048]|[13579][26]|00)))([01]\d|2[0-3])[0-5]\d((\+|-)\d{4})?" /> </xs:restriction> </xs:simpleType>
<xs:simpleType name="BK"> <xs:restriction base="xs:string"> <xs:pattern value="\d\d[a-zA-Z0-9]{21}\d[0-1]\d[0-3]\d{10}[a-zA-Z0-9]{31}|[a-zA-Z0-9]{40}" /> </xs:restriction> </xs:simpleType>
<xs:simpleType name="EAN"> <xs:restriction base="xs:string"> <xs:pattern value="(\d{8}|\d{13}|\d{12}|\d{14})" /> </xs:restriction> </xs:simpleType>
<xs:simpleType name="PRICE"> <xs:restriction base="xs:string"> <xs:pattern value="[-]?\d+\.\d{0,2}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="VOLUME"> <xs:restriction base="xs:string"> <xs:pattern value="(\d+\.?\d{0,4}|)" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="ADDRESS"> <xs:restriction base="xs:string"> <xs:maxLength value="128" /> </xs:restriction> </xs:simpleType>
<xs:simpleType name="NAME"> <xs:restriction base="xs:string"> <xs:maxLength value="128" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="COUNT"> <xs:restriction base="xs:integer"> <xs:pattern value="[1-9][0-9]{0,9}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="CODE"> <xs:restriction base="xs:string"> <xs:pattern value="\d{3}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="NOEMPTY"> <xs:restriction base="xs:string"> <xs:pattern value="\S{1,128}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="ALCCODE"> <xs:restriction base="xs:string"> <xs:maxLength value="64"/> <xs:pattern value="\S+(.*\S+)*"/> </xs:restriction> </xs:simpleType>
<xs:element name="Bottle"> <xs:complexType> <xs:attribute name="price" type="PRICE" use="required" /> <xs:attribute name="barcode" type="BK" use="required" /> <xs:attribute name="ean" type="EAN" /> <xs:attribute name="volume" type="VOLUME" /> </xs:complexType> </xs:element> <xs:element name="nopdf"> <xs:complexType> <xs:attribute name="code" type="CODE" use="required"/> <xs:attribute name="price" type="PRICE" use="required"/> <xs:attribute name="bname" type="NAME" use="required" /> <xs:attribute name="alc" type="VOLUME" use="required" /> <xs:attribute name="volume" type="VOLUME" use="required" /> <xs:attribute name="ean" type="EAN" /> <xs:attribute name="count" type="COUNT" use="required" /> <xs:attribute name="alccode" type="ALCCODE" /> </xs:complexType> </xs:element>
<xs:element name="Cheque"> <xs:complexType> <xs:sequence> <xs:choice> <xs:element ref="Bottle" maxOccurs="unbounded" /> <xs:element ref="nopdf" maxOccurs="unbounded" /> </xs:choice> </xs:sequence> <xs:attribute name="inn" type="IN" use="required" /> <xs:attribute name="kpp" type="KP" /> <xs:attribute name="address" type="ADDRESS" use="required" /> <xs:attribute name="name" type="NAME" use="required" /> <xs:attribute name="kassa" type="NOEMPTY" use="required" /> <xs:attribute name="shift" type="COUNT" use="required" /> <xs:attribute name="number" type="COUNT" use="required" /> <xs:attribute name="datetime" type="DT" use="required" /> </xs:complexType> <xs:unique name="bottleBarcode"> <xs:selector xpath="Bottle" /> <xs:field xpath="@barcode" /> </xs:unique> </xs:element>
</xs:schema>