ářčáářářčáář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>