ářčáářářčáářELDP – xsd schéma datové věty eldp09

 

(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="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

    xmlns="http://schemas.cssz.cz/ELDP09"

    targetNamespace="http://schemas.cssz.cz/ELDP09"

    elementFormDefault="qualified"

    attributeFormDefault="unqualified">

 

  <xs:element name="RELDP">

    <xs:complexType>

      <xs:sequence minOccurs="1" maxOccurs="1500">

        <xs:element ref="eldp09"/>

      </xs:sequence>

      <xs:attribute name="version" type="xs:string" use="required"/>

    </xs:complexType>

  </xs:element>

 

  <xs:element name="eldp09">

    <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="yer" 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="tco" 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 ref="adr" minOccurs="1" maxOccurs="1"/>

        <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="3"/>

      </xs:sequence>

      <xs:attribute name="coun" type="xs:integer" use="required"/>

      <xs:attribute name="sdex" type="xs:string" use="required"/>

      <xs:attribute name="sinc" type="xs:integer" use="required"/>

      <xs:attribute name="sdar" type="xs:string" use="required"/>

    </xs:complexType>

  </xs:element>

 

  <xs:element name="comp">

    <xs:complexType>

      <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:attribute name="fro" 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:complexType>

  </xs:element>

 

  <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="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 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="row" type="xs:integer" use="required"/>

      <xs:attribute name="cod" type="xs:string" use="required"/>

      <xs:attribute name="sre" type="xs:string" use="required"/>

      <xs:attribute name="fro" type="xs:string" use="required"/>

      <xs:attribute name="to" type="xs:string" use="required"/>

      <xs:attribute name="din" type="xs:integer" use="required"/>

      <xs:attribute name="m1" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m2" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m3" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m4" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m5" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m6" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m7" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m8" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m9" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m10" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m11" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m12" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="m13" type="mesicBezPojisteni" use="required"/>

      <xs:attribute name="inc" type="xs:integer" use="required"/>

      <xs:attribute name="dex" type="xs:string" use="required"/>

      <xs:attribute name="dar" 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:simpleType name="mesicBezPojisteni">

    <xs:restriction base="xs:string">

      <xs:enumeration value=""/>

      <xs:enumeration value="x"/>

      <xs:enumeration value="X"/>

    </xs:restriction>

  </xs:simpleType>

 

</xs:schema>