XSD - špecifické dátové typy

Last modified by vojtech_slovik on 2016/05/18 16:55

Gestor: dodávateľ MetaIS

Návrh zaslal Pavol Rybár 4.5.2015

SpecificDataTypesSchema.v1.0.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!-- Priklad schemy pre ucely lego systemu pre D.3 Osobitne datove typy podla prilohy c. 2 vynosu c. 55/2014 Z. z. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" id="SpecificDataTypesSchema">

   <xs:element name="SpecificDataTypes" type="SpecificDataTypesCType"/>

   <xs:complexType name="SpecificDataTypesCType">
       <xs:sequence>
           <xs:element name="DataElementWithHistory" type="DataElementWithHistorySCType" maxOccurs="unbounded"/>
           <xs:element name="LocalizedDataElement" type="LocalizedDataElementSCType" maxOccurs="unbounded"/>
           <xs:element name="LocalizedDataElementWithHistory" type="LocalizedDataElementWithHistorySCType" maxOccurs="unbounded"/>
           <xs:element name="CodelistDataElement" type="CodelistDataElementCType"/>
           <xs:element name="CodelistDataElementWithHistory" type="CodelistDataElementWithHistoryCType"/>
       </xs:sequence>
   </xs:complexType>

   <xs:complexType name="CodelistDataElementWithHistoryCType">
       <xs:annotation>
           <xs:documentation xml:lang="sk">
                D.3.5 Zlozeny datovy prvok so sledovanim historickych zmien obsahu, pouzivajuci udaje podla zakladnych ciselnikov.
                Hodnoty: Podradene prvky sa vyplnaju v sulade s datovym prvkom pre zakladny ciselnik.
                Pravidla pouzitia: Pri prenose nepodpisanych udajov vychadzajucich z udajov zakladneho ciselnika je povinne pouzitie tohto datoveho prvku povinne. Tento datovy prvok sa nepouzije bez atributu „Current“ a „EffectiveFrom“ a ak ma datovy prvok ukoncenu platnost, tak ani bez atributu „EffectiveTo“. Povinnou sucastou tohto datoveho prvku su datove prvky D.5.1 Kod ciselnika, D.5.9 Polozka ciselnika, D.5.9.1 Kod polozky a D.5.9.2 Nazov polozky v tomto poradi. Atributy Current, EffectiveFrom a EffectiveTo nie su v jednotlivych podradenych datovych prvkoch pri prenose udajov povinne.
           </xs:documentation>
       </xs:annotation>
       <xs:complexContent>
           <xs:extension base="CodelistDataElementCType">
               <xs:attributeGroup ref="HistoryAGroup"/>
           </xs:extension>
       </xs:complexContent>
   </xs:complexType>

   <xs:complexType name="CodelistDataElementCType">
       <xs:annotation>
           <xs:documentation xml:lang="sk">
                D.3.4 Zlozeny datovy prvok pouzivajuci udaje podla zakladnych ciselnikov.
                Hodnoty: Neobsahuje.
           </xs:documentation>
       </xs:annotation>
       <xs:choice>
           <xs:element name="NonCodelistData" type="NonCodelistDataCType" minOccurs="0" nillable="true">
               <xs:annotation>
                   <xs:documentation xml:lang="sk">
                        D.3.4.1 Obsahuje volnu neciselnikovu hodnotu.
                        Pravidla pouzitia: Pouziva sa ak hodnotu nie je mozne najst v ciselniku, pricom vtedy je povinny.
                        Poznamky: Hodnotu nie je spravidla mozne najst ak sa jedna o zahranicnu informaciu zo zahranicia, napriklad ak sa v suvislosti so slovenskym ciselnikom obci jedna o obec zo zahranicia.
                   </xs:documentation>
               </xs:annotation>
           </xs:element>

           <xs:element name="Codelist" type="CodelistCType">
               <xs:annotation>
                   <xs:documentation xml:lang="sk">
                        D.5 Zlozeny datovy prvok, ktory obsahuje polozku zo zakladneho ciselnika.
                        Pravidla pouzitia: Pri prenose nepodpisanych udajov vychadzajucich z udajov zakladneho ciselnika je povinne pouzitie tohto datoveho prvku povinne. Povinnou sucastou tohto datoveho prvku su datove prvky D.5.1 Kod ciselnika, D.5.9 Polozka ciselnika, D.5.9.1 Kod polozky a D.5.9.2 Nazov polozky v tomto poradi. Atributy Current, EffectiveFrom a EffectiveTo nie su v jednotlivych podradenych datovych prvkoch pri prenose udajov povinne.
                   </xs:documentation>
               </xs:annotation>
           </xs:element>
       </xs:choice>
   </xs:complexType>

   <xs:complexType name="CodelistCType">
       <xs:annotation>
           <xs:documentation xml:lang="sk">
                D.5 Zlozeny datovy prvok, ktory obsahuje polozku zo zakladneho ciselnika.
                Pravidla pouzitia: Pri prenose nepodpisanych udajov vychadzajucich z udajov zakladneho ciselnika je povinne pouzitie tohto datoveho prvku povinne. Povinnou sucastou tohto datoveho prvku su datove prvky D.5.1 Kod ciselnika, D.5.9 Polozka ciselnika, D.5.9.1 Kod polozky a D.5.9.2 Nazov polozky v tomto poradi. Atributy Current, EffectiveFrom a EffectiveTo nie su v jednotlivych podradenych datovych prvkoch pri prenose udajov povinne.
           </xs:documentation>
       </xs:annotation>
       <xs:sequence>
           <xs:element name="CodelistCode" type="CodelistCodeType">
               <xs:annotation>
                   <xs:documentation xml:lang="sk">
                        D.5.1 Jedinecny kod zakladneho ciselnika.
                        Poznamky: Textova struktura sa tvori CLXXXXXX, pricom znaky X predstavuju cifry.
                   </xs:documentation>
               </xs:annotation>
           </xs:element>

           <xs:element name="CodelistItem" type="CodelistItemCType">
               <xs:annotation>
                   <xs:documentation xml:lang="sk">
                        D.5.9 Zlozeny datovy prvok pre jednotlive polozky ciselnika.
                        Pravidla pouzitia: Moze byt pouzity viackrat. Ciselnik musi obsahovat najmenej jednu polozku ciselnika.
                        Hodnoty: Neobsahuje.
                   </xs:documentation>
               </xs:annotation>
           </xs:element>
       </xs:sequence>
   </xs:complexType>

   <xs:complexType name="CodelistItemCType">
       <xs:annotation>
           <xs:documentation xml:lang="sk">
                D.5.9 Zlozeny datovy prvok na popis datovej struktury polozky ciselnika.
                Pravidla pouzitia: Moze byt pouzity viackrat. Ciselnik musi obsahovat najmenej jednu polozku ciselnika.
                Hodnoty: Neobsahuje.
           </xs:documentation>
       </xs:annotation>
       <xs:sequence>
           <xs:element name="ItemCode" type="ItemCodeType">
               <xs:annotation>
                   <xs:documentation xml:lang="sk">
                        D.5.9.1 Jedinecny kod polozky.
                        Poznámky: Spravidla je tvorený desiatimi znakmi.
                   </xs:documentation>
               </xs:annotation>
           </xs:element>

           <xs:element name="ItemName" type="ItemNameLocHisSCType">
               <xs:annotation>
                   <xs:documentation xml:lang="sk">
                        D.5.9.2 Uplny nazov polozky.
                        Hodnoty: Nema predpisany obsah. Na umoznenie spracovania problematickych hodnot sa poskytuje polozka s nazvom „Ine“ a podobne, pricom sa spravidla prislusnou obsluznou aplikaciou poskytuje moznost volne vyplnatelneho datoveho pola. Priklady pouzitia: Slobodny, Zenaty, Iny stav, Spolocnost s rucenim obmedzenym, Riadiaci vybor exekutivneho organu.
                        Pravidla pouzitia: Kazda jazykova verzia sa k prislusnemu datumu ucinnosti pouziva iba raz, pricom atribut „language“ sluzi na urcenie jazyka, v ktorom je polozka vytvorena.
                   </xs:documentation>
               </xs:annotation>
           </xs:element>
       </xs:sequence>
   </xs:complexType>

   <xs:complexType name="DataElementWithHistorySCType">
       <xs:annotation>
           <xs:documentation xml:lang="sk">
                D.3.1 Osobitny datovy typ pre datove prvky so sledovanim historickych zmien ich obsahu.
                Hodnoty: Obsahuje vlastnu hodnotu prislusneho datoveho prvku v danom casovom obdobi.
                Pravidla pouzitia: Tento datovy prvok sa nepouzije bez atributu „Current“ a „EffectiveFrom“ a ak ma datovy prvok ukoncenu platnost, tak ani bez atributu „EffectiveTo“. Moze byt pouzity viackrat.
           </xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
           <xs:extension base="xs:string">
               <xs:attributeGroup ref="HistoryAGroup"/>
           </xs:extension>
       </xs:simpleContent>
   </xs:complexType>

   <xs:complexType name="LocalizedDataElementSCType">
       <xs:annotation>
           <xs:documentation xml:lang="sk">
                D.3.2 Osobitny datovy typ pre jazykove verzie datovych prvkov.
                Hodnoty: Obsahuje vlastnu hodnotu prislusnej jazykovej verzie identifikovanej atributom „language“.
                Pravidla pouzitia: Tento datovy prvok sa nepouzije bez atributu „language“. Moze byt pouzity viackrat, ale pre jednu jazykovu verziu iba jeden krat.
           </xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
           <xs:extension base="xs:string">
               <xs:attributeGroup ref="LocalizedAGroup"/>
           </xs:extension>
       </xs:simpleContent>
   </xs:complexType>

   <xs:complexType name="LocalizedDataElementWithHistorySCType">
       <xs:annotation>
           <xs:documentation xml:lang="sk">
                D.3.3 Osobitny datovy typ pre jazykove verzie datovych prvkov so sledovanim historickych zmien ich obsahu.
                Hodnoty: Obsahuje vlastnu hodnotu prislusnej jazykovej verzie identifikovanej atributom „language“ v danom casovom obdobi.
                Pravidla pouzitia: Tento datovy prvok sa nepouzije bez atributu „Language“, „Current“ a „EffectiveFrom“, a ak ma datovy prvok ukoncenu platnost, tak ani bez atributu „EffectiveTo“. Moze byt pouzity viackrat, ale pre jednu jazykovu verziu v jednom case iba jeden krat.
           </xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
           <xs:extension base="xs:string">
               <xs:attributeGroup ref="LocalizedAGroup"/>
               <xs:attributeGroup ref="HistoryAGroup"/>
           </xs:extension>
       </xs:simpleContent>
   </xs:complexType>

   <xs:complexType name="ItemNameLocHisSCType">
       <xs:simpleContent>
           <xs:restriction base="ItemNameBaseLocHisSCType">
               <xs:minLength value="1"/>
               <xs:maxLength value="2047"/>
           </xs:restriction>
       </xs:simpleContent>
   </xs:complexType>

   <xs:complexType name="ItemNameBaseLocHisSCType">
       <xs:simpleContent>
           <xs:extension base="xs:string">
               <xs:attributeGroup ref="LocalizedOptionalAGroup"/>
               <xs:attributeGroup ref="HistoryOptionalAGroup"/>
           </xs:extension>
       </xs:simpleContent>
   </xs:complexType>

   <xs:simpleType name="NonCodelistDataCType">
       <xs:restriction base="xs:string">
           <xs:minLength value="1"/>
           <xs:maxLength value="2047"/>
       </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="CodelistCodeType">
       <xs:restriction base="xs:string">
           <xs:minLength value="1"/>
           <xs:maxLength value="100"/>
       </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="ItemCodeType">
       <xs:restriction base="xs:string">
           <xs:minLength value="1"/>
           <xs:maxLength value="255"/>
       </xs:restriction>
   </xs:simpleType>

   <xs:attributeGroup name="LocalizedAGroup">
       <xs:attribute name="language" type="xs:string" use="required">
           <xs:annotation>
               <xs:documentation xml:lang="sk">
                    Obsahuje identifikaciu pouziteho jazyka.
                    Hodnoty: Vyplna sa v sulade s datovym prvkom „Kod polozky“ podla zakladneho ciselnika CL010076 Jazyky.
                    Zalozene na: RFC 5646: Znacky pre identifikaciu jazykov. STN ISO 639-1 Kody nazvov jazykov. Cast 1: Dvojmiestne abecedne kody (01 0400). STN ISO 639-2 Kody nazvov jazykov. Cast 2: Trojmiestne abecedne kody (01 0400).
               </xs:documentation>
           </xs:annotation>
       </xs:attribute>
   </xs:attributeGroup>

   <xs:attributeGroup name="HistoryAGroup">
       <xs:attribute name="current" type="xs:boolean" use="required">
           <xs:annotation>
               <xs:documentation xml:lang="sk">
                    Obsahuje oznacenie, ci je prislusny datovy prvok historicky posledny aktualny.
                    Hodnoty: „true“ – je aktualne ucinny, „false“ – jeho ucinnost bola ukoncena.
                    Poznamky: Je urceny na zrychlene vyhladanie aktualne ucinnych hodnot.
               </xs:documentation>
           </xs:annotation>
       </xs:attribute>
       <xs:attribute name="effectiveFrom" type="xs:date" use="required">
           <xs:annotation>
               <xs:documentation xml:lang="sk">
                    Datum, od ktoreho datovy prvok nadobudol ucinnost, to znamena, odkedy je relevantne pouzitelny.
                    Hodnoty: Podla formatu Date. Presnost je na urovni dna.
               </xs:documentation>
           </xs:annotation>
       </xs:attribute>
       <xs:attribute name="effectiveTo" type="xs:date">
           <xs:annotation>
               <xs:documentation xml:lang="sk">
                    Datum, kedy bola ucinnost datoveho prvku ukoncena, to znamena, dokedy je este relevantne pouzitelny.
                    Hodnoty: Podla formatu Date. Presnost je na urovni dna. Ak ucinnost nie je ukoncena, neobsahuje ziadnu hodnotu.
                    Pravidla pouzitia: Koniec ucinnosti nemoze byt skorsi ako zaciatok ucinnosti.
               </xs:documentation>
           </xs:annotation>
       </xs:attribute>
   </xs:attributeGroup>

   <xs:attributeGroup name="LocalizedOptionalAGroup">
       <xs:attribute name="language" type="xs:string"/>
   </xs:attributeGroup>

   <xs:attributeGroup name="HistoryOptionalAGroup">
       <xs:attribute name="current" type="xs:boolean"/>
       <xs:attribute name="effectiveFrom" type="xs:date"/>
       <xs:attribute name="effectiveTo" type="xs:date"/>
   </xs:attributeGroup>

</xs:schema>