You've already forked Valdibas-Deklaracija-as-Code
Import UAPF package
Autoritatīvās datnes mapē data/; datnes nosaukums = identifikators
data/lv-dekl-2026-05-28.xml — A. Kulberga valdības deklarācija; data/lv-mk-2026-05-28.rp.xml — valdības rīcības plāns (MK rīkojums Nr. 449); data/organizacijas.xml, data/valdibas.xml — reģistri. Pārbaudītājs pārbauda, ka deklarācijas un rīcības plāna datnes nosaukums atbilst saknes elementa identifikatoram. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
## 0.2 — 2026-10-09
|
## 0.2 — 2026-10-09
|
||||||
|
|
||||||
|
- Autoritatīvās datnes mapē `data/` (iepriekš `examples/`); datnes nosaukums = objekta identifikators (`lv-dekl-2026-05-28.xml`, `lv-mk-2026-05-28.rp.xml`); pārbaudītājs to pārbauda.
|
||||||
|
|
||||||
- Viena vārdtelpa visai saimei: `urn:pppa:cac:valdiba:0.2`.
|
- Viena vārdtelpa visai saimei: `urn:pppa:cac:valdiba:0.2`.
|
||||||
- Globāli unikāli identifikatori visiem elementiem (`docs/IDENTIFIKATORI.md`); valdības ID `lv-mk-…`, deklarācijas ID `lv-dekl-…`.
|
- Globāli unikāli identifikatori visiem elementiem (`docs/IDENTIFIKATORI.md`); valdības ID `lv-mk-…`, deklarācijas ID `lv-dekl-…`.
|
||||||
- Jauns: valdību un organizāciju reģistrs (`GovernmentRegistry`).
|
- Jauns: valdību un organizāciju reģistrs (`GovernmentRegistry`).
|
||||||
@@ -20,7 +22,7 @@
|
|||||||
- Redaktorā cilnes „Valdības deklarācija” un „Rīcības plāns”: deklarācija tiek atvērta lasīšanai, rediģēšanu ieslēdz slēdzis „Rediģēt”; rīcības plāna skatā pie katra uzdevuma labajā pusē — tā pasākumi (pasākums, rezultāts, atbildīgie, termiņš, prioritāte, finansējums) un kārtības ruļļa 18. un 20. punkta pārbaude.
|
- Redaktorā cilnes „Valdības deklarācija” un „Rīcības plāns”: deklarācija tiek atvērta lasīšanai, rediģēšanu ieslēdz slēdzis „Rediģēt”; rīcības plāna skatā pie katra uzdevuma labajā pusē — tā pasākumi (pasākums, rezultāts, atbildīgie, termiņš, prioritāte, finansējums) un kārtības ruļļa 18. un 20. punkta pārbaude.
|
||||||
- Redaktors atveras ar Andra Kulberga vadītā Ministru kabineta deklarāciju (lasīšanas režīmā). „Jaunas deklarācijas projekts” atveras kā tukšs projekts rediģēšanas režīmā; poga „Importēt esošo” pārņem projektā Andra Kulberga deklarāciju. Citu deklarāciju importa saraksts izņemts.
|
- Redaktors atveras ar Andra Kulberga vadītā Ministru kabineta deklarāciju (lasīšanas režīmā). „Jaunas deklarācijas projekts” atveras kā tukšs projekts rediģēšanas režīmā; poga „Importēt esošo” pārņem projektā Andra Kulberga deklarāciju. Citu deklarāciju importa saraksts izņemts.
|
||||||
- Redaktorā cilne „Organizācijas”: reģistra nepieciešamība, CaC ID uzbūve, meklējams reģistrs ar pasākumu skaitu katrai institūcijai, plānā minētās institūcijas, kuru reģistrā nav, shēma. Rīcības plāna skatā pie atbildīgajām institūcijām — CaC ID.
|
- Redaktorā cilne „Organizācijas”: reģistra nepieciešamība, CaC ID uzbūve, meklējams reģistrs ar pasākumu skaitu katrai institūcijai, plānā minētās institūcijas, kuru reģistrā nav, shēma. Rīcības plāna skatā pie atbildīgajām institūcijām — CaC ID.
|
||||||
- Jauns: organizāciju reģistrs (institūcijas identifikators — CaC ID) (`organizaciju-registrs-0.2.xsd`, `examples/organizacijas.xml`), uzturētājs — Valsts kanceleja. Identifikators `SS-IIII` — resors un institūcija resorā, resora vadošā institūcija `SS-0000` (piemēram `20-0000` — Klimata un enerģētikas ministrija); identifikatorus piešķir reģistra uzturētājs, Valsts kases kodi — sasaiste pa gadiem (`BudgetCode`); reģistrācijas numurs — `regNo`; rezervētie resori 00, 90–93; pārceļot institūciju uz citu resoru — jauns identifikators un `successor`; resors, iestādes kods, augstākā iestāde, saīsinājumi, iepriekšējais nosaukums. Izveidots no VDVC reģistra (`tools/organizacijas_no_vdvc.py`); atgūtas 10 institūcijas no sapludinātām avota rindām, pārbaudot pret Valsts kases „Valsts budžeta iestāžu sarakstu” (01.09.2023).
|
- Jauns: organizāciju reģistrs (institūcijas identifikators — CaC ID) (`organizaciju-registrs-0.2.xsd`, `data/organizacijas.xml`), uzturētājs — Valsts kanceleja. Identifikators `SS-IIII` — resors un institūcija resorā, resora vadošā institūcija `SS-0000` (piemēram `20-0000` — Klimata un enerģētikas ministrija); identifikatorus piešķir reģistra uzturētājs, Valsts kases kodi — sasaiste pa gadiem (`BudgetCode`); reģistrācijas numurs — `regNo`; rezervētie resori 00, 90–93; pārceļot institūciju uz citu resoru — jauns identifikators un `successor`; resors, iestādes kods, augstākā iestāde, saīsinājumi, iepriekšējais nosaukums. Izveidots no VDVC reģistra (`tools/organizacijas_no_vdvc.py`); atgūtas 10 institūcijas no sapludinātām avota rindām, pārbaudot pret Valsts kases „Valsts budžeta iestāžu sarakstu” (01.09.2023).
|
||||||
- Rīcības plānā atbildīgās un līdzatbildīgās institūcijas norāda ar organizāciju reģistra identifikatoru (`orgs`), nevis kodu; organizācijas izņemtas no valdību reģistra.
|
- Rīcības plānā atbildīgās un līdzatbildīgās institūcijas norāda ar organizāciju reģistra identifikatoru (`orgs`), nevis kodu; organizācijas izņemtas no valdību reģistra.
|
||||||
- Rīcības plāna skatā katram pasākumam identifikators (`rp.u001.p3`) un kartīte ar metadatiem: deklarācijas uzdevums, pasākuma vieta uzdevumā, sadaļa, rīkojums, finansējums, prioritāte, atbildīgie, termiņš. Uzdevuma kartītē — tā pasākumu identifikatori.
|
- Rīcības plāna skatā katram pasākumam identifikators (`rp.u001.p3`) un kartīte ar metadatiem: deklarācijas uzdevums, pasākuma vieta uzdevumā, sadaļa, rīkojums, finansējums, prioritāte, atbildīgie, termiņš. Uzdevuma kartītē — tā pasākumu identifikatori.
|
||||||
- Rīcības plāns — otrā datu kopa: shēma pārdēvēta un pārstrādāta (`valdibas-deklaracijas-ricibas-plans-0.2.xsd`, saknes elements `GovernmentActionPlan`). Plāna ailes 1–3 (sadaļa, uzdevuma numurs, uzdevuma teksts) netiek kopētas — pasākums norāda deklarācijas uzdevuma identifikatoru. Pasākumam: teksts, darbības rezultāts, atbildīgās un līdzatbildīgās institūcijas, termiņš (burtiski) un pazīmes — finansējums (rīkojuma 1. vai 2. pielikums) un prioritāte.
|
- Rīcības plāns — otrā datu kopa: shēma pārdēvēta un pārstrādāta (`valdibas-deklaracijas-ricibas-plans-0.2.xsd`, saknes elements `GovernmentActionPlan`). Plāna ailes 1–3 (sadaļa, uzdevuma numurs, uzdevuma teksts) netiek kopētas — pasākums norāda deklarācijas uzdevuma identifikatoru. Pasākumam: teksts, darbības rezultāts, atbildīgās un līdzatbildīgās institūcijas, termiņš (burtiski) un pazīmes — finansējums (rīkojuma 1. vai 2. pielikums) un prioritāte.
|
||||||
|
|||||||
51
README.md
51
README.md
@@ -27,36 +27,51 @@ Deklarācijas formātu neviens normatīvais akts nenosaka. Kārtības rullis par
|
|||||||
|
|
||||||
## Saturs
|
## Saturs
|
||||||
|
|
||||||
|
### Dati (`data/`) — autoritatīvās datnes
|
||||||
|
|
||||||
|
Datnes nosaukums ir objekta identifikators.
|
||||||
|
|
||||||
|
| Datne | Saturs |
|
||||||
|
|---|---|
|
||||||
|
| `data/lv-dekl-2026-05-28.xml` | Deklarācija par Andra Kulberga vadītā Ministru kabineta iecerēto darbību (28.05.2026): viss teksts, 11 sadaļas, 52 uzdevumi |
|
||||||
|
| `data/lv-mk-2026-05-28.rp.xml` | Valdības rīcības plāns tās īstenošanai (MK rīkojums Nr. 449, 27.07.2026): 185 pasākumi 52 uzdevumiem, teksts burtiski no likumi.lv; atbildīgās institūcijas ar CaC ID |
|
||||||
|
| `data/organizacijas.xml` | Valsts institūciju reģistrs (CaC ID): 165 valsts budžeta iestādes un 16 citas institūcijas un grupas; uzturētājs — Valsts kanceleja |
|
||||||
|
| `data/valdibas.xml` | Valdību reģistrs: piecas valdības (2016–2026) |
|
||||||
|
|
||||||
|
### Shēmas (`schemas/`)
|
||||||
|
|
||||||
|
| Datne | Saturs |
|
||||||
|
|---|---|
|
||||||
|
| `schemas/valdibas-deklaracija-0.2.xsd` | Deklarācija |
|
||||||
|
| `schemas/valdibas-deklaracijas-ricibas-plans-0.2.xsd` | Valdības deklarācijas rīcības plāns: pasākumi, rezultāti, atbildīgie, termiņi, izpildes gaita; katrs pasākums norāda deklarācijas uzdevumu |
|
||||||
|
| `schemas/organizaciju-registrs-0.2.xsd` | Organizāciju reģistrs: CaC ID (`SS-IIII`; ministrija — `SS-0000`), reģistrācijas numurs, nosaukums, saīsinājumi, augstākā institūcija |
|
||||||
|
| `schemas/cac-valdiba-kopejie-0.2.xsd` | Kopīgie tipi (identifikatori, datumi) un valdību reģistrs |
|
||||||
|
|
||||||
|
### Rīki, dokumentācija, avoti
|
||||||
|
|
||||||
| Mape / datne | Saturs |
|
| Mape / datne | Saturs |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `schemas/cac-valdiba-kopejie-0.2.xsd` | Kopīgie tipi (identifikatori, organizācijas, termiņi) un valdību reģistrs |
|
|
||||||
| `schemas/valdibas-deklaracija-0.2.xsd` | Deklarācijas teksts |
|
|
||||||
| `schemas/valdibas-deklaracijas-ricibas-plans-0.2.xsd` | Valdības deklarācijas rīcības plāns: pasākumi, rezultāti, atbildīgie, termiņi, izpildes gaita; katrs pasākums norāda deklarācijas uzdevumu |
|
|
||||||
| `docs/IDENTIFIKATORI.md` | Identifikatoru veidošanas noteikumi |
|
| `docs/IDENTIFIKATORI.md` | Identifikatoru veidošanas noteikumi |
|
||||||
| `examples/valdibas.xml` | Piecas valdības (2016–2026) |
|
| `tools/validate.py` | Pārbaude: XSD, datņu nosaukumi, identifikatori, saites starp datnēm, kārtības ruļļa 18. un 20. punkts, termiņi |
|
||||||
| `schemas/organizaciju-registrs-0.2.xsd` | Organizāciju reģistrs: institūcijas identifikators (`SS-IIII`: resors + institūcija, ministrija — `SS-0000`), reģistrācijas numurs, nosaukums, saīsinājumi, resors, augstākā iestāde; uztur Valsts kanceleja |
|
|
||||||
| `examples/organizacijas.xml` | 165 valsts budžeta iestādes (VDVC reģistrs, Valsts kases saraksts 01.09.2023) un 16 citas institūcijas un grupas no MK rīkojuma Nr. 449 (resori 00, 90–93) |
|
|
||||||
| `tools/organizacijas_no_vdvc.py` | Izveido organizāciju reģistru no VDVC reģistra (`source/organizacijas/`) |
|
|
||||||
| `examples/lv-dekl-2026-05-28.xml` | A. Kulberga valdības deklarācija, viss teksts, 11 sadaļas, 52 uzdevumi; identifikatori tikai sadaļām un uzdevumiem |
|
|
||||||
| `examples/lv-mk-2026-05-28.rp.xml` | Valdības rīcības plāns (MK rīkojums Nr. 449, 27.07.2026): 185 pasākumi 52 uzdevumiem, teksts burtiski no likumi.lv |
|
|
||||||
| `source/ricibas-plans/` | Rīkojuma Nr. 449 avoti: likumi.lv lapa (.mhtml) un PDF |
|
|
||||||
| `tools/ricibas_plans_no_likumi.py` | Pārveido rīcības plānu no likumi.lv lapas uz XML un salīdzina plāna ailes 1–3 ar deklarāciju |
|
|
||||||
| `editor/Valdibas_deklaracijas_datukopa.html` | Redaktors vienā HTML datnē: valdības deklarācija (lasīšana, rediģēšana), rīcības plāns — pasākumi pie katra uzdevuma ar CaC ID, institūciju reģistrs („Organizācijas”); projekts, shēmas, apraksts („Par”); eksportē XML v0.2 un Word |
|
|
||||||
| `source/pdf/` | Avota PDF |
|
|
||||||
| `source/v0.1/` | Iepriekšējā (v0.1) shēma un dati, no kuriem veidoti piemēri |
|
|
||||||
| `tools/ids.py` | Identifikatoru veidošana |
|
|
||||||
| `tools/validate.py` | Pārbaude: XSD, identifikatori, saites starp datnēm, kārtības ruļļa 18. un 20. punkts, termiņi |
|
|
||||||
| `tools/test_validate.py` | Negatīvie testi pārbaudītājam |
|
| `tools/test_validate.py` | Negatīvie testi pārbaudītājam |
|
||||||
|
| `tools/ricibas_plans_no_likumi.py` | Pārveido rīcības plānu no likumi.lv lapas uz XML un salīdzina plāna ailes 1–3 ar deklarāciju |
|
||||||
|
| `tools/organizacijas_no_vdvc.py` | Izveido organizāciju reģistru no VDVC reģistra un Valsts kases saraksta |
|
||||||
|
| `tools/ids.py` | Identifikatoru veidošana |
|
||||||
|
| `editor/Valdibas_deklaracijas_datukopa.html` | Redaktors vienā HTML datnē: valdības deklarācija (lasīšana, rediģēšana), rīcības plāns ar CaC ID, institūciju reģistrs, jaunas deklarācijas projekts, shēmas, apraksts; eksportē XML un Word |
|
||||||
|
| `source/pdf/` | Deklarācijas avota PDF |
|
||||||
|
| `source/ricibas-plans/` | MK rīkojuma Nr. 449 avoti: likumi.lv lapa (.mhtml) un PDF |
|
||||||
|
| `source/organizacijas/` | VDVC reģistrs un Valsts kases „Valsts budžeta iestāžu saraksts” (01.09.2023) |
|
||||||
|
| `source/v0.1/` | Iepriekšējā (v0.1) shēma un dati |
|
||||||
|
|
||||||
## Pārbaude
|
## Pārbaude
|
||||||
|
|
||||||
```
|
```
|
||||||
pip install lxml
|
pip install lxml
|
||||||
python3 tools/validate.py # examples/
|
python3 tools/validate.py # data/
|
||||||
python3 tools/test_validate.py
|
python3 tools/test_validate.py
|
||||||
```
|
```
|
||||||
|
|
||||||
Pārbaudītājs ziņo `E` (kļūda), `W` (brīdinājums), `I` (informācija). Pašreizējie piemēri: 0 kļūdas, 1 brīdinājums — 10 deklarācijas uzdevumiem rīcības plānā ir vairāk nekā pieci pasākumi (kārtības ruļļa 18. punkts).
|
Pārbaudītājs ziņo `E` (kļūda), `W` (brīdinājums), `I` (informācija). Pašreizējie dati: 0 kļūdas, 1 brīdinājums — 10 deklarācijas uzdevumiem rīcības plānā ir vairāk nekā pieci pasākumi (kārtības ruļļa 18. punkts).
|
||||||
|
|
||||||
## Ko shēma nodrošina
|
## Ko shēma nodrošina
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- Valdību reģistrs (datu noliktavas dimensijas). Identifikatori: docs/IDENTIFIKATORI.md -->
|
<!-- Valdību reģistrs. Identifikatori: docs/IDENTIFIKATORI.md -->
|
||||||
<GovernmentRegistry xmlns="urn:pppa:cac:valdiba:0.2" schemaVersion="0.2" dataVersion="1" date="2026-10-09">
|
<GovernmentRegistry xmlns="urn:pppa:cac:valdiba:0.2" schemaVersion="0.2" dataVersion="1" date="2026-10-09">
|
||||||
<Government id="lv-mk-2016-02-11">
|
<Government id="lv-mk-2016-02-11">
|
||||||
<Label>Māra Kučinska vadītais Ministru kabinets</Label>
|
<Label>Māra Kučinska vadītais Ministru kabinets</Label>
|
||||||
@@ -704,7 +704,7 @@ body.m-org .canvas{max-width:980px}
|
|||||||
</xs:schema>
|
</xs:schema>
|
||||||
</script>
|
</script>
|
||||||
<script type="text/xml" id="registrySrc"><?xml version="1.0" encoding="UTF-8"?>
|
<script type="text/xml" id="registrySrc"><?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- Valdību reģistrs (datu noliktavas dimensijas). Identifikatori: docs/IDENTIFIKATORI.md -->
|
<!-- Valdību reģistrs. Identifikatori: docs/IDENTIFIKATORI.md -->
|
||||||
<GovernmentRegistry xmlns="urn:pppa:cac:valdiba:0.2" schemaVersion="0.2" dataVersion="1" date="2026-10-09">
|
<GovernmentRegistry xmlns="urn:pppa:cac:valdiba:0.2" schemaVersion="0.2" dataVersion="1" date="2026-10-09">
|
||||||
<Government id="lv-mk-2016-02-11">
|
<Government id="lv-mk-2016-02-11">
|
||||||
<Label>Māra Kučinska vadītais Ministru kabinets</Label>
|
<Label>Māra Kučinska vadītais Ministru kabinets</Label>
|
||||||
@@ -4393,7 +4393,7 @@ async function schemaZip(){
|
|||||||
const z = new JSZip();
|
const z = new JSZip();
|
||||||
z.file("schemas/cac-valdiba-kopejie-0.2.xsd", XSD_COMMON); z.file("schemas/valdibas-deklaracija-0.2.xsd", XSD_DECL);
|
z.file("schemas/cac-valdiba-kopejie-0.2.xsd", XSD_COMMON); z.file("schemas/valdibas-deklaracija-0.2.xsd", XSD_DECL);
|
||||||
z.file("schemas/valdibas-deklaracijas-ricibas-plans-0.2.xsd", XSD_PLAN);
|
z.file("schemas/valdibas-deklaracijas-ricibas-plans-0.2.xsd", XSD_PLAN);
|
||||||
z.file("docs/IDENTIFIKATORI.md", IDS_MD); z.file("examples/valdibas.xml", REGISTRY); z.file("schemas/organizaciju-registrs-0.2.xsd", XSD_ORG); z.file("examples/organizacijas.xml", ORG_SRC);
|
z.file("docs/IDENTIFIKATORI.md", IDS_MD); z.file("data/valdibas.xml", REGISTRY); z.file("schemas/organizaciju-registrs-0.2.xsd", XSD_ORG); z.file("data/organizacijas.xml", ORG_SRC);
|
||||||
downloadBlob("valdibas-deklaracija-shemas-0.2.zip", await z.generateAsync({type:"blob"})); toast("Shēmas lejupielādētas");
|
downloadBlob("valdibas-deklaracija-shemas-0.2.zip", await z.generateAsync({type:"blob"})); toast("Shēmas lejupielādētas");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"""Izveido organizāciju reģistru (organizaciju-registrs-0.2.xsd) no VDVC reģistra (vdvc-register.xml).
|
"""Izveido organizāciju reģistru (organizaciju-registrs-0.2.xsd) no VDVC reģistra (vdvc-register.xml).
|
||||||
|
|
||||||
python3 tools/organizacijas_no_vdvc.py source/organizacijas/vdvc-register.xml examples/organizacijas.xml
|
python3 tools/organizacijas_no_vdvc.py source/organizacijas/vdvc-register.xml data/organizacijas.xml
|
||||||
|
|
||||||
Avots — Valsts kases „Valsts budžeta iestāžu saraksts” (01.09.2023; iestades_PAS_VBI_01092023.pdf): iestādes kods (ePlāni un eTāmes),
|
Avots — Valsts kases „Valsts budžeta iestāžu saraksts” (01.09.2023; iestades_PAS_VBI_01092023.pdf): iestādes kods (ePlāni un eTāmes),
|
||||||
nodokļu maksātāja reģistrācijas numurs, nosaukums, ministrijas kods (budžeta resors saskaņā ar gadskārtējo valsts budžeta likumu).
|
nodokļu maksātāja reģistrācijas numurs, nosaukums, ministrijas kods (budžeta resors saskaņā ar gadskārtējo valsts budžeta likumu).
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"""Pārveido Valdības rīcības plānu no likumi.lv lapas (saglabāta kā .mhtml vai .html) uz XML (valdibas-deklaracijas-ricibas-plans-0.2.xsd).
|
"""Pārveido Valdības rīcības plānu no likumi.lv lapas (saglabāta kā .mhtml vai .html) uz XML (valdibas-deklaracijas-ricibas-plans-0.2.xsd).
|
||||||
|
|
||||||
python3 tools/ricibas_plans_no_likumi.py <lapa.mhtml> <deklaracija.xml> <organizacijas.xml> <izvade.xml>
|
python3 tools/ricibas_plans_no_likumi.py source/ricibas-plans/likumi_lv_369925.mhtml data/lv-dekl-2026-05-28.xml data/organizacijas.xml data/lv-mk-2026-05-28.rp.xml
|
||||||
|
|
||||||
likumi.lv lapā ir četras tabulas: 0 — viss plāns; 1 — rīkojuma 1. pielikums (finansējums rasts);
|
likumi.lv lapā ir četras tabulas: 0 — viss plāns; 1 — rīkojuma 1. pielikums (finansējums rasts);
|
||||||
2 — 2. pielikums (nepieciešams papildu finansējums); 3 — prioritārie pasākumi.
|
2 — 2. pielikums (nepieciešams papildu finansējums); 3 — prioritārie pasākumi.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
import os, re, shutil, subprocess, sys, tempfile
|
import os, re, shutil, subprocess, sys, tempfile
|
||||||
|
|
||||||
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
EX = os.path.join(ROOT, "examples")
|
EX = os.path.join(ROOT, "data")
|
||||||
|
|
||||||
CASES = [
|
CASES = [
|
||||||
("pasākums neesošam uzdevumam", "lv-mk-2026-05-28.rp.xml", 'id="lv-mk-2026-05-28.rp.u014.p1" number="14.1." task="lv-dekl-2026-05-28.u014"', 'id="lv-mk-2026-05-28.rp.u099.p1" number="99.1." task="lv-dekl-2026-05-28.u099"', "uzdevums 99 deklarācijā nav"),
|
("pasākums neesošam uzdevumam", "lv-mk-2026-05-28.rp.xml", 'id="lv-mk-2026-05-28.rp.u014.p1" number="14.1." task="lv-dekl-2026-05-28.u014"', 'id="lv-mk-2026-05-28.rp.u099.p1" number="99.1." task="lv-dekl-2026-05-28.u099"', "uzdevums 99 deklarācijā nav"),
|
||||||
@@ -27,7 +27,7 @@ def run(folder):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
base = run(EX)
|
base = run(EX)
|
||||||
ok = base.returncode == 0; print(("PASS" if ok else "FAIL") + " piemēri ir derīgi")
|
ok = base.returncode == 0; print(("PASS" if ok else "FAIL") + " dati ir derīgi")
|
||||||
for name, fname, old, new, expect in CASES:
|
for name, fname, old, new, expect in CASES:
|
||||||
d = tempfile.mkdtemp()
|
d = tempfile.mkdtemp()
|
||||||
for f in os.listdir(EX): shutil.copy(os.path.join(EX, f), d)
|
for f in os.listdir(EX): shutil.copy(os.path.join(EX, f), d)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"""Pārbaudītājs: XSD + identifikatoru noteikumi + saites starp datnēm + kārtības ruļļa noteikumi.
|
"""Pārbaudītājs: XSD + identifikatoru noteikumi + saites starp datnēm + kārtības ruļļa noteikumi.
|
||||||
|
|
||||||
python3 tools/validate.py [mape ar XML datnēm] (noklusējums: examples/)
|
python3 tools/validate.py [mape ar XML datnēm] (noklusējums: data/)
|
||||||
|
|
||||||
Ziņo: E = kļūda (izejas kods 1), W = brīdinājums, I = informācija.
|
Ziņo: E = kļūda (izejas kods 1), W = brīdinājums, I = informācija.
|
||||||
"""
|
"""
|
||||||
@@ -37,6 +37,7 @@ def load(folder):
|
|||||||
sc = etree.XMLSchema(etree.parse(os.path.join(ROOT, "schemas", SCHEMAS[name])))
|
sc = etree.XMLSchema(etree.parse(os.path.join(ROOT, "schemas", SCHEMAS[name])))
|
||||||
if not sc.validate(t):
|
if not sc.validate(t):
|
||||||
for e in sc.error_log: rep("E", f, f"XSD {e.line}: {e.message}")
|
for e in sc.error_log: rep("E", f, f"XSD {e.line}: {e.message}")
|
||||||
|
if name in ("GovernmentDeclaration", "GovernmentActionPlan") and f != root.get("id") + ".xml": rep("E", f, f"datnes nosaukumam jābūt {root.get('id')}.xml (identifikators)")
|
||||||
docs[name].append((f, root))
|
docs[name].append((f, root))
|
||||||
return docs
|
return docs
|
||||||
|
|
||||||
@@ -183,4 +184,4 @@ def main(folder):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
sys.exit(main(sys.argv[1] if len(sys.argv) > 1 else os.path.join(ROOT, "examples")))
|
sys.exit(main(sys.argv[1] if len(sys.argv) > 1 else os.path.join(ROOT, "data")))
|
||||||
|
|||||||
Reference in New Issue
Block a user