Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for oereblex api version 1.2.3 #247

Merged
merged 3 commits into from
Apr 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Changelog
2.0.4
-----

Supported GEO-Link API versions: v1.0.0, v1.1.0, v1.1.1, v1.2.0, v1.2.1, v1.2.2 (default)
Supported GEO-Link API versions: v1.0.0, v1.1.0, v1.1.1, v1.2.0, v1.2.1, v1.2.2 (default), v1.2.3

- Drop support for Python 3.7

Expand Down
3 changes: 3 additions & 0 deletions geolink_formatter/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ class SCHEMA(object):
V1_2_2 = '1.2.2'
"""str: geoLink schema version 1.2.2"""

V1_2_3 = '1.2.3'
"""str: geoLink schema version 1.2.3"""


class XML(object):

Expand Down
157 changes: 157 additions & 0 deletions geolink_formatter/schema/v1.2.3.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
xmlns:vc='http://www.w3.org/2007/XMLSchema-versioning'
vc:minVersion='1.1'>
<xs:element name="geolinks">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="document" type="geolink_document"></xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="prepublinks">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="document">
<xs:alternative test="@doctype = 'prepublication'" type="prepublink_prepublication_document"/>
<xs:alternative type="prepublink_other_document"/>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="document_base">
<xs:sequence>
<xs:element name="file" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="category">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="main" />
<xs:enumeration value="additional" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="description" type="xs:string" />
<xs:attribute name="href" type="xs:string" />
<xs:attribute name="title" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
<xs:attribute name="federal_level">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A livello intercantonale" />
<xs:enumeration value="Bezirk" />
<xs:enumeration value="Bund" />
<xs:enumeration value="Canton" />
<xs:enumeration value="Cantone" />
<xs:enumeration value="Chantun" />
<xs:enumeration value="Commune" />
<xs:enumeration value="Comune" />
<xs:enumeration value="Confédération" />
<xs:enumeration value="Confederazione" />
<xs:enumeration value="Confederaziun" />
<xs:enumeration value="Fürstentum" />
<xs:enumeration value="Gemeinde" />
<xs:enumeration value="Intercantonal" />
<xs:enumeration value="Interchantunal" />
<xs:enumeration value="Interkantonal" />
<xs:enumeration value="Kanton" />
<xs:enumeration value="Vischnanca" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="language">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="de" />
<xs:enumeration value="fr" />
<xs:enumeration value="it" />
<xs:enumeration value="rm" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="authority" type="xs:string" />
<xs:attribute name="authority_url" type="xs:string" />
<xs:attribute name="cycle" type="xs:string" />
<xs:attribute name="title" type="xs:string" />
<xs:attribute name="number" type="xs:string" />
<xs:attribute name="abbreviation" type="xs:string" />
<xs:attribute name="instance" type="xs:string" />
<xs:attribute name="type" type="xs:string" />
<xs:attribute name="subtype" type="xs:string" />
<xs:attribute name="approval_date" type="xs:string" />
<xs:attribute name="publication_date" type="xs:string" />
<xs:attribute name="index" type="xs:integer" />
</xs:complexType>
<xs:complexType name="prepublink_prepublication_document">
<xs:complexContent>
<xs:extension base="document_base">
<xs:attribute name="status" type="xs:string" />
<xs:attribute name="status_start_date" type="xs:string" />
<xs:attribute name="status_end_date" type="xs:string" />
<xs:attribute name="doctype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="prepublication" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="prepublink_other_document">
<xs:complexContent>
<xs:extension base="document_base">
<xs:attribute name="municipality" type="xs:string" />
<xs:attribute name="category">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="main" />
<xs:enumeration value="related" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="decree_date" type="xs:string" />
<xs:attribute name="enactment_date" type="xs:string" />
<xs:attribute name="abrogation_date" type="xs:string" />
<xs:attribute name="doctype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="edict" />
<xs:enumeration value="decree" />
<xs:enumeration value="notice" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="geolink_document">
<xs:complexContent>
<xs:extension base="document_base">
<xs:attribute name="category">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="main" />
<xs:enumeration value="related" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="municipality" type="xs:string" />
<xs:attribute name="decree_date" type="xs:string" />
<xs:attribute name="enactment_date" type="xs:string" />
<xs:attribute name="abrogation_date" type="xs:string" />
<xs:attribute name="doctype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="edict" />
<xs:enumeration value="decree" />
<xs:enumeration value="notice" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
45 changes: 45 additions & 0 deletions tests/resources/geolink_v1.2.3.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<geolinks>
<document authority="Bauverwaltung Gemeinde" authority_url="http%3A%2F%2Fwww.zihlschlacht-sitterdorf.ch"
category="main" doctype="decree" enactment_date="2001-03-27"
federal_level="Gemeinde" id="1500" instance="DBU" subtype="Gestaltungsplan"
title="Tiefkühllager" type="Sondernutzungsplan" decree_date="2001-03-15" number="1A"
abbreviation="abbr" municipality="Testgemeinde">
<file category="main" href="/api/attachments/4735" title="2918-E-1.pdf" description="2918-E-1.pdf"></file>
<file category="additional" href="/api/attachments/4736" title="2918-P-1.pdf" description="Plan 1"></file>
<file category="additional" href="/api/attachments/4737" title="2918-P-2.pdf" description="Plan 2"></file>
<file category="additional" href="/api/attachments/4738" title="2918-P-3.pdf" description="Plan 3"></file>
<file category="additional" href="/api/attachments/4739" title="2918-S-1.pdf" description=""></file>

</document>
<document authority="Staatskanzlei Kanton Thurgau" authority_url="http%3A%2F%2Fwww.staatskanzlei.tg.ch"
category="related" decree_date="2011-12-21" doctype="edict" enactment_date="2017-04-01"
federal_level="Kanton" id="4782" title="Planungs- und Baugesetz">
<file category="main"
href="http://www.rechtsbuch.tg.ch/frontend/versions/pdf_file_with_annex/1379?locale=de"
description="700.pdf"
title="700.pdf"></file>

</document>
<document authority="Bundeskanzlei" authority_url="https%3A%2F%2Fwww.bk.admin.ch" category="related"
doctype="edict" enactment_date="2016-01-01" federal_level="Bund" id="4776"
title="Bundesgesetz über die Raumplanung"
index="1">
<file category="main" href="http://www.lexfind.ch/dtah/136884/2" description="700.de.pdf" title="700.de.pdf"></file>

</document>
<document authority="Staatskanzlei Kanton Thurgau" authority_url="http%3A%2F%2Fwww.staatskanzlei.tg.ch"
category="related" decree_date="2012-09-18" doctype="edict" enactment_date="2016-11-05"
federal_level="Kanton" id="4783"
title="Verordnung des Regierungsrates zum Planungs- und Baugesetz und zur Interkantonalen Vereinbarung über die Harmonisierung der Baubegriffe"
index="2">
<file category="main"
href="http://www.rechtsbuch.tg.ch/frontend/versions/pdf_file_with_annex/1319?locale=de"
description="700.1.pdf"
title="700.1.pdf"></file>

</document>
<document category="related" doctype="notice" id="4" title="Beispiel Hinweis Dokument" index="3">
<file category="main" href="/api/attachments/5101" description="example_notice.pdf" title="example_notice.pdf"></file>
</document>
</geolinks>
45 changes: 45 additions & 0 deletions tests/resources/geolink_v1.2.3_error_status.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<geolinks>
<document authority="Bauverwaltung Gemeinde" authority_url="http%3A%2F%2Fwww.zihlschlacht-sitterdorf.ch"
category="main" doctype="decree" enactment_date="2001-03-27"
federal_level="Gemeinde" id="1500" instance="DBU" subtype="Gestaltungsplan"
title="Tiefkühllager" type="Sondernutzungsplan" decree_date="2001-03-15" number="1A"
abbreviation="abbr" municipality="Testgemeinde" status="status_1">
<file category="main" href="/api/attachments/4735" title="2918-E-1.pdf" description="2918-E-1.pdf"></file>
<file category="additional" href="/api/attachments/4736" title="2918-P-1.pdf" description="Plan 1"></file>
<file category="additional" href="/api/attachments/4737" title="2918-P-2.pdf" description="Plan 2"></file>
<file category="additional" href="/api/attachments/4738" title="2918-P-3.pdf" description="Plan 3"></file>
<file category="additional" href="/api/attachments/4739" title="2918-S-1.pdf" description=""></file>

</document>
<document authority="Staatskanzlei Kanton Thurgau" authority_url="http%3A%2F%2Fwww.staatskanzlei.tg.ch"
category="related" decree_date="2011-12-21" doctype="edict" enactment_date="2017-04-01"
federal_level="Kanton" id="4782" title="Planungs- und Baugesetz">
<file category="main"
href="http://www.rechtsbuch.tg.ch/frontend/versions/pdf_file_with_annex/1379?locale=de"
description="700.pdf"
title="700.pdf"></file>

</document>
<document authority="Bundeskanzlei" authority_url="https%3A%2F%2Fwww.bk.admin.ch" category="related"
doctype="edict" enactment_date="2016-01-01" federal_level="Bund" id="4776"
title="Bundesgesetz über die Raumplanung"
index="1">
<file category="main" href="http://www.lexfind.ch/dtah/136884/2" description="700.de.pdf" title="700.de.pdf"></file>

</document>
<document authority="Staatskanzlei Kanton Thurgau" authority_url="http%3A%2F%2Fwww.staatskanzlei.tg.ch"
category="related" decree_date="2012-09-18" doctype="edict" enactment_date="2016-11-05"
federal_level="Kanton" id="4783"
title="Verordnung des Regierungsrates zum Planungs- und Baugesetz und zur Interkantonalen Vereinbarung über die Harmonisierung der Baubegriffe"
index="2">
<file category="main"
href="http://www.rechtsbuch.tg.ch/frontend/versions/pdf_file_with_annex/1319?locale=de"
description="700.1.pdf"
title="700.1.pdf"></file>

</document>
<document category="related" doctype="notice" id="4" title="Beispiel Hinweis Dokument" index="3">
<file category="main" href="/api/attachments/5101" description="example_notice.pdf" title="example_notice.pdf"></file>
</document>
</geolinks>
52 changes: 52 additions & 0 deletions tests/resources/prepublink_v1.2.3.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<prepublinks>
<document authority="Bauverwaltung Gemeinde" authority_url="http%3A%2F%2Fwww.zihlschlacht-sitterdorf.ch" doctype="prepublication" federal_level="Gemeinde" id="7395" instance="Gemeinde" status="RBG (1) beschlossen, Genehmigungsantrag ausstehend" status_start_date="2022-01-01" status_end_date="2023-01-01" title="Tiefkühllager" type="Sondernutzungsplan">
<file category="main" href="/api/attachments/4735" title="2918-E-1.pdf" description="2918-E-1.pdf"></file>
<file category="additional" href="/api/attachments/4736" title="2918-P-1.pdf" description="Plan 1"></file>
<file category="additional" href="/api/attachments/4737" title="2918-P-2.pdf" description="Plan 2"></file>
<file category="additional" href="/api/attachments/4738" title="2918-P-3.pdf" description="Plan 3"></file>
<file category="additional" href="/api/attachments/4739" title="2918-S-1.pdf" description=""></file>
</document>
<document authority="Bauverwaltung Gemeinde" authority_url="http%3A%2F%2Fwww.zihlschlacht-sitterdorf.ch"
category="main" doctype="decree" enactment_date="2001-03-27"
federal_level="Gemeinde" id="1500" instance="DBU" subtype="Gestaltungsplan"
title="Tiefkühllager" type="Sondernutzungsplan" decree_date="2001-03-15" number="1A"
abbreviation="abbr" municipality="Testgemeinde">
<file category="main" href="/api/attachments/4735" title="2918-E-1.pdf" description="2918-E-1.pdf"></file>
<file category="additional" href="/api/attachments/4736" title="2918-P-1.pdf" description="Plan 1"></file>
<file category="additional" href="/api/attachments/4737" title="2918-P-2.pdf" description="Plan 2"></file>
<file category="additional" href="/api/attachments/4738" title="2918-P-3.pdf" description="Plan 3"></file>
<file category="additional" href="/api/attachments/4739" title="2918-S-1.pdf" description=""></file>

</document>
<document authority="Staatskanzlei Kanton Thurgau" authority_url="http%3A%2F%2Fwww.staatskanzlei.tg.ch"
category="related" decree_date="2011-12-21" doctype="edict" enactment_date="2017-04-01"
federal_level="Kanton" id="4782" title="Planungs- und Baugesetz">
<file category="main"
href="http://www.rechtsbuch.tg.ch/frontend/versions/pdf_file_with_annex/1379?locale=de"
description="700.pdf"
title="700.pdf"></file>

</document>
<document authority="Bundeskanzlei" authority_url="https%3A%2F%2Fwww.bk.admin.ch" category="related"
doctype="edict" enactment_date="2016-01-01" federal_level="Bund" id="4776"
title="Bundesgesetz über die Raumplanung"
index="1">
<file category="main" href="http://www.lexfind.ch/dtah/136884/2" description="700.de.pdf" title="700.de.pdf"></file>

</document>
<document authority="Staatskanzlei Kanton Thurgau" authority_url="http%3A%2F%2Fwww.staatskanzlei.tg.ch"
category="related" decree_date="2012-09-18" doctype="edict" enactment_date="2016-11-05"
federal_level="Kanton" id="4783"
title="Verordnung des Regierungsrates zum Planungs- und Baugesetz und zur Interkantonalen Vereinbarung über die Harmonisierung der Baubegriffe"
index="2">
<file category="main"
href="http://www.rechtsbuch.tg.ch/frontend/versions/pdf_file_with_annex/1319?locale=de"
description="700.1.pdf"
title="700.1.pdf"></file>

</document>
<document category="related" doctype="notice" id="4" title="Beispiel Hinweis Dokument" index="3">
<file category="main" href="/api/attachments/5101" description="example_notice.pdf" title="example_notice.pdf"></file>
</document>
</prepublinks>
Loading