Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
200 lines
16 KiB
XML
200 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
MK-Lemumi-as-Code — Ministru kabineta sēde un tās lēmumi kā dati, shēma v0.1
|
|
PPP Asociācija (PPPA), Valsts PirmKods. Melnraksts.
|
|
-->
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
xmlns="urn:pppa:vpk:mk-lemumi:0.1"
|
|
xmlns:m="urn:pppa:vpk:mk-lemumi:0.1"
|
|
targetNamespace="urn:pppa:vpk:mk-lemumi:0.1"
|
|
elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1" xml:lang="lv">
|
|
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="lv">
|
|
Viena datne — viena Ministru kabineta sēde: darba kārtība (sadaļas un jautājumi ar TAP identifikatoru, ziņotāju un statusu)
|
|
un lēmumu teksts pa punktiem — MK sēdes protokollēmums un rīkojums.
|
|
|
|
Avots — TAP portāls (tapportals.mk.gov.lv). TAP darba kārtību un lēmumu tekstu publicē HTML lapās, nevis mašīnlasāmā formā;
|
|
šī shēma tos apraksta kā datus. Punkta teksts (Text) ir burtiski kā TAP. Darbības veids (kind), adresāti (Party) un termiņš
|
|
(Deadline) ir izgūti no teksta ar noteikumiem (tools/derive.py) — tās ir norādes, juridiski saistošs ir teksts.
|
|
|
|
Lēmuma teksta statuss: draft — protokollēmuma vai rīkojuma projekts, kā pievienots darba kārtībai sēdes dienā; final — teksts
|
|
no publicētā sēdes protokola. Sēdē projektu var grozīt, tāpēc draft aizstāj ar final, kad protokols publicēts.
|
|
|
|
Ierobežotas pieejamības (IP) jautājumiem TAP publisks ir tikai protokollēmums; ziņojums nav publisks un šeit nav iekļauts.
|
|
|
|
Identifikatori:
|
|
sēde lv-mk-sede-GGGG-MM-DD (otra sēde tajā pašā dienā — lv-mk-sede-GGGG-MM-DD-2)
|
|
jautājums <sēde>.q<numurs darba kārtībā> lv-mk-sede-2026-10-13.q2.1
|
|
lēmums <jautājums>.pl (protokollēmums) | .rik (rīkojums) | .doc<N> (cits)
|
|
punkts <lēmums>.p<numurs> (apakšpunkts .p2.1); nenumurēts teksta lauks — .u<kārtas numurs>
|
|
Institūcijas — VPK ID no Valsts institūciju reģistra (Organizations_register); pašvaldības — ATVK kods (Pasvaldibu-registrs).
|
|
Valdība — identifikators no valdību reģistra (Valdibas-Deklaracija-as-Code data/valdibas.xml).
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType name="NonEmptyText"><xs:restriction base="xs:string"><xs:minLength value="1"/><xs:pattern value="[\s\S]*\S[\s\S]*"/></xs:restriction></xs:simpleType>
|
|
<xs:simpleType name="MeetingId"><xs:restriction base="xs:string"><xs:pattern value="lv-mk-sede-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?"/></xs:restriction></xs:simpleType>
|
|
<xs:simpleType name="ElementId"><xs:restriction base="xs:string"><xs:pattern value="lv-mk-sede-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?\.q[0-9]+(\.[0-9]+)*(\.(pl|rik|doc[0-9]+)(\.(p[0-9]+(\.[0-9]+)*|u[0-9]+))*)?"/></xs:restriction></xs:simpleType>
|
|
<xs:simpleType name="TapId"><xs:restriction base="xs:string"><xs:pattern value="[0-9]{2}-TA-[0-9]+[A-Za-z]*"/></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="AtvkCode"><xs:restriction base="xs:string"><xs:pattern value="[0-9]{7}"/></xs:restriction></xs:simpleType>
|
|
<xs:simpleType name="GovernmentId"><xs:restriction base="xs:string"><xs:pattern value="lv-mk-[0-9]{4}-[0-9]{2}-[0-9]{2}"/></xs:restriction></xs:simpleType>
|
|
<xs:simpleType name="Uuid"><xs:restriction base="xs:string"><xs:pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/></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="PointKind">
|
|
<xs:annotation><xs:documentation xml:lang="lv">
|
|
note — pieņemt zināšanai; adopt — pieņemt (projektu); approve — apstiprināt; support / reject — atbalstīt / neatbalstīt;
|
|
invite — aicināt; task — uzdevums institūcijai („Ekonomikas ministrijai … iesniegt”, „uzdot”); allocate — piešķirt;
|
|
permit — atļaut; authorise — pilnvarot; determine — noteikt, atzīt; amend — izteikt, papildināt, svītrot, grozīt;
|
|
repeal — atzīt par spēku zaudējušu, atcelt; transfer — nodot, pārņemt; purchase — pirkt; establish — izveidot;
|
|
appoint / dismiss — iecelt / atbrīvot; part — apakšpunkts, kas turpina augstākā punkta teikumu;
|
|
provision — cits noteikums bez darbības vārda.
|
|
</xs:documentation></xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="note"/><xs:enumeration value="adopt"/><xs:enumeration value="approve"/><xs:enumeration value="support"/>
|
|
<xs:enumeration value="reject"/><xs:enumeration value="invite"/><xs:enumeration value="task"/><xs:enumeration value="allocate"/>
|
|
<xs:enumeration value="permit"/><xs:enumeration value="authorise"/><xs:enumeration value="determine"/><xs:enumeration value="amend"/>
|
|
<xs:enumeration value="repeal"/><xs:enumeration value="transfer"/><xs:enumeration value="purchase"/><xs:enumeration value="establish"/>
|
|
<xs:enumeration value="appoint"/><xs:enumeration value="dismiss"/><xs:enumeration value="part"/><xs:enumeration value="provision"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:element name="CabinetMeeting">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Metadata" type="MetadataType"/>
|
|
<xs:element name="Section" type="SectionType" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="MeetingId" use="required"/>
|
|
<xs:attribute name="government" type="GovernmentId" use="required"/>
|
|
<xs:attribute name="schemaVersion" type="xs:string" use="required" fixed="0.1"/>
|
|
</xs:complexType>
|
|
<xs:key name="itemKey"><xs:selector xpath="m:Section/m:Item"/><xs:field xpath="@id"/></xs:key>
|
|
<xs:key name="decisionKey"><xs:selector xpath="m:Section/m:Item/m:Decision"/><xs:field xpath="@id"/></xs:key>
|
|
<xs:key name="pointKey"><xs:selector xpath=".//m:Point"/><xs:field xpath="@id"/></xs:key>
|
|
</xs:element>
|
|
|
|
<xs:complexType name="MetadataType">
|
|
<xs:sequence>
|
|
<xs:element name="Title" type="NonEmptyText"/>
|
|
<xs:element name="Start" type="xs:dateTime"/>
|
|
<xs:element name="Kind">
|
|
<xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="regular"/><xs:enumeration value="extraordinary"/></xs:restriction></xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="Protocol" minOccurs="0">
|
|
<xs:annotation><xs:documentation xml:lang="lv">Sēdes protokola numurs, kad protokols publicēts.</xs:documentation></xs:annotation>
|
|
<xs:complexType><xs:sequence><xs:element name="Url" type="xs:anyURI" minOccurs="0"/></xs:sequence>
|
|
<xs:attribute name="number" type="xs:positiveInteger" use="required"/></xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Source">
|
|
<xs:complexType><xs:sequence>
|
|
<xs:element name="Url" type="xs:anyURI"/>
|
|
<xs:element name="SHA256" type="Sha256"><xs:annotation><xs:documentation xml:lang="lv">Darba kārtības lapas (HTML) sha256 ielādes brīdī.</xs:documentation></xs:annotation></xs:element>
|
|
<xs:element name="Retrieved" type="xs:dateTime"/>
|
|
</xs:sequence></xs:complexType>
|
|
</xs:element>
|
|
<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:complexType>
|
|
|
|
<xs:complexType name="SectionType">
|
|
<xs:sequence>
|
|
<xs:element name="Title" type="NonEmptyText"/>
|
|
<xs:element name="Item" type="ItemType" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="n" type="xs:positiveInteger" use="required"/>
|
|
<xs:attribute name="closed" type="xs:boolean" use="required"><xs:annotation><xs:documentation xml:lang="lv">Slēgtā daļa (sadaļas nosaukumā „slēgtā daļa”).</xs:documentation></xs:annotation></xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ItemType">
|
|
<xs:sequence>
|
|
<xs:element name="Title" type="NonEmptyText"><xs:annotation><xs:documentation xml:lang="lv">Jautājums, kā darba kārtībā, bez norādēm iekavās (tās — atribūtos).</xs:documentation></xs:annotation></xs:element>
|
|
<xs:element name="ActType" type="NonEmptyText" minOccurs="0"><xs:annotation><xs:documentation xml:lang="lv">Projekta veids TAP (Rīkojuma projekts, Informatīvais ziņojums …).</xs:documentation></xs:annotation></xs:element>
|
|
<xs:element name="Responsible" minOccurs="0">
|
|
<xs:annotation><xs:documentation xml:lang="lv">Atbildīgā institūcija TAP; org — VPK ID, ja atrasts reģistrā.</xs:documentation></xs:annotation>
|
|
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText"><xs:attribute name="org" type="OrgId"/></xs:extension></xs:simpleContent></xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Presenter" type="NonEmptyText" minOccurs="0"><xs:annotation><xs:documentation xml:lang="lv">Ziņo, kā darba kārtībā.</xs:documentation></xs:annotation></xs:element>
|
|
<xs:element name="Invited" type="NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="LegalAct" minOccurs="0">
|
|
<xs:complexType><xs:sequence><xs:element name="Url" type="xs:anyURI"/></xs:sequence>
|
|
<xs:attribute name="uuid" type="Uuid" use="required"/></xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Document" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation><xs:documentation xml:lang="lv">Dokuments darba kārtībā, kā TAP (nosaukums un saite).</xs:documentation></xs:annotation>
|
|
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText"><xs:attribute name="url" type="xs:anyURI" use="required"/></xs:extension></xs:simpleContent></xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Approval" type="NonEmptyText" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation xml:lang="lv">Saskaņojumi (institūciju saīsinājumi), kā TAP.</xs:documentation></xs:annotation></xs:element>
|
|
<xs:element name="PublicParticipation" type="NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Decision" type="DecisionType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="ElementId" use="required"/>
|
|
<xs:attribute name="n" type="NonEmptyText" use="required"/>
|
|
<xs:attribute name="tap" type="TapId"/>
|
|
<xs:attribute name="restricted" type="xs:boolean" default="false"><xs:annotation><xs:documentation xml:lang="lv">Ierobežotas pieejamības (IP).</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="status" type="NonEmptyText" use="required"><xs:annotation><xs:documentation xml:lang="lv">Statuss darba kārtībā: Pieņemts, Atlikts, Izskatīts …</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="addedLate" type="xs:boolean" default="false"><xs:annotation><xs:documentation xml:lang="lv">„iekļauts papildus”.</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="movedToA" type="xs:boolean" default="false"><xs:annotation><xs:documentation xml:lang="lv">„jautājums tiks skatīts A sadaļā”.</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="postponed" type="xs:boolean" default="false"><xs:annotation><xs:documentation xml:lang="lv">„jautājuma izskatīšana atlikta”.</xs:documentation></xs:annotation></xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="DecisionType">
|
|
<xs:sequence>
|
|
<xs:element name="Heading" type="NonEmptyText" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation><xs:documentation xml:lang="lv">Rindas virs virsraksta, kā TAP: „Ministru kabineta rīkojums Nr. 631”, „Rīgā … (prot. Nr. 58 8. §)”.
|
|
Projektā datums vēl nav ievietots (TAP veidnes lauks paliek kā lapā).</xs:documentation></xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Title" type="NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Url" type="xs:anyURI"/>
|
|
<xs:element name="SourceFile" type="NonEmptyText"><xs:annotation><xs:documentation xml:lang="lv">sources/… — teksts, kā TAP lapā (numurs un teksts pa rindām).</xs:documentation></xs:annotation></xs:element>
|
|
<xs:element name="SHA256" type="Sha256"><xs:annotation><xs:documentation xml:lang="lv">Lapas (HTML) sha256 ielādes brīdī.</xs:documentation></xs:annotation></xs:element>
|
|
<xs:element name="Point" type="PointType" maxOccurs="unbounded"/>
|
|
<xs:element name="Annex" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText"><xs:attribute name="n" type="xs:string"/></xs:extension></xs:simpleContent></xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Signatory" type="NonEmptyText" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation xml:lang="lv">Paraksta rinda, kā TAP („Ministru prezidents A. Kulbergs”).</xs:documentation></xs:annotation></xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="ElementId" use="required"/>
|
|
<xs:attribute name="actNumber" type="xs:positiveInteger"><xs:annotation><xs:documentation xml:lang="lv">Rīkojuma numurs no virsraksta rindas („rīkojums Nr. 631”).</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="protocol" type="xs:positiveInteger"><xs:annotation><xs:documentation xml:lang="lv">Sēdes protokola numurs no virsraksta rindas („prot. Nr. 58”).</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="paragraph" type="xs:positiveInteger"><xs:annotation><xs:documentation xml:lang="lv">Protokola paragrāfs („8. §”).</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="document" type="NonEmptyText" use="required"><xs:annotation><xs:documentation xml:lang="lv">Dokumenta nosaukums TAP (MK sēdes protokollēmuma projekts, Rīkojuma projekts …).</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="textStatus" use="required">
|
|
<xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="draft"/><xs:enumeration value="final"/></xs:restriction></xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="PointType">
|
|
<xs:sequence>
|
|
<xs:element name="Text" type="NonEmptyText"/>
|
|
<xs:element name="Quote" type="NonEmptyText" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation><xs:documentation xml:lang="lv">Jaunā redakcija pēdiņās, kas punktā ir atsevišķā teksta laukā („Izteikt 1. punktu šādā redakcijā: "1. …"”).</xs:documentation></xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Party" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation><xs:documentation xml:lang="lv">Institūcija vai pašvaldība, kas punktā minēta datīvā (kam uzdots, atļauts, piešķirts); teksts — kā punktā.
|
|
role: institution — institūcija, minister — ministrs (org — ministrijas VPK ID), municipality — pašvaldība (atvk).</xs:documentation></xs:annotation>
|
|
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText">
|
|
<xs:attribute name="role" use="required"><xs:simpleType><xs:restriction base="xs:string">
|
|
<xs:enumeration value="institution"/><xs:enumeration value="minister"/><xs:enumeration value="municipality"/>
|
|
</xs:restriction></xs:simpleType></xs:attribute>
|
|
<xs:attribute name="org" type="OrgId"/>
|
|
<xs:attribute name="atvk" type="AtvkCode"/>
|
|
</xs:extension></xs:simpleContent></xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Deadline" minOccurs="0">
|
|
<xs:complexType><xs:simpleContent><xs:extension base="NonEmptyText"><xs:attribute name="date" type="xs:date" use="required"/></xs:extension></xs:simpleContent></xs:complexType>
|
|
</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="xs:string" use="required"><xs:annotation><xs:documentation xml:lang="lv">Drukātais numurs („2.”, „2.1.”); nenumurētam — tukšs.</xs:documentation></xs:annotation></xs:attribute>
|
|
<xs:attribute name="kind" type="PointKind" use="required"/>
|
|
</xs:complexType>
|
|
</xs:schema>
|