Číselníky sa z definície dátovej štruktúry (XSD) referencujú vyžadovaním uvedenia šablóny referencovateľného identifikátora konkrétneho číselníka a referencovateľného identifikátora položky daného číselníka v dátovej štruktúre vyplneného formulára (XML).
Vysvetlenie:
V XSD sa formou šablóny (pattern) alebo enumeráciou bude vyžadovanie uvedenie konkrétneho tvaru URI, čím sa zabezpečí uvádzanie predpísanej hodnoty v dátovej štruktúre. Subjekt implementujúci danú dátovú štruktúru tak priamo z XSD bude môcť identifikovať, aký číselník má použiť.
Ide o doplnenie konkrétneho spôsobu naplnenia platnej požiadavky podľa bodu 2.3.13 prílohy č. 1 Vyhlášky č. 78/2020 Z. z.:
"2.3.13 Na identifikáciu vyžadovaného číselníka sa v definícii dátovej štruktúry elektronického formulára uvádza referencovateľný identifikátor použitého číselníka."
Príklad:
Pre nasledovný číselník typu konania a položku tohto číselníka:
<Proceedins>
<Identifier>611524368015371110003</Identifier>
<ReferenceIdentifier>https://data.gov.sk/id/egov/proceedings/611524368015371110003</ReferenceIdentifier>
<Type>
<Codelist>
<CodelistCode>CLXXXXXX</CodelistCode>
<ReferenceIdentifier>https://data.gov.sk/set/codelist/CL123456</ReferenceIdentifier>
<CodelistItem>
<ItemCode>35122</ItemCode>
<ReferenceIdentifier>https://data.gov.sk/def/proceedings-type/35122</ReferenceIdentifier>
<ItemName Language="sk">Elektronické konanie typu ABCD</ItemName>
</CodelistItem>
</Codelist>
</Type>
</Proceedins>
Budeme v XSD vynucovať predpísanú hodnotu nasledovne:
- a) Kód číselníka
...
<xs:element name="CodelistCode" type="xs:string"/>
<xs:element name="ReferenceIdentifier" type="CodelistReferenceIdentifierType"/>
...
<xs:simpleType name="CodelistReferenceIdentifierType" >
<xs:restriction base="xs:string">
<xs:enumeration value="https://data.gov.sk/set/codelist/CL123456" />
</xs:restriction>
</xs:simpleType>
- b) Šablóna položky číselníka
...
<xs:element name="ItemCode" type="xs:string"/>
<xs:element name="ReferenceIdentifier" type="CodelistItemReferenceIdentifierType"/>
...
<xs:simpleType name="CodelistItemReferenceIdentifierType" >
<xs:restriction base="xs:string">
<xs:pattern value="https://data\.gov\.sk/def/proceedings-type/*" />
</xs:restriction>
</xs:simpleType>