| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 1 | = Beispieldaten: Landesrecht weiterer Länder |
| 2 | Matthias Andreas Benkard |
| Matthias Andreas Benkard | a5d5544 | 2026-08-23 08:31:49 +0200 | [diff] [blame] | 3 | // SPDX-FileCopyrightText: 2020 Matthias Andreas Benkard <code@mail.matthias.benkard.de> |
| 4 | // SPDX-License-Identifier: AGPL-3.0-or-later |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 5 | |
| 6 | Ergänzend zum bayerischen Belegfall (`BayJG/`) sind hier Änderungsgesetze und |
| 7 | Änderungsverordnungen aus dem Landesrecht weiterer Länder gesammelt. Sie dienen als |
| 8 | Kandidaten für künftige Ertüchtigungswellen und decken Konventionen ab, die im Bundes- und |
| 9 | im bayerischen Recht so nicht vorkommen. |
| 10 | |
| 11 | WICHTIG: Anders als Bayern (Art./§-Inversion) gliedern alle übrigen Länder ihre Stammgesetze |
| 12 | in *§* (wie der Bund) mit `Artikel N` als Änderungsgesetz-Container. Die neuen Testdimensionen |
| 13 | liegen daher im *PDF-Layout* und in *Befehlsidiom-Varianten*, nicht in der Gliederung. |
| 14 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 15 | Zu jedem Beispiel gehört ein *Änderungsgesetz*; wo auch die *konsolidierte Stammfassung* vorliegt |
| 16 | (nötig für einen Akzeptanztest wie bei BayJG), ist der Fall bis zur Anwendung belegt. Die |
| 17 | Stammfassung kommt je Land aus dem Portal des Landes oder als handgepflegter Klartext analog zu |
| 18 | `BayJG/BayJG-alt.txt`; welcher Weg trägt, steht unter „Beschaffung der Stammfassungen“. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 19 | |
| 20 | == Übersicht |
| 21 | |
| 22 | [cols="1,3,3",options="header"] |
| 23 | |=== |
| 24 | |Land |Datei / Fundstelle |Besonderheit für das Werkzeug |
| 25 | |
| 26 | |Berlin |
| 27 | |`Berlin/GVBl-2026-17_ASOG-LAF-AendG.pdf` — GVBl. für Berlin Nr. 17 vom 11.06.2026, S. 234 |
| 28 | (Gesetz zur Änderung des ASOG und des LAF-Errichtungsgesetzes vom 03.06.2026) |
| Matthias Andreas Benkard | c86a73a | 2026-07-26 08:02:10 +0200 | [diff] [blame] | 29 | |*Zweispaltiges Layout* (Herausgabe über Wolters Kluwer). Der Spaltenspike ist erledigt: Die |
| 30 | Reihenfolge des Inhaltsstroms *ist* bereits die Lesereihenfolge, eine koordinatenbasierte |
| 31 | Spaltenerkennung ist nicht nötig. Verbleibende Layout-Eigenheit sind ganzseitenbreite Rahmen |
| 32 | (Titelblock, laufender Seitenkopf), die an falscher Stelle im Strom stehen — der Seitenkopf wird |
| 33 | herausgeschnitten, der Titelblock landet weiterhin mitten im Text. Tiefe Verschachtelung |
| 34 | a)/aa)/bb)/cc); Artikel 1 ändert eine *Anlage* mit eigener Nummern-Gliederung. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 35 | |
| 36 | |Schleswig-Holstein |
| 37 | |`SchleswigHolstein/GVOBl-2026-27_Kommunalrecht-AendG.pdf` — GVOBl. Schl.-H. 2026/27 vom |
| 38 | 30.03.2026 (Gesetz zur Änderung des Gesetzes zur Änderung kommunalrechtlicher Vorschriften) |
| 39 | |Neues Neufassungsidiom „§ 34a Absatz 1 *erhält folgende Fassung*:" (statt „wird wie folgt |
| 40 | gefasst"); *hochgestellte Fußnotenmarker an Artikel-Überschriften* („Artikel 1 ¹)"); Meta- |
| 41 | Änderung an einem anderen Änderungsgesetz („Artikel 5 wird gestrichen"). |
| 42 | |
| 43 | |Hessen |
| 44 | |`Hessen/GVBl-2026-05_11-AendVO-verkehrsrechtl-Zustaendigkeiten.pdf` — GVBl. Hessen Nr. 5 vom |
| 45 | 03.02.2026 (Elfte Verordnung zur Änderung der Verordnung zur Bestimmung verkehrsrechtlicher |
| 46 | Zuständigkeiten) |
| 47 | |*Sperrsatz* in Datums- und Signaturzeilen („3 . F e bru a r 2 02 6", „Der Mi n is t er pr |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 48 | äs i d e nt") — er trifft, anders als erwartet, nur den Unterschriftenblock und keinen Befehl; |
| 49 | *abgekürztes „Abs."/„Nr." im §-Kontext*; die *FFN-Fußnote der Überschrift* („* Ändert FFN 61-60") |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 50 | steht am Seitenfuß mitten zwischen zwei Gliederungspunkten. Die Stammverordnung führt *keine |
| 51 | Paragraphenüberschriften* und gliedert sich in *ausgeschriebene Ordinalzahlen* („Erster Teil"). |
| 52 | Voller Akzeptanzfall, Stammfassung `Hessen/StVRZustV-alt.txt`, Prüfmaßstab |
| 53 | `Hessen/StVRZustV-neu.txt`. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 54 | |
| 55 | |Niedersachsen |
| 56 | |`Niedersachsen/Nds-GVBl-2026-10_ELER-Foerdergesetz-AendG.pdf` — Nds. GVBl. 2026 Nr. 10 vom |
| 57 | 04.02.2026 (Gesetz zur Änderung des Niedersächsischen ELER-Fördergesetzes) + |
| 58 | `Nds-GVBl-2026-23_BeurtVO-Steuer_amtliche-Satznummern.pdf` — Nr. 23 vom 18.03.2026 |
| 59 | |*Hochgestellte amtliche Satznummern ¹²³* wie Bayern, aber im *§-Modus* (nicht invertiert) → |
| 60 | das bayerische Superskriptmodul wäre wiederverwendbar. Nr. 23 (Verordnung) zeigt die |
| 61 | Satznummern deutlich; Nr. 10 ist das eigentliche Änderungsgesetz (Idiom „Absatz 1 erhält |
| 62 | folgende Fassung"). Saubere einspaltige PDFs über die stabile API `verkuendung-niedersachsen.de`. |
| 63 | |
| 64 | |Baden-Württemberg |
| 65 | |`BadenWuerttemberg/GBl-2026-26_KommunalwahlO-AendVO.pdf` — GBl. BW 2026 Nr. 26 vom 27.02.2026 |
| 66 | (Verordnung des Innenministeriums zur Änderung der Kommunalwahlordnung) |
| 67 | |Standard-HdR-Befehle im GBl-Layout; „werden nach dem Wort … die Wörter … eingefügt", |
| 68 | „werden die Wörter … gestrichen". |
| 69 | |
| 70 | |Nordrhein-Westfalen |
| 71 | |`NRW/GV-NRW-2026-S202_22-Rundfunkaenderungsgesetz.pdf` — GV. NRW. 2026 Nr. 7 vom 31.03.2026, |
| 72 | S. 202 (22. Rundfunkänderungsgesetz) |
| 73 | |Umfangreiches Mehrgesetz-Artikelgesetz (17 S.); „Die Inhaltsübersicht wird wie folgt |
| Matthias Andreas Benkard | 35e90f4 | 2026-07-25 10:00:36 +0200 | [diff] [blame] | 74 | geändert", „§ … (weggefallen)". Bereitgestellt aus dem amtlichen recht.nrw.de-PDF. *Unbalancierte |
| 75 | Anführungszeichen* im amtlichen Satz (Artikel 2 Nr. 7 b und Nr. 11). Konsolidierte Fassungen sind |
| 76 | über `recht.nrw.de/lrgv/gesetz/<TTMMJJJJ>-<Kurztitel-Slug>` frei und serverseitig gerendert |
| 77 | abrufbar; der Datumspräfix ist der Gültigkeitsbeginn der jeweiligen Fassung. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 78 | |
| 79 | |Sachsen |
| 80 | |`Sachsen/SaechsGVBl-2026-S134_AendG-SaechsBeamtVG_revosax.pdf` — SächsGVBl. S. 134 |
| 81 | (Gesetz zur Änderung des Sächsischen Beamtenversorgungsgesetzes vom 13.04.2026) |
| 82 | |Kompaktes Änderungsgesetz, Verschachtelung a)/aa)/bb)/cc), „wird durch den folgenden Satz |
| 83 | ersetzt". Quelle: revosax-Gesamtansicht (nicht der Original-GVBl-Satz — recht-sachsen.de ist ein |
| 84 | cookie-/kostenpflichtiger Shop). |
| 85 | |
| 86 | |Thüringen |
| 87 | |`Thueringen/GVBl-TH-2026-02_KiGaFinanzVO-AendVO-ua.pdf` — GVBl. Freistaat Thüringen Nr. 2 vom |
| 88 | 13.02.2026 (u. a. Vierte Verordnung zur Änderung der Thüringer Kindergartenfinanzierungs- |
| 89 | verordnung) |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 90 | |Sammelheft (28 S.) mit vier Verkündungen, davon eine Änderungsverordnung. Unterscheidend: Das |
| 91 | Blatt führt *kein einziges* `„`, sondern setzt gerade Anführungszeichen beidseitig; dazu das |
| 92 | Idiom „die Verweisung „X" durch die Verweisung „Y" ersetzt", ein Rahmen, der sich auf eine |
| 93 | Untereinheit der umnummerierten Norm verengt, und eine Bereichs-Umnummerierung über einen |
| 94 | aufgehobenen Platzhalter hinweg. Voller Akzeptanzfall, Stammfassung |
| 95 | `Thueringen/ThuerKigaFinVO-alt.txt`. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 96 | |=== |
| 97 | |
| Matthias Andreas Benkard | 3f81add | 2026-07-24 05:34:32 +0200 | [diff] [blame] | 98 | == Stand der Umsetzung |
| 99 | |
| 100 | * *Sachsen* ist als erster nichtbayerischer Belegfall vollständig umgesetzt: konsolidierte |
| 101 | Vorfassung `Sachsen/SaechsBeamtVG-alt.txt` (kanonischer Klartext, Fassung vom 01.02.2025, aus |
| 102 | der archivierten revosax-Volltextfassung abgeleitet) und End-to-End-Akzeptanztest |
| 103 | (`EndToEndTest.saechsBeamtVgAcceptance`; fünf Befehle, kein Rest). |
| Matthias Andreas Benkard | 43e9161 | 2026-07-24 22:29:35 +0200 | [diff] [blame] | 104 | * *Niedersachsen* ist umgesetzt: `Niedersachsen/NEFG-alt.txt` (seit 2022 unveränderter NEFG, aus |
| Matthias Andreas Benkard | 83ba9f0 | 2026-07-25 10:35:45 +0200 | [diff] [blame] | 105 | dem zweispaltigen Nds. GVBl 2022 Nr. 33) und `EndToEndTest.nefgAcceptance` (alle sieben Befehle |
| 106 | angewandt, kein Rest — einschließlich der beiden niedersächsischen Einfügeformen: Sachnummer mit |
| 107 | Leerzeichen „§ 2 a“ und gliederungsbezogene Einfügung „In Kapitel 4 wird nach § 12 …“). |
| Matthias Andreas Benkard | 519c1e7 | 2026-07-25 09:11:56 +0200 | [diff] [blame] | 108 | * *Schleswig-Holstein* ist bis einschließlich der Befehlserkennung umgesetzt |
| 109 | (`EndToEndTest.kommunalrechtAendGSchleswigHolstein`): Artikel 1 trifft die Gemeindeordnung, |
| 110 | Artikel 2 die Kreisordnung, je ein Neufassungsbefehl, kein unbekannter Befehl. Ein voller |
| 111 | Akzeptanztest ist *nicht* möglich — siehe „Noch offen“. |
| Matthias Andreas Benkard | a201e83 | 2026-08-02 19:45:34 +0200 | [diff] [blame] | 112 | * *Nordrhein-Westfalen* ist der Massentest-Fall: aus demselben Heft sind alle vier ändernden |
| 113 | Artikel als Akzeptanzfälle hinterlegt. |
| Matthias Andreas Benkard | bac648b | 2026-07-28 07:51:09 +0200 | [diff] [blame] | 114 | + |
| 115 | -- |
| 116 | `EndToEndTest.tmzGesetzAcceptance`:: Artikel 3 (Telemedienzuständigkeitsgesetz), vier Befehle, |
| 117 | kein Rest. Stamm `NRW/TMZ-Gesetz-alt.txt`. |
| 118 | `EndToEndTest.wdrGesetzAcceptance`:: Artikel 1 (WDR-Gesetz), 101 Befehle an 31 Normen, davon 100 |
| 119 | angewandt. Stamm `NRW/WDR-Gesetz-alt.txt` (Fassung vom 01.01.2025). Der Fall trägt die |
| 120 | Umnummerierungs-Kaskaden (§ 3: Absatz 2 → zwei Absätze, die Absätze 3 bis 11 rücken auf, ein neuer |
| 121 | Absatz 13 kommt hinzu; § 15 Absatz 3: Nummer 22 entfällt, 23 bis 37 rücken auf), den Sammelrahmen |
| 122 | „Es werden ersetzt:“ und die Angabe-Befehle auf die Inhaltsübersicht. Einziges Residuum ist |
| 123 | Nr. 13 e) aa): „der Punkt am Ende des Satzes“ ist in einer zweisätzigen Nummer nicht eindeutig. |
| 124 | `EndToEndTest.lmgNrwAcceptance`:: Artikel 2 (Landesmediengesetz), 18 Befehle, kein Rest. Stamm |
| 125 | `NRW/LMG-NRW-alt.txt` (Fassung vom 01.01.2025). |
| Matthias Andreas Benkard | a201e83 | 2026-08-02 19:45:34 +0200 | [diff] [blame] | 126 | `EndToEndTest.rundfunkAusfuehrungsgesetzAcceptance`:: Artikel 4 (17. RÄStV-AusfG), ein Befehl, |
| 127 | kein Rest. Stamm `NRW/17-RAEStV-AusfG-alt.txt` (Erstfassung vom 17.12.2015, bis 2026 unverändert). |
| 128 | Der Artikel führt seinen Befehl *ohne* Gliederungspunkt — der Text nach der Änderungsformel ist |
| 129 | der Befehl —, und das Zitat der neuen Fassung trägt verschachtelte Anführungszeichen (ein |
| 130 | vollständiges „durch Artikel 3 …“ innerhalb einer eckigen Klammer). Beides trägt die vorhandene |
| 131 | Maschinerie. |
| Matthias Andreas Benkard | bac648b | 2026-07-28 07:51:09 +0200 | [diff] [blame] | 132 | -- |
| 133 | + |
| Matthias Andreas Benkard | a201e83 | 2026-08-02 19:45:34 +0200 | [diff] [blame] | 134 | Alle vier Ergebnisse sind normweise gegen die amtliche Fassung vom 01.04.2026 abgeglichen. Es |
| Matthias Andreas Benkard | bac648b | 2026-07-28 07:51:09 +0200 | [diff] [blame] | 135 | bleiben nur Abweichungen, in denen die amtliche Nachfassung selbst vom Befehlswortlaut abweicht |
| 136 | (§ 15 WDR-Gesetz: „des“ vor „Bundesreisekostengesetzes“ entfallen; § 7 und § 21 WDR-Gesetz: ein |
| 137 | überzähliges Anführungszeichen aus dem Änderungsgesetz; § 93 LMG NRW: zusätzlich die Wörter |
| Matthias Andreas Benkard | a201e83 | 2026-08-02 19:45:34 +0200 | [diff] [blame] | 138 | „Film (“ gestrichen) — ÄndGgner wendet dort den Wortlaut an. Damit ist das Heft GV. NRW. 7/2026 |
| 139 | vollständig belegt. |
| Matthias Andreas Benkard | c86a73a | 2026-07-26 08:02:10 +0200 | [diff] [blame] | 140 | * *Berlin* ist bis zur Befehlserkennung umgesetzt (`EndToEndTest.asogLafAendGBerlin`): Artikel 2 |
| 141 | (LAF-Errichtungsgesetz) wird vollständig erkannt, beide Punkte erben ihr Ziel aus der |
| Matthias Andreas Benkard | 5f30f56 | 2026-07-28 06:00:16 +0200 | [diff] [blame] | 142 | Änderungsformel. Artikel 1 wird seit der Wortanker-Einfügung und der Zitatgrenze am |
| 143 | Aufzählungspunkt *vollständig* erkannt — alle sechs Befehle, einschließlich der Änderungen an der |
| 144 | unnummerierten Anlage. Ein voller Akzeptanztest bleibt an der Stammfassung hängen (siehe „Noch |
| 145 | offen“). |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 146 | * *Hessen* ist *vollständig* umgesetzt (`EndToEndTest.verkehrsZustVAendVOHessen`): alle |
| 147 | 21 Befehle des Artikels 1 werden erkannt und angewandt, und alle 52 Normen gleichen danach |
| 148 | zeichengenau der amtlichen Nachfassung vom 4. Februar 2026. Der als Härtetest erwartete Sperrsatz erwies sich als |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 149 | harmlos — er trifft nur den Unterschriftenblock. Zu tun war dreierlei: die laufende GVBl-Fußzeile |
| 150 | und der Masthead als Kolumnentitel, die Sternchen-Fußnote der Überschrift („* Ändert FFN 61-60“, |
| 151 | am Seitenfuß zwischen zwei Gliederungspunkten) ebenso, und zwei Befehlsformen — der Zusatz |
| 152 | „am Ende“ darf beim Satzzeichen fehlen, und das Objekt hinter „durch“ darf auch ohne Fundstelle |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 153 | verkürzt sein. Die Stammfassung ist über eine *Browsersteuerung* aus dem Landesrechtsportal |
| 154 | beschafft; damit ist die juris-Sackgasse aufgebrochen (siehe „Beschaffung der Stammfassungen“). |
| Matthias Andreas Benkard | 43e9161 | 2026-07-24 22:29:35 +0200 | [diff] [blame] | 155 | * Baden-Württemberg (GBl 2026 Nr. 26): großes Anlage-lastiges Änderungsgesetz (§§ 4–57a + Anlagen |
| 156 | 1/3b/4b); Stammfassung/Akzeptanztest noch offen. |
| Matthias Andreas Benkard | 3f81add | 2026-07-24 05:34:32 +0200 | [diff] [blame] | 157 | |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 158 | == Beschaffung der Stammfassungen |
| 159 | |
| 160 | Für einen vollen Akzeptanztest wird die Fassung *vor* dem Änderungsgesetz gebraucht. Welcher Weg |
| 161 | dafür trägt, hängt allein vom Portal ab; die drei erprobten Wege: |
| 162 | |
| 163 | `recht.nrw.de` (Nordrhein-Westfalen):: Der bequemste Fall. Serverseitig gerendertes HTML, keine |
| 164 | Single-Page-Anwendung, `robots.txt` erlaubt alles. Das URL-Schema |
| 165 | `recht.nrw.de/lrgv/gesetz/<TTMMJJJJ>-<Kurztitel-Slug>` trägt den *Gültigkeitsbeginn der jeweiligen |
| 166 | Fassung* im Datumspräfix — Vor- und Nachfassung sind damit unmittelbar adressierbar, und das |
| 167 | Ergebnis lässt sich gegen die amtliche Nachfassung prüfen. Die Slugs findet die Suchmaske nicht |
| 168 | (Formular); sie stehen im Sitemap-Index (`robots.txt` listet `sitemap/page/1..47/sitemap.xml`, je |
| 169 | 1000 Einträge). Alte `lmi/owa/br_*`-URLs leiten auf die neuen Slugs um. |
| 170 | |
| 171 | `revosax.sachsen.de` (Sachsen):: Liefert Volltext-PDFs je Fassung, aber nur die aktuelle live. Die |
| 172 | Vorfassung kommt über die Wayback-CDX-API: Fassungs-IDs abfragen, die zum Zeitraum passende wählen, |
| 173 | per `…id_/…`-Rohform laden. Achtung, `WebFetch` erreicht `web.archive.org` nicht — nur `curl`. |
| 174 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 175 | juris-Landesportale, Browsersteuerung:: Der Weg, der die Sackgasse aufbricht — *erprobt an Hessen*. |
| 176 | Diese Portale sind Einseitenanwendungen: Jede Skriptabfrage erhält nur die rund 5,4 kB große |
| 177 | Anwendungshülle, gleich unter welcher Adresse. Ein *Browser* dagegen bekommt den Text. Er ist |
| 178 | deshalb Dokument für Dokument über eine Browsersteuerung auszulesen, nicht im Massenabzug. |
| 179 | Maßgeblich ist die Schaltfläche „Gesamtausgaben-Liste“ der Dokumentansicht: Sie führt jede Fassung |
| 180 | mit ihrem Geltungszeitraum und macht sie unter einer *datierbaren* Adresse abrufbar — |
| 181 | `/<Kennung>/document/aiz-jlr-<Dokumentkennung>@<JJJJMMTT>`; Vor- und Nachfassung sind damit |
| 182 | unmittelbar adressierbar und das Ergebnis gegen die amtliche Nachfassung prüfbar. Zwei |
| 183 | Fallstricke: Die Seite rendert nachlädig, sodass ein Auszug des sichtbaren Bereichs mitten im |
| 184 | Gesetz abbricht — maßgeblich ist der Textinhalt des Dokumentbehälters (`div.docLayoutText`); und |
| 185 | die Portale führen im Seitenkopf eine Vorbehaltsangabe zum Text- und Data-Mining |
| 186 | („tdm-reservation“), die für gemeinfreie amtliche Werke nach § 5 UrhG keine Wirkung entfalten |
| 187 | kann. Rezept im einzelnen: `Hessen/SOURCES`. |
| 188 | |
| 189 | juris-Landesportale, Skript:: Sackgasse — *geprüft* für `gesetze-rechtsprechung.sh.juris.de` |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 190 | (Schleswig-Holstein), `gesetze.berlin.de` (Berlin, trotz Eigennamen dieselbe Anwendung), |
| 191 | `landesrecht-bw.de` (Baden-Württemberg) und `rv.hessenrecht.hessen.de` (Hessen, Kennung `bshe`). |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 192 | und `landesrecht.thueringen.de` (Thüringen). |
| 193 | Alle fünf sind seit etwa Ende 2022 reine Single-Page-Anwendungen; sämtliche Dokument-URLs liefern |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 194 | nur die leere Anwendungshülle (rund 5,4 kB), die Inhalte hängen an einer tokenpflichtigen |
| 195 | Schnittstelle. Auch archivierte |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 196 | Einzelnorm-Seiten sind bereits Hüllen. Brauchbar sind allenfalls Wayback-Snapshots aus der Zeit |
| Matthias Andreas Benkard | 79b88e0 | 2026-07-26 13:33:09 +0200 | [diff] [blame] | 197 | *vor* der Umstellung — die sind aber meist zu alt für die gesuchte Fassung. Für |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 198 | `voris.niedersachsen.de` ist dasselbe zu erwarten, aber *nicht* nachgeprüft: Ein Versuch lohnt, |
| 199 | bevor man aufgibt. |
| 200 | |
| 201 | Parlamentsdokumentationen:: Der Ausweg, wo das Landesrechtportal versperrt ist. Gibt der Landtag |
| 202 | das Gesetzblatt heraus — in Thüringen ist das so —, so liegen dessen Hefte oft frei in der |
| 203 | Parlamentsdatenbank, auch die alten: |
| 204 | `parldok.thueringer-landtag.de/ParlDok/dokument/<WP>/art/GVBl/num/<Heft>/jahr/<Jahr>[/seite/<S>]`. |
| 205 | Damit lässt sich eine konsolidierte Fassung aus dem Stammheft und den Änderungsheften |
| 206 | zusammensetzen, wenn kein Portal sie fertig liefert (Rezept in `Thueringen/SOURCES`). Das Archiv |
| 207 | der Staatskanzlei (`thueringen.de/th1/tsk/gvbl/`) hilft dagegen nicht: Es antwortet Skripten mit |
| 208 | einer Bot-Schutz-Fehlerseite. |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 209 | |
| 210 | Fällt das Portal aus, bleibt der Weg über das Gesetzblatt selbst: Trägt der Einleitungssatz des |
| 211 | Änderungsgesetzes kein „zuletzt geändert durch“, so ist die Originalfassung zugleich die |
| 212 | Stammfassung (so bei Niedersachsen). Die Extraktion zweispaltiger Hefte übernimmt `--extract-only` |
| 213 | des Werkzeugs selbst; `pdftotext -layout` verschränkt dort die Spalten. |
| 214 | |
| Matthias Andreas Benkard | 5f30f56 | 2026-07-28 06:00:16 +0200 | [diff] [blame] | 215 | Ein Fallstrick beim Prüfen extrahierter Hefte: Das GV.-NRW.-Heft 7/2026 kodiert einen Teil seiner |
| 216 | Umlaute *zerlegt* (`u` + U+0308 statt `ü`, 79 Stellen, darunter dutzende „eingefügt:“/„angefügt:“). |
| 217 | Im Text ist das unsichtbar, für jedes Befehlsmuster aber ein anderes Wort. `TextBereiniger.bereinige` |
| 218 | normalisiert deshalb ganz früh nach NFC — nicht NFKC, das plättete die amtlichen Satznummern ¹²³ zu |
| 219 | gewöhnlichen Ziffern. Wer Klartext von Hand aufbereitet, sollte ihn ebenfalls in NFC ablegen; der |
| 220 | Klartext-Zweig des Loaders normalisiert zur Sicherheit mit. |
| 221 | |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 222 | == Noch offen |
| 223 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 224 | * *Schleswig-Holstein — Stammfassung noch nicht beschafft* (der Weg über die Browsersteuerung ist |
| 225 | seit Hessen offen und hier noch nicht gegangen): Das Landesportal |
| Matthias Andreas Benkard | 519c1e7 | 2026-07-25 09:11:56 +0200 | [diff] [blame] | 226 | `gesetze-rechtsprechung.sh.juris.de` ist seit Ende 2022 eine reine Single-Page-Anwendung; die |
| 227 | Dokumentinhalte liegen hinter einer anmeldepflichtigen „mylex“-API (`connectUrl` aus dem |
| 228 | `localStorage`), sämtliche Dokument-URLs liefern nur die leere Anwendungshülle. Die Wayback |
| 229 | Machine hat die serverseitig gerenderte Gesamtausgabe der Gemeindeordnung zuletzt am |
| 230 | 14.11.2022 erfasst — dort fehlt der hier geänderte § 34a noch (er wurde erst durch das Gesetz |
| 231 | vom 05.02.2025 eingefügt). Auch die archivierten Einzelnorm-Seiten (113 Stück) sind bereits |
| 232 | SPA-Hüllen ohne Inhalt. Ein voller Akzeptanztest bleibt daher offen, bis die konsolidierte |
| 233 | Fassung aus einer anderen Quelle vorliegt. |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 234 | * *Berlin — Stammfassung noch nicht beschafft* (desgleichen): `gesetze.berlin.de` ist trotz des Eigennamens dieselbe |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 235 | juris-Anwendung wie das schleswig-holsteinische Portal (Kennung `bsbe`) und ebenso |
| 236 | anmeldepflichtig. In der Wayback Machine gibt es keine serverseitig gerenderten Volltexte des |
| 237 | ASOG oder des LAF-Errichtungsgesetzes. |
| Matthias Andreas Benkard | 8177701 | 2026-07-26 08:53:10 +0200 | [diff] [blame] | 238 | * *Anlagen im kanonischen Klartext*: Anlagen sind als Änderungsziel unterstützt — im gii-XML sind |
| 239 | sie eigene Normen („Anlage 8“, „Anhang“), und `Stelle.anlagenEnbez()` löst sie auf; im GEG werden |
| 240 | anlagenbezogene Befehle angewandt. Der `LandesRechtTextParser` kennt jedoch nur „§“- und |
| 241 | „Art.“-Normköpfe: Eine handgepflegte Stammfassung kann *keine* Anlage tragen. Das ist die |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 242 | konkrete Lücke für Berlin (Artikel 1) und Baden-Württemberg (Anlagen 1/3b/4b). Beide Portale sind |
| 243 | inzwischen als juris-Anwendung *nachgeprüft* — die Lücke geht deshalb erst mit einem |
| 244 | Anlage-tragenden Stammgesetz aus einem anderen Portal auf, praktisch `recht.nrw.de`. |
| Matthias Andreas Benkard | c86a73a | 2026-07-26 08:02:10 +0200 | [diff] [blame] | 245 | * *Berlin, ganzseitenbreite Rahmen*: Titelblock und Impressum stehen im Inhaltsstrom an anderer |
| 246 | Stelle als im Satzbild (der Titelblock mitten im Fließtext der ersten Seite). Das zu beheben |
| 247 | verlangt eine geometrische Lesereihenfolge (XY-Cut), nicht bloß eine Spaltenerkennung. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 248 | * *Rheinland-Pfalz*: Die Verkündungsplattform `verkuendung.rlp.de` verkündet erst seit dem |
| 249 | 01.07.2026 elektronisch; ältere GVBl-Hefte liegen nicht als freie Direkt-PDF vor. |
| 250 | * Bremen, Hamburg, Mecklenburg-Vorpommern, Saarland, Brandenburg, Sachsen-Anhalt: noch nicht |
| 251 | erfasst. |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 252 | |
| 253 | == Wo weitermachen |
| 254 | |
| 255 | Kein Land scheitert noch an reiner Extraktionsschwäche; offen sind Modell- und Beschaffungsfragen. |
| 256 | Nach absteigendem Nutzen: |
| 257 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 258 | . *Die übrigen drei Stammfassungen über die Browsersteuerung holen* — Schleswig-Holstein |
| 259 | (Gemeindeordnung, Kreisordnung), Berlin (ASOG, LAF-Errichtungsgesetz) und Baden-Württemberg |
| 260 | (Kommunalwahlordnung). Der Weg steht seit Hessen fest und ist unter „Beschaffung der |
| 261 | Stammfassungen“ beschrieben; damit werden aus drei Erkennungsfällen volle Akzeptanzfälle. |
| 262 | . *Anlagen-Normköpfe im `LandesRechtTextParser`* ergänzen (er kennt neben „§“/„Art.“ inzwischen |
| 263 | auch die Inhaltsübersicht als Norm). Berlins Artikel 1 und Baden-Württembergs Verordnung ändern |
| 264 | Anlagen; mit deren Stammfassungen aus Schritt 1 wird die Ergänzung end-to-end prüfbar. |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 265 | . *Berlin, ganzseitenbreite Rahmen* (XY-Cut) — die letzte offene Layout-Frage, siehe „Noch offen“. |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 266 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 267 | *Erledigt:* _Hessen_ ist vollständig umgesetzt (`EndToEndTest.verkehrsZustVAendVOHessen`, |
| 268 | einundzwanzig Befehle, kein Rest; alle zweiundfünfzig Normen gleichen der amtlichen Nachfassung). |
| 269 | Der Fall hat den Beschaffungsweg über die Browsersteuerung eröffnet und fünf allgemeine Befunde |
| 270 | gebracht: Ein Normkopf darf ohne Überschrift stehen; eine Gliederung darf ihr Ordinale |
| 271 | ausschreiben („Erster Teil“); die Streichung einer Absatzbezeichnung nimmt dem Wortlaut seine |
| 272 | Nummer, statt ihn zu beseitigen; ein Platzhalter „(weggefallen)“ steht nur dort, wo ihm eine |
| 273 | weitere Einheit folgt, deren Bezeichnung er schonen soll; und ein Wort, das an die Stelle eines |
| 274 | Satzzeichens tritt, bekommt seinen Zwischenraum. Zwei vorbestehende stille Mängel kamen dabei ans |
| 275 | Licht: `List.remove` erhielt einen geboxten Index und entfernte deshalb nichts (das traf auch die |
| 276 | Neufassung eines Absatzes durch mehrere), und ein Aufzählungsglied, das auf „und“ endet, galt als |
| 277 | Unter-Überschrift. |
| 278 | |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 279 | *Erledigt:* _Thüringen_ ist vollständig umgesetzt (`EndToEndTest.thuerKiGaFinVOAendVO`, zehn |
| 280 | Befehle, kein Rest). Es war das letzte beschaffte, nie angefasste Heft und hat drei allgemeine |
| 281 | Befunde gebracht: gerade Anführungszeichen werden paarweise gelesen, wenn ein Text kein deutsches |
| 282 | öffnendes Zeichen führt; eine Bereichs-Umnummerierung nennt Bezeichnungen, meint aber Einheiten und |
| 283 | bleibt deshalb bis zur Anwendung ungeteilt; und der Wortbestand eines Dokuments entscheidet, ob ein |
| 284 | Trennstrich vor einem Großbuchstaben eine Silbentrennung war. Die Stammfassung ist aus vier |
| 285 | Gesetzblättern zusammengesetzt — siehe `Thueringen/SOURCES`. |
| 286 | |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 287 | *Erledigt:* Die _Stellung eines eingefügten Blocks_ war der letzte sichtbare Rest an Art. 56 des |
| 288 | BayJG. Ursache war nicht die Einfügung selbst, sondern die Neufassung der Nr. 4 einen Punkt zuvor: |
| 289 | Sie setzte ihren Wortlaut ohne Einrückung, worauf der Zeilenblock dieser Marke bis ans Absatzende |
| 290 | reichte — er reicht so weit, wie tiefer eingerückt wird. Art. 56 Abs. 1 gleicht seither in Aufbau |
| 291 | und Wortlaut der amtlichen Nachfassung; der Akzeptanztest prüft das. |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 292 | |
| 293 | Regressionsschutz: `./mvnw verify` prüft die bestehenden Belegfälle mit. Gepinnt ist dabei nicht |
| 294 | überall dieselbe Art von Zahl — für UWG, AGG und ProdHaftG, dass *kein* Befehl manuell bleibt; für |
| Matthias Andreas Benkard | 74a84c5 | 2026-08-16 06:08:42 +0200 | [diff] [blame] | 295 | das BayJG die 154 erkannten Befehle, die vollständige Anwendung und den Wortlaut des |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 296 | Bußgeldkatalogs — dort auch Aufbau und Einrückung, weil an ihnen die Stellung eingefügter Blöcke |
| 297 | hängt; für Sachsen, |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 298 | Niedersachsen und die vier NRW-Artikel die vollständige Anwendung bis auf das eine benannte |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame^] | 299 | Residuum im WDR-Gesetz; für Hessen die vollständige Anwendung und den Gleichlauf |
| 300 | aller 52 Normen mit der amtlichen Nachfassung; für Schleswig-Holstein und Berlin die vollständige |
| 301 | *Erkennung*. Wer eine dieser Zahlen |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 302 | ändern muss, sollte den Grund im Test vermerken. |