Jauni likumi (16): Publiskās un privātās partnerības likums; Publiskas personas kapitāla daļu un kapitālsabiedrību pārvaldības likums; Augstskolu; Valsts valodas; Muzeju; Par ietekmes uz vidi novērtējumu; Sociālo pakalpojumu un sociālās palīdzības; Būvniecības; Maksātnespējas; Valsts kultūrkapitāla fonda; Jūrlietu pārvaldes un jūras drošības (lv-lik-2002-10-31-2); Latvijas vides aizsardzības fonda; Publisko iepirkumu; Zinātniskās darbības; Par darbinieku aizsardzību darba devēja maksātnespējas gadījumā; Par piesārņojumu. validate: 58/58 OK. Shēma (saderīga paplašināšana, datu līgums tāpat): - sadaļa virs nodaļām: Chapter kind="division", ID …sA - pants, kas vēl nav spēkā: status="pending", bez teksta - ID: art…[a-z] (644¹⁸A), ann…sN (1.¹ pielikums) Konvertors: pielikumi (Annex, ieskaitot tabulas rindas; pilnības skaitā); tās pašas dienas likumi → -2; „8.pants” bez punkta; „48.¹” pārejas noteikumos; virsraksts ar izslēgšanas piezīmi; Augstākās Padomes paraksti; noslēgums netiek skaitīts XML pusē (iepriekš mazos likumos >101 %). Neielādēti (vecā struktūra, nākamais darbs): Civilprocesa likums, Satversme, Par policiju, Par Latvijas Nacionālo bibliotēku. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016igpMJBtapmG6vHE4vSF9q
252 lines
12 KiB
XML
252 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
likumi-0.1.xsd — Latvijas Republikas likumi kā strukturēti dati.
|
|
Saime: Valsts-Pirmkods (tāds pats stils kā mk-noteikumi-0.1.xsd).
|
|
Akoma Ntoso (OASIS LegalDocML) saderība: vienību nosaukumi un ID secība atbilst AKN
|
|
hierarhijai; ID pārveide uz AKN eId ir fiksēta (sk. README, sadaļa "Akoma Ntoso").
|
|
-->
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
xmlns:l="urn:pppa:vpk:likumi:0.1"
|
|
targetNamespace="urn:pppa:vpk:likumi:0.1"
|
|
elementFormDefault="qualified" attributeFormDefault="unqualified"
|
|
version="0.1" xml:lang="lv">
|
|
|
|
<!-- ===== Vienkāršie tipi ===== -->
|
|
<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>
|
|
|
|
<!-- Likuma ID: lv-lik-<pieņemšanas datums GGGG-MM-DD>[-N]. Likumiem nav numura; datums ir oficiālais rekvizīts. -->
|
|
<xs:simpleType name="DocId">
|
|
<xs:restriction base="xs:string"><xs:pattern value="lv-lik-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?"/></xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- Vienības ID: <likums>.<ceļš>
|
|
nodaļa .cN[.M] (AKN chap_N)
|
|
pants .artN[sK] (AKN art_N; 4¹ → art4s1)
|
|
daļa <pants>.dN[sK] (AKN para_N)
|
|
punkts <...>.pN[sK] (AKN point_N), apakšpunkts rekursīvi
|
|
pārejas n. .tp, .tp.pN (AKN transitional)
|
|
ES atsauce .eu, .eu.N
|
|
pielikums .annN (AKN annex_N) -->
|
|
<xs:simpleType name="ElementId">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="lv-lik-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[2-9])?\.(s[A-Z]|c[0-9]+(\.[0-9]+)*|art[0-9]+(s[0-9]+)?[a-z]?(\.d[0-9]+(s[0-9]+)?)?(\.p[0-9]+(s[0-9]+)?)*|tp(\.p[0-9]+(s[0-9]+)?)*|eu(\.[0-9]+)?|ann[0-9]+(s[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:restriction base="xs:string"><xs:enumeration value="consolidated"/><xs:enumeration value="original"/></xs:restriction></xs:simpleType>
|
|
<xs:simpleType name="ChapterKind">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="general"/><xs:enumeration value="substantive"/><xs:enumeration value="final"/><xs:enumeration value="none"/><xs:enumeration value="division"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<!-- Vienības statuss konsolidētajā tekstā -->
|
|
<xs:simpleType name="UnitStatus">
|
|
<xs:restriction base="xs:string"><xs:enumeration value="in_force"/><xs:enumeration value="deleted"/><xs:enumeration value="pending"/></xs:restriction>
|
|
</xs:simpleType>
|
|
<!-- Apraksta birka, nevis juridiska klasifikācija (kā mk-noteikumi PointKind) -->
|
|
<xs:simpleType name="UnitKind">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="purpose"/><xs:enumeration value="scope"/><xs:enumeration value="definition"/>
|
|
<xs:enumeration value="lead"/><xs:enumeration value="item"/><xs:enumeration value="provision"/>
|
|
<xs:enumeration value="delegation"/><xs:enumeration value="in_force"/><xs:enumeration value="transitional"/>
|
|
<xs:enumeration value="deleted"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- ===== Saknes elements ===== -->
|
|
<xs:element name="Law">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Act" type="l:ActType"/>
|
|
<xs:element name="TextVersion" type="l:TextVersionType"/>
|
|
<xs:element name="Source" type="l:SourceType"/>
|
|
<xs:element name="EnactingFormula" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Body" type="l:BodyType"/>
|
|
<xs:element name="TransitionalProvisions" type="l:TransitionalType" minOccurs="0"/>
|
|
<xs:element name="EuReference" type="l:EuReferenceType" minOccurs="0"/>
|
|
<!-- Noslēguma daļa (AKN conclusions) -->
|
|
<xs:element name="InForceStatement" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Adoption" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Promulgation" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Signatory" type="l:SignatoryType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="Annex" type="l:AnnexType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="DataVersion" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence><xs:element name="Change" type="l: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="l:DocId" use="required"/>
|
|
<xs:attribute name="schemaVersion" type="xs:string" use="required" fixed="0.1"/>
|
|
</xs:complexType>
|
|
<xs:key name="elementKey">
|
|
<xs:selector xpath=".//l:Chapter|.//l:Article|.//l:Part|.//l:Point|l:TransitionalProvisions|l:EuReference|l:EuReference/l:Item|l:Annex"/>
|
|
<xs:field xpath="@id"/>
|
|
</xs:key>
|
|
</xs:element>
|
|
|
|
<!-- ===== Akta rekvizīti ===== -->
|
|
<xs:complexType name="ActType">
|
|
<xs:sequence>
|
|
<xs:element name="Title" type="l:NonEmptyText"/>
|
|
<xs:element name="Issuer" type="l:NonEmptyText"/>
|
|
<xs:element name="Type" type="l:NonEmptyText"/>
|
|
<xs:element name="Adopted" type="xs:date"/>
|
|
<xs:element name="Published" type="l:PublicationType"/>
|
|
<xs:element name="InForce" type="xs:date" minOccurs="0"/>
|
|
<xs:element name="Status" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="LikumiId" type="xs:positiveInteger" minOccurs="0"/>
|
|
<xs:element name="Url" type="xs:anyURI" minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="PublicationType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="l:NonEmptyText">
|
|
<xs:attribute name="date" type="xs:date"/>
|
|
<xs:attribute name="issue" type="l:NonEmptyText"/>
|
|
<xs:attribute name="opId" type="l:NonEmptyText"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<!-- Redakcija: AKN FRBR Expression. Grozījumi = AKN lifecycle/eventRef. -->
|
|
<xs:complexType name="TextVersionType">
|
|
<xs:sequence>
|
|
<xs:element name="Amendment" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="l:NonEmptyText">
|
|
<xs:attribute name="adopted" type="xs:date"/>
|
|
<xs:attribute name="published" type="l:NonEmptyText"/>
|
|
<xs:attribute name="inForce" type="xs:date"/>
|
|
<xs:attribute name="url" type="xs:anyURI"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="basis" type="l:TextBasis" use="required"/>
|
|
<xs:attribute name="asOf" type="xs:date" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<!-- Avots: fails, ko iesniedza lietotājs (ne obligāti URL tīmeklī) -->
|
|
<xs:complexType name="SourceType">
|
|
<xs:sequence>
|
|
<xs:element name="File" type="l:NonEmptyText"/>
|
|
<xs:element name="SHA256" type="l:Sha256"/>
|
|
<xs:element name="Retrieved" type="xs:date"/>
|
|
<xs:element name="Url" type="xs:anyURI" minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- ===== Struktūra ===== -->
|
|
<xs:complexType name="BodyType">
|
|
<xs:choice maxOccurs="unbounded">
|
|
<xs:element name="Chapter" type="l:ChapterType"/>
|
|
<xs:element name="Article" type="l:ArticleType"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ChapterType">
|
|
<xs:sequence>
|
|
<xs:element name="Title" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Note" type="l:NonEmptyText" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="Chapter" type="l:ChapterType"/>
|
|
<xs:element name="Article" type="l:ArticleType"/>
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
<xs:attribute name="n" type="l:NonEmptyText"/>
|
|
<xs:attribute name="kind" type="l:ChapterKind" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<!-- Pants: virsraksts + vai nu teksts, vai daļas. Piezīme = redakcijas atzīme "(Ar grozījumiem, kas izdarīti ar ...)". -->
|
|
<xs:complexType name="ArticleType">
|
|
<xs:sequence>
|
|
<xs:element name="Heading" type="l:NonEmptyText" minOccurs="0"/>
|
|
<!-- bez teksta tikai pantam ar status="pending" (pieņemts, vēl nav spēkā; teksts nav konsolidētajā redakcijā) -->
|
|
<xs:choice minOccurs="0">
|
|
<xs:element name="Part" type="l:PartType" maxOccurs="unbounded"/>
|
|
<xs:sequence>
|
|
<xs:element name="Text" type="l:NonEmptyText"/>
|
|
<xs:element name="Point" type="l:PointType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:choice>
|
|
<xs:element name="Note" type="l:NonEmptyText" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
<xs:attribute name="n" type="l:NonEmptyText" use="required"/>
|
|
<xs:attribute name="status" type="l:UnitStatus" default="in_force"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="PartType">
|
|
<xs:sequence>
|
|
<xs:element name="Text" type="l:NonEmptyText"/>
|
|
<xs:element name="Point" type="l:PointType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="Note" type="l:NonEmptyText" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
<xs:attribute name="n" type="l:NonEmptyText" use="required"/>
|
|
<xs:attribute name="kind" type="l:UnitKind" default="provision"/>
|
|
<xs:attribute name="status" type="l:UnitStatus" default="in_force"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="PointType">
|
|
<xs:sequence>
|
|
<xs:element name="Text" type="l:NonEmptyText"/>
|
|
<xs:element name="Point" type="l:PointType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="Note" type="l:NonEmptyText" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
<xs:attribute name="n" type="l:NonEmptyText" use="required"/>
|
|
<xs:attribute name="kind" type="l:UnitKind" default="item"/>
|
|
<xs:attribute name="status" type="l:UnitStatus" default="in_force"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="TransitionalType">
|
|
<xs:sequence>
|
|
<xs:element name="Title" type="l:NonEmptyText"/>
|
|
<xs:element name="Point" type="l:PointType" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="EuReferenceType">
|
|
<xs:sequence>
|
|
<xs:element name="Title" type="l:NonEmptyText"/>
|
|
<xs:element name="Lead" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Item" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence><xs:element name="Text" type="l:NonEmptyText"/></xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
<xs:attribute name="celex" type="l:NonEmptyText"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="SignatoryType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="l:NonEmptyText"><xs:attribute name="role" type="l:NonEmptyText" use="required"/></xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="AnnexType">
|
|
<xs:sequence>
|
|
<xs:element name="Heading" type="l:NonEmptyText"/>
|
|
<xs:element name="Title" type="l:NonEmptyText" minOccurs="0"/>
|
|
<xs:element name="Line" type="l:NonEmptyText" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="l:ElementId" use="required"/>
|
|
<xs:attribute name="n" type="l:NonEmptyText"/>
|
|
</xs:complexType>
|
|
</xs:schema>
|