POS – xsd schéma datové věty pos09
(opraveno 16.1.08)
Schéma je určené pouze pro základní ověření XML dat (celková struktura, naplnění povinných položek,
základní ověření hodnoty položky: řetězec/číslo).
Podrobnější kontroly správnosti vyplnění datových položek jsou ponechány na aplikační úroveň.
*
Pozn: Nepovinný údaj v definici datové věty nutno chápat při kontrole pomocí xsd schematu jako
element/attribut s hodnotou prázdný řetězec.
<?xml version="1.0" encoding="UTF8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.cssz.cz/POSTP2009"
targetNamespace="http://schemas.cssz.cz/POSTP2009"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="POSTP">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1500">
<xs:element ref="pos09" />
</xs:sequence>
<xs:attribute name="version" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="pos09">
<xs:complexType>
<xs:sequence>
<xs:element ref="client" minOccurs="1" maxOccurs="1" />
<xs:element ref="items" minOccurs="1" maxOccurs="1" />
<xs:element ref="comp" minOccurs="1" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="sqnr" type="xs:integer" use="required" />
<xs:attribute name="typ" type="xs:integer" use="required" />
<xs:attribute name="dre" type="xs:string" use="required" />
<xs:attribute name="dep" type="xs:integer" use="required" />
<xs:attribute name="nam" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="client">
<xs:complexType>
<xs:sequence>
<xs:element ref="name" minOccurs="1" maxOccurs="1" />
<xs:element name="adr" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="cit" type="xs:string" use="required" />
<xs:attribute name="str" type="xs:string" use="required" />
<xs:attribute name="num" type="xs:string" use="required" />
<xs:attribute name="pos" type="xs:string" use="required" />
<xs:attribute name="pnu" type="xs:string" use="required" />
<xs:attribute name="cnt" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element ref="birth" minOccurs="1" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="bno" type="rodneCislo" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="items">
<xs:complexType>
<xs:sequence>
<xs:element ref="t1" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="comp">
<xs:complexType>
<xs:sequence>
<xs:element name="adr">
<xs:complexType>
<xs:attribute name="cit" type="xs:string" use="required" />
<xs:attribute name="str" type="xs:string" use="required" />
<xs:attribute name="num" type="xs:string" use="required" />
<xs:attribute name="pnu" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="nam" type="xs:string" use="required" />
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="vs" type="xs:integer" use="required" />
<xs:attribute name="cre" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="name">
<xs:complexType>
<xs:attribute name="sur" type="xs:string" use="required" />
<xs:attribute name="fir" type="xs:string" use="required" />
<xs:attribute name="tit" type="xs:string" use="required" />
<xs:attribute name="nat" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="birth">
<xs:complexType>
<xs:attribute name="dat" type="xs:string" use="required" />
<xs:attribute name="nam" type="xs:string" use="required" />
<xs:attribute name="cit" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="t1">
<xs:complexType>
<xs:attribute name="cod" type="xs:string" use="required" />
<xs:attribute name="fro" type="xs:string" use="required" />
<xs:attribute name="to" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:simpleType name="rodneCislo">
<xs:restriction base="xs:string">
<xs:pattern value="(\d{9,10})" />
</xs:restriction>
</xs:simpleType>
</xs:schema>