1
0
Files
Rihards Gailums 8c2a006427 MK-noteikumi-as-Code 0.1: vienota datu struktūra MK noteikumiem un pirmie četri noteikumi
Datu struktūra schemas/mk-noteikumi-0.1.xsd; rīki convert.py (vestnesis.lv un likumi.lv), build_all.py (lejuplāde, pārveide, pārbaude pret avota lapu), validate.py. Noteikumi Nr. 322 (2006), Nr. 982 (2006), Nr. 635 (2023), Nr. 821 (2023) no oficiālās publikācijas — likumi.lv slēgts, vēlākie grozījumi nav iestrādāti. Datu līgums contracts/B19-mk-noteikumi.odcs.yaml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
2026-10-22 17:38:04 +00:00

224 lines
14 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
MK-noteikumi-as-Code — Ministru kabineta noteikumi kā dati, vienota datu struktūra v0.1
PPP Asociācija (PPPA), Valsts PirmKods. Melnraksts.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:pppa:vpk:mk-noteikumi:0.1"
xmlns:n="urn:pppa:vpk:mk-noteikumi:0.1"
targetNamespace="urn:pppa:vpk:mk-noteikumi:0.1"
elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1" xml:lang="lv">
<xs:annotation>
<xs:documentation xml:lang="lv">
Ministru kabineta noteikumi (Ministru kabineta iekārtas likuma 31. pants) kā strukturēti dati — viena datu struktūra
jebkuriem MK noteikumiem: tiesību akta pase, izdošanas pamatojums, nodaļas un apakšnodaļas, punkti un apakšpunkti
(arī svītrotie), norādes par grozījumiem, pārejas un noslēguma noteikumi, informatīvā atsauce uz Eiropas Savienības
tiesību aktiem, parakstītāji un pielikumi.
Teksts — burtiski kā avotā. Avots ir vai nu konsolidētā redakcija (likumi.lv), vai oficiālā publikācija
(„Latvijas Vēstnesis”, vestnesis.lv); to norāda TextVersion@basis. Oficiālajā publikācijā vēlākie grozījumi nav
iestrādāti — tie uzskaitīti TextVersion/Amendment. Juridiski saistošs ir oficiālajā izdevumā publicētais teksts.
Atbildīgo ministriju norāda ar VPK ID no Valsts institūciju reģistra (Organizations_register).
Identifikatori (GGGG — pieņemšanas gads, NNN — noteikumu numurs bez priekšējām nullēm):
noteikumi lv-mkn-GGGG-NNN
nodaļa lv-mkn-GGGG-NNN.c2, apakšnodaļa .c2.1 (kārtas numurs dokumentā, ne drukātais numurs)
punkts lv-mkn-GGGG-NNN.p3, .p3.1, .p3.1.2 (drukātais numurs; augšraksts 4.2¹ → p4.2s1);
uzskaitījuma elements „1)” punktā 3 → .p3.i1
ES atsauce lv-mkn-GGGG-NNN.eu, tās elementi .eu.1, .eu.2
pielikums lv-mkn-GGGG-NNN.a1
Datnes nosaukums: data/lv-mkn-GGGG-NNN.xml.
</xs:documentation>
</xs:annotation>
<xs:simpleType name="NonEmptyText"><xs:restriction base="xs:string"><xs:minLength value="1"/></xs:restriction></xs:simpleType>
<xs:simpleType name="OrgId"><xs:restriction base="xs:string"><xs:pattern value="[0-9]{2}-[0-9]{4}"/></xs:restriction></xs:simpleType>
<xs:simpleType name="DocId"><xs:restriction base="xs:string"><xs:pattern value="lv-mkn-[0-9]{4}-[1-9][0-9]*"/></xs:restriction></xs:simpleType>
<xs:simpleType name="ElementId"><xs:restriction base="xs:string">
<xs:pattern value="lv-mkn-[0-9]{4}-[1-9][0-9]*\.(c[0-9]+(\.[0-9]+)*|p[0-9]+(s[0-9]+)?(\.[0-9]+(s[0-9]+)?)*(\.i[0-9]+)?|eu(\.[0-9]+)?|a[0-9]+)"/>
</xs:restriction></xs:simpleType>
<xs:simpleType name="Sha256"><xs:restriction base="xs:string"><xs:pattern value="[0-9a-f]{64}"/></xs:restriction></xs:simpleType>
<xs:simpleType name="TextBasis">
<xs:annotation><xs:documentation xml:lang="lv">
consolidated = konsolidētā redakcija (likumi.lv) ar grozījumiem uz AsOf datumu; original = oficiālā publikācija
(„Latvijas Vēstnesis”) kā pieņemta, bez vēlākajiem grozījumiem.
</xs:documentation></xs:annotation>
<xs:restriction base="xs:string"><xs:enumeration value="consolidated"/><xs:enumeration value="original"/></xs:restriction>
</xs:simpleType>
<xs:simpleType name="ChapterKind">
<xs:annotation><xs:documentation xml:lang="lv">
general = vispārīgie jautājumi (noteikumu priekšmets, termini, piemērošanas joma); substantive = cita satura nodaļa;
transitional = pārejas noteikumi; final = noslēguma jautājumi; none = noteikumi bez nodaļām (viena nodaļa bez virsraksta).
</xs:documentation></xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="general"/><xs:enumeration value="substantive"/><xs:enumeration value="transitional"/>
<xs:enumeration value="final"/><xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PointKind">
<xs:annotation><xs:documentation xml:lang="lv">
Punkta veids, noteikts pēc teksta (norāde, nav juridiska kvalifikācija):
scope = ko noteikumi nosaka („Noteikumi nosaka …”); definition = termina skaidrojums; lead = ievadteikums
uzskaitījumam (beidzas ar kolu); item = uzskaitījuma elements; provision = cits noteikums; transitional = pārejas
noteikums; repeal = cita akta atzīšana par spēku zaudējušu; in_force = spēkā stāšanās noteikums;
deleted = punkts svītrots (tikai konsolidētajā redakcijā).
</xs:documentation></xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="scope"/><xs:enumeration value="definition"/><xs:enumeration value="lead"/>
<xs:enumeration value="item"/><xs:enumeration value="provision"/><xs:enumeration value="transitional"/>
<xs:enumeration value="repeal"/><xs:enumeration value="in_force"/><xs:enumeration value="deleted"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="CabinetRegulation">
<xs:complexType>
<xs:sequence>
<xs:element name="Act" type="ActType"/>
<xs:element name="TextVersion" type="TextVersionType"/>
<xs:element name="Source" type="SourceType"/>
<xs:element name="LegalBasis" type="NonEmptyText" minOccurs="0">
<xs:annotation><xs:documentation xml:lang="lv">„Izdoti saskaņā ar …” — kā drukāts.</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Chapter" type="ChapterType" maxOccurs="unbounded"/>
<xs:element name="EuReference" type="EuReferenceType" minOccurs="0">
<xs:annotation><xs:documentation xml:lang="lv">„Informatīvā atsauce uz Eiropas Savienības direktīvām” (vai regulām).</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Signatory" minOccurs="0" maxOccurs="unbounded">
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText">
<xs:attribute name="role" type="NonEmptyText" use="required"/>
</xs:extension></xs:simpleContent></xs:complexType>
</xs:element>
<xs:element name="Annex" type="AnnexType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DataVersion" maxOccurs="unbounded">
<xs:complexType><xs:sequence><xs:element name="Change" type="NonEmptyText" maxOccurs="unbounded"/></xs:sequence>
<xs:attribute name="number" type="xs:positiveInteger" use="required"/>
<xs:attribute name="date" type="xs:date" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="DocId" use="required"/>
<xs:attribute name="schemaVersion" type="xs:string" use="required" fixed="0.1"/>
</xs:complexType>
<xs:key name="elementKey"><xs:selector xpath=".//n:Chapter|.//n:Point|n:EuReference|n:EuReference/n:Item|n:Annex"/><xs:field xpath="@id"/></xs:key>
</xs:element>
<xs:complexType name="ActType">
<xs:annotation><xs:documentation xml:lang="lv">Tiesību akta pase.</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="Title" type="NonEmptyText"/>
<xs:element name="Issuer" type="NonEmptyText"/>
<xs:element name="Type" type="NonEmptyText"/>
<xs:element name="Number" type="xs:positiveInteger"/>
<xs:element name="Adopted" type="xs:date"/>
<xs:element name="Protocol" type="NonEmptyText" minOccurs="0"><xs:annotation><xs:documentation xml:lang="lv">„prot. Nr. 56 10. §” — kā drukāts.</xs:documentation></xs:annotation></xs:element>
<xs:element name="ResponsibleInstitution" minOccurs="0">
<xs:annotation><xs:documentation xml:lang="lv">Atbildīgā ministrija (tiesību akta pasē vai pēc parakstītāja amata) un tās VPK ID.</xs:documentation></xs:annotation>
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText">
<xs:attribute name="org" type="OrgId"/>
<xs:attribute name="basis" type="NonEmptyText"><xs:annotation><xs:documentation xml:lang="lv">Kā noteikta: pase (likumi.lv) vai signatory (pēc ministra paraksta).</xs:documentation></xs:annotation></xs:attribute>
</xs:extension></xs:simpleContent></xs:complexType>
</xs:element>
<xs:element name="Published" type="PublicationType"/>
<xs:element name="InForce" type="xs:date" minOccurs="0"/>
<xs:element name="Status" type="NonEmptyText" minOccurs="0"/>
<xs:element name="LikumiId" type="xs:positiveInteger" minOccurs="0"><xs:annotation><xs:documentation xml:lang="lv">likumi.lv dokumenta numurs (to pašu lieto vestnesis.lv/ta/id/…).</xs:documentation></xs:annotation></xs:element>
<xs:element name="Url" type="xs:anyURI"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PublicationType">
<xs:annotation><xs:documentation xml:lang="lv">Oficiālā publikācija: „Latvijas Vēstnesis”, gads, laidiena numurs; OpId — vestnesis.lv publikācijas numurs (2023/218.6).</xs:documentation></xs:annotation>
<xs:simpleContent><xs:extension base="NonEmptyText">
<xs:attribute name="year" type="xs:gYear"/>
<xs:attribute name="issue" type="NonEmptyText"/>
<xs:attribute name="opId" type="NonEmptyText"/>
</xs:extension></xs:simpleContent>
</xs:complexType>
<xs:complexType name="TextVersionType">
<xs:sequence>
<xs:element name="Amendment" minOccurs="0" maxOccurs="unbounded">
<xs:annotation><xs:documentation xml:lang="lv">Grozījumi, kas pieņemti pēc šīs teksta versijas un tajā NAV iestrādāti (basis=original).</xs:documentation></xs:annotation>
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText">
<xs:attribute name="number" type="xs:positiveInteger"/>
<xs:attribute name="adopted" type="xs:date"/>
<xs:attribute name="published" type="NonEmptyText"/>
<xs:attribute name="url" type="xs:anyURI"/>
</xs:extension></xs:simpleContent></xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="basis" type="TextBasis" use="required"/>
<xs:attribute name="asOf" type="xs:date" use="required"><xs:annotation><xs:documentation xml:lang="lv">consolidated — redakcijas datums; original — publikācijas datums.</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
<xs:complexType name="SourceType">
<xs:sequence>
<xs:element name="File" type="NonEmptyText"><xs:annotation><xs:documentation xml:lang="lv">sources/lv-mkn-GGGG-NNN.txt — avota teksts pa rindām.</xs:documentation></xs:annotation></xs:element>
<xs:element name="SHA256" type="Sha256"/>
<xs:element name="Retrieved" type="xs:date"/>
<xs:element name="Url" type="xs:anyURI"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ChapterType">
<xs:sequence>
<xs:element name="Title" type="NonEmptyText" minOccurs="0"/>
<xs:element name="Note" type="NonEmptyText" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Point" type="PointType"/>
<xs:element name="Chapter" type="ChapterType"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="id" type="ElementId" use="required"/>
<xs:attribute name="n" type="NonEmptyText"><xs:annotation><xs:documentation xml:lang="lv">Drukātais nodaļas numurs (I, II … vai 2.1.).</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="kind" type="ChapterKind" use="required"/>
</xs:complexType>
<xs:complexType name="PointType">
<xs:sequence>
<xs:element name="Text" type="NonEmptyText"/>
<xs:element name="Note" type="NonEmptyText" minOccurs="0" maxOccurs="unbounded">
<xs:annotation><xs:documentation xml:lang="lv">Norāde par grozījumiem, piemēram „(Grozīts ar MK 03.12.2024. noteikumiem Nr. 756)”.</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Point" type="PointType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="ElementId" use="required"/>
<xs:attribute name="n" type="NonEmptyText" use="required"><xs:annotation><xs:documentation xml:lang="lv">Drukātais numurs: 3, 3.1, 3.1.2, 4.2¹ vai „1)”.</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="kind" type="PointKind" use="required"/>
</xs:complexType>
<xs:complexType name="EuReferenceType">
<xs:sequence>
<xs:element name="Title" type="NonEmptyText"/>
<xs:element name="Lead" type="NonEmptyText" minOccurs="0"/>
<xs:element name="Item" maxOccurs="unbounded">
<xs:complexType><xs:sequence><xs:element name="Text" type="NonEmptyText"/></xs:sequence>
<xs:attribute name="id" type="ElementId" use="required"/>
<xs:attribute name="celex" type="NonEmptyText"><xs:annotation><xs:documentation xml:lang="lv">CELEX numurs, ja izgūstams no teksta (32019L0944).</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="ElementId" use="required"/>
</xs:complexType>
<xs:complexType name="AnnexType">
<xs:sequence>
<xs:element name="Heading" type="NonEmptyText"><xs:annotation><xs:documentation xml:lang="lv">„1. pielikums Ministru kabineta … noteikumiem Nr. …”.</xs:documentation></xs:annotation></xs:element>
<xs:element name="Title" type="NonEmptyText" minOccurs="0"/>
<xs:element name="Line" type="NonEmptyText" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation xml:lang="lv">Teksta rinda; tabulas rinda — šūnas atdalītas ar „ | ”.</xs:documentation></xs:annotation></xs:element>
<xs:element name="Image" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation xml:lang="lv">Pielikums kā attēls avotā (teksts nav pieejams).</xs:documentation></xs:annotation></xs:element>
<xs:element name="Signatory" minOccurs="0" maxOccurs="unbounded">
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText">
<xs:attribute name="role" type="NonEmptyText" use="required"/>
</xs:extension></xs:simpleContent></xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="ElementId" use="required"/>
<xs:attribute name="n" type="NonEmptyText"/>
</xs:complexType>
</xs:schema>