| 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 |
| Matthias Andreas Benkard | 5203e94 | 2026-08-23 16:00:25 +0200 | [diff] [blame] | 34 | a)/aa)/bb)/cc); Artikel 1 ändert eine *Anlage*, deren Einheiten als *Überschriften* („Nummer 6") |
| 35 | statt als Aufzählungsmarken gesetzt sind. Artikel 2 (LAF-Errichtungsgesetz) ist ein voller |
| 36 | Akzeptanzfall; das Portal setzt die amtlichen *Satznummern als angeklebte Ziffern* („(2) 1Gegen …"). |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 37 | |
| 38 | |Schleswig-Holstein |
| 39 | |`SchleswigHolstein/GVOBl-2026-27_Kommunalrecht-AendG.pdf` — GVOBl. Schl.-H. 2026/27 vom |
| 40 | 30.03.2026 (Gesetz zur Änderung des Gesetzes zur Änderung kommunalrechtlicher Vorschriften) |
| 41 | |Neues Neufassungsidiom „§ 34a Absatz 1 *erhält folgende Fassung*:" (statt „wird wie folgt |
| 42 | gefasst"); *hochgestellte Fußnotenmarker an Artikel-Überschriften* („Artikel 1 ¹)"); Meta- |
| Matthias Andreas Benkard | fa6a549 | 2026-08-23 15:46:27 +0200 | [diff] [blame] | 43 | Änderung an einem anderen Änderungsgesetz („Artikel 5 wird gestrichen"). Voller Akzeptanzfall für |
| 44 | *zwei* Stammgesetze zugleich (Gemeindeordnung, Kreisordnung); der Portalsatz trennt die |
| 45 | *Sachnummer* ab („§ 57 c") und setzt im Klammerzusatz einen *Bindestrich* statt des |
| 46 | Gedankenstrichs. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 47 | |
| 48 | |Hessen |
| 49 | |`Hessen/GVBl-2026-05_11-AendVO-verkehrsrechtl-Zustaendigkeiten.pdf` — GVBl. Hessen Nr. 5 vom |
| 50 | 03.02.2026 (Elfte Verordnung zur Änderung der Verordnung zur Bestimmung verkehrsrechtlicher |
| 51 | Zuständigkeiten) |
| 52 | |*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] | 53 | äs i d e nt") — er trifft, anders als erwartet, nur den Unterschriftenblock und keinen Befehl; |
| 54 | *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] | 55 | steht am Seitenfuß mitten zwischen zwei Gliederungspunkten. Die Stammverordnung führt *keine |
| 56 | Paragraphenüberschriften* und gliedert sich in *ausgeschriebene Ordinalzahlen* („Erster Teil"). |
| 57 | Voller Akzeptanzfall, Stammfassung `Hessen/StVRZustV-alt.txt`, Prüfmaßstab |
| 58 | `Hessen/StVRZustV-neu.txt`. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 59 | |
| 60 | |Niedersachsen |
| 61 | |`Niedersachsen/Nds-GVBl-2026-10_ELER-Foerdergesetz-AendG.pdf` — Nds. GVBl. 2026 Nr. 10 vom |
| 62 | 04.02.2026 (Gesetz zur Änderung des Niedersächsischen ELER-Fördergesetzes) + |
| 63 | `Nds-GVBl-2026-23_BeurtVO-Steuer_amtliche-Satznummern.pdf` — Nr. 23 vom 18.03.2026 |
| 64 | |*Hochgestellte amtliche Satznummern ¹²³* wie Bayern, aber im *§-Modus* (nicht invertiert) → |
| 65 | das bayerische Superskriptmodul wäre wiederverwendbar. Nr. 23 (Verordnung) zeigt die |
| 66 | Satznummern deutlich; Nr. 10 ist das eigentliche Änderungsgesetz (Idiom „Absatz 1 erhält |
| 67 | folgende Fassung"). Saubere einspaltige PDFs über die stabile API `verkuendung-niedersachsen.de`. |
| 68 | |
| 69 | |Baden-Württemberg |
| 70 | |`BadenWuerttemberg/GBl-2026-26_KommunalwahlO-AendVO.pdf` — GBl. BW 2026 Nr. 26 vom 27.02.2026 |
| 71 | (Verordnung des Innenministeriums zur Änderung der Kommunalwahlordnung) |
| 72 | |Standard-HdR-Befehle im GBl-Layout; „werden nach dem Wort … die Wörter … eingefügt", |
| 73 | „werden die Wörter … gestrichen". |
| 74 | |
| 75 | |Nordrhein-Westfalen |
| 76 | |`NRW/GV-NRW-2026-S202_22-Rundfunkaenderungsgesetz.pdf` — GV. NRW. 2026 Nr. 7 vom 31.03.2026, |
| 77 | S. 202 (22. Rundfunkänderungsgesetz) |
| 78 | |Umfangreiches Mehrgesetz-Artikelgesetz (17 S.); „Die Inhaltsübersicht wird wie folgt |
| Matthias Andreas Benkard | 35e90f4 | 2026-07-25 10:00:36 +0200 | [diff] [blame] | 79 | geändert", „§ … (weggefallen)". Bereitgestellt aus dem amtlichen recht.nrw.de-PDF. *Unbalancierte |
| 80 | Anführungszeichen* im amtlichen Satz (Artikel 2 Nr. 7 b und Nr. 11). Konsolidierte Fassungen sind |
| 81 | über `recht.nrw.de/lrgv/gesetz/<TTMMJJJJ>-<Kurztitel-Slug>` frei und serverseitig gerendert |
| 82 | abrufbar; der Datumspräfix ist der Gültigkeitsbeginn der jeweiligen Fassung. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 83 | |
| 84 | |Sachsen |
| 85 | |`Sachsen/SaechsGVBl-2026-S134_AendG-SaechsBeamtVG_revosax.pdf` — SächsGVBl. S. 134 |
| 86 | (Gesetz zur Änderung des Sächsischen Beamtenversorgungsgesetzes vom 13.04.2026) |
| 87 | |Kompaktes Änderungsgesetz, Verschachtelung a)/aa)/bb)/cc), „wird durch den folgenden Satz |
| 88 | ersetzt". Quelle: revosax-Gesamtansicht (nicht der Original-GVBl-Satz — recht-sachsen.de ist ein |
| 89 | cookie-/kostenpflichtiger Shop). |
| 90 | |
| 91 | |Thüringen |
| 92 | |`Thueringen/GVBl-TH-2026-02_KiGaFinanzVO-AendVO-ua.pdf` — GVBl. Freistaat Thüringen Nr. 2 vom |
| 93 | 13.02.2026 (u. a. Vierte Verordnung zur Änderung der Thüringer Kindergartenfinanzierungs- |
| 94 | verordnung) |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 95 | |Sammelheft (28 S.) mit vier Verkündungen, davon eine Änderungsverordnung. Unterscheidend: Das |
| 96 | Blatt führt *kein einziges* `„`, sondern setzt gerade Anführungszeichen beidseitig; dazu das |
| 97 | Idiom „die Verweisung „X" durch die Verweisung „Y" ersetzt", ein Rahmen, der sich auf eine |
| 98 | Untereinheit der umnummerierten Norm verengt, und eine Bereichs-Umnummerierung über einen |
| 99 | aufgehobenen Platzhalter hinweg. Voller Akzeptanzfall, Stammfassung |
| 100 | `Thueringen/ThuerKigaFinVO-alt.txt`. |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 101 | |=== |
| 102 | |
| Matthias Andreas Benkard | 3f81add | 2026-07-24 05:34:32 +0200 | [diff] [blame] | 103 | == Stand der Umsetzung |
| 104 | |
| 105 | * *Sachsen* ist als erster nichtbayerischer Belegfall vollständig umgesetzt: konsolidierte |
| 106 | Vorfassung `Sachsen/SaechsBeamtVG-alt.txt` (kanonischer Klartext, Fassung vom 01.02.2025, aus |
| 107 | der archivierten revosax-Volltextfassung abgeleitet) und End-to-End-Akzeptanztest |
| 108 | (`EndToEndTest.saechsBeamtVgAcceptance`; fünf Befehle, kein Rest). |
| Matthias Andreas Benkard | 43e9161 | 2026-07-24 22:29:35 +0200 | [diff] [blame] | 109 | * *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] | 110 | dem zweispaltigen Nds. GVBl 2022 Nr. 33) und `EndToEndTest.nefgAcceptance` (alle sieben Befehle |
| 111 | angewandt, kein Rest — einschließlich der beiden niedersächsischen Einfügeformen: Sachnummer mit |
| 112 | Leerzeichen „§ 2 a“ und gliederungsbezogene Einfügung „In Kapitel 4 wird nach § 12 …“). |
| Matthias Andreas Benkard | fa6a549 | 2026-08-23 15:46:27 +0200 | [diff] [blame] | 113 | * *Schleswig-Holstein* ist *vollständig* umgesetzt |
| Matthias Andreas Benkard | 519c1e7 | 2026-07-25 09:11:56 +0200 | [diff] [blame] | 114 | (`EndToEndTest.kommunalrechtAendGSchleswigHolstein`): Artikel 1 trifft die Gemeindeordnung, |
| Matthias Andreas Benkard | fa6a549 | 2026-08-23 15:46:27 +0200 | [diff] [blame] | 115 | Artikel 2 die Kreisordnung, je ein Neufassungsbefehl, kein unbekannter Befehl — und beide |
| 116 | Gesetze gleichen nach der Anwendung Norm für Norm der amtlichen Nachfassung vom 31. März 2026 |
| 117 | (167 bzw. 86 Normen). Artikel 3 ändert ein anderes Änderungsgesetz und wird zu Recht nicht |
| 118 | gewählt. Beide Stammfassungen sind über die Browsersteuerung beschafft. |
| Matthias Andreas Benkard | 3f81add | 2026-07-24 05:34:32 +0200 | [diff] [blame] | 119 | |
| Matthias Andreas Benkard | 5203e94 | 2026-08-23 16:00:25 +0200 | [diff] [blame] | 120 | * *Nordrhein-Westfalen* ist der Massentest-Fall: aus demselben Heft sind alle vier ändernden |
| 121 | Artikel als Akzeptanzfälle hinterlegt. |
| 122 | + |
| 123 | -- |
| 124 | `EndToEndTest.tmzGesetzAcceptance`:: Artikel 3 (Telemedienzuständigkeitsgesetz), vier Befehle, |
| 125 | kein Rest. Stamm `NRW/TMZ-Gesetz-alt.txt`. |
| 126 | `EndToEndTest.wdrGesetzAcceptance`:: Artikel 1 (WDR-Gesetz), 101 Befehle an 31 Normen, davon 100 |
| 127 | angewandt. Stamm `NRW/WDR-Gesetz-alt.txt` (Fassung vom 01.01.2025). Der Fall trägt die |
| 128 | Umnummerierungs-Kaskaden (§ 3: Absatz 2 → zwei Absätze, die Absätze 3 bis 11 rücken auf, ein neuer |
| 129 | Absatz 13 kommt hinzu; § 15 Absatz 3: Nummer 22 entfällt, 23 bis 37 rücken auf), den Sammelrahmen |
| 130 | „Es werden ersetzt:“ und die Angabe-Befehle auf die Inhaltsübersicht. Einziges Residuum ist |
| 131 | Nr. 13 e) aa): „der Punkt am Ende des Satzes“ ist in einer zweisätzigen Nummer nicht eindeutig. |
| 132 | `EndToEndTest.lmgNrwAcceptance`:: Artikel 2 (Landesmediengesetz), 18 Befehle, kein Rest. Stamm |
| 133 | `NRW/LMG-NRW-alt.txt` (Fassung vom 01.01.2025). |
| 134 | `EndToEndTest.rundfunkAusfuehrungsgesetzAcceptance`:: Artikel 4 (17. RÄStV-AusfG), ein Befehl, |
| 135 | kein Rest. Stamm `NRW/17-RAEStV-AusfG-alt.txt` (Erstfassung vom 17.12.2015, bis 2026 unverändert). |
| 136 | Der Artikel führt seinen Befehl *ohne* Gliederungspunkt — der Text nach der Änderungsformel ist |
| 137 | der Befehl —, und das Zitat der neuen Fassung trägt verschachtelte Anführungszeichen (ein |
| 138 | vollständiges „durch Artikel 3 …“ innerhalb einer eckigen Klammer). Beides trägt die vorhandene |
| 139 | Maschinerie. |
| 140 | -- |
| 141 | + |
| 142 | Alle vier Ergebnisse sind normweise gegen die amtliche Fassung vom 01.04.2026 abgeglichen. Es |
| 143 | bleiben nur Abweichungen, in denen die amtliche Nachfassung selbst vom Befehlswortlaut abweicht |
| 144 | (§ 15 WDR-Gesetz: „des“ vor „Bundesreisekostengesetzes“ entfallen; § 7 und § 21 WDR-Gesetz: ein |
| 145 | überzähliges Anführungszeichen aus dem Änderungsgesetz; § 93 LMG NRW: zusätzlich die Wörter |
| 146 | „Film (“ gestrichen) — ÄndGgner wendet dort den Wortlaut an. Damit ist das Heft GV. NRW. 7/2026 |
| 147 | vollständig belegt. |
| Matthias Andreas Benkard | 2ada460 | 2026-08-23 21:52:20 +0200 | [diff] [blame^] | 148 | * *Berlin* ist umgesetzt (`EndToEndTest.asogLafAendGBerlin`). Artikel 2 |
| Matthias Andreas Benkard | 5203e94 | 2026-08-23 16:00:25 +0200 | [diff] [blame] | 149 | (LAF-Errichtungsgesetz) ist ein *voller* Akzeptanzfall: beide Befehle angewandt, alle fünf |
| Matthias Andreas Benkard | 2ada460 | 2026-08-23 21:52:20 +0200 | [diff] [blame^] | 150 | Normen gleich der amtlichen Nachfassung vom 12. Juni 2026. Artikel 1 (ASOG) wird vollständig |
| 151 | erkannt und zu fünf Sechsteln angewandt; 168 der 171 Normen gleichen danach der Nachfassung. |
| 152 | Die Nummern der Anlage sind seit dieser Welle *eigene Normen* („Anlage Nummer 23“), wie das |
| 153 | Portal sie führt — damit trägt die vorhandene Absatz-Maschinerie ihre Befehle. Beide |
| 154 | Stammfassungen sind über die Browsersteuerung beschafft. |
| 155 | + |
| 156 | -- |
| 157 | Die drei Abweichungen sind benannt und liegen nicht in der Anwendung: § 67 (das Portal setzt |
| 158 | amtliche Satznummern, das Gesetzblatt nicht), Anlage Nummer 23 (der eine Rest, siehe unten) und |
| 159 | Anlage Nummer 31 (der ganzseitenbreite Titelblock steht im Inhaltsstrom mitten im Zitat — die |
| 160 | offene Layout-Frage). Der eine liegengebliebene Befehl benennt eine Grenze des Klartextformats: |
| 161 | Ein Zwischentitel ohne Absatzbezeichnung („Aus dem Bereich Verkehr:“) wird dem vorangehenden |
| 162 | Absatz zugeschlagen, weshalb dessen Text nicht auf den Punkt endet, den der Befehl meint. |
| 163 | -- |
| Matthias Andreas Benkard | 5203e94 | 2026-08-23 16:00:25 +0200 | [diff] [blame] | 164 | * *Hessen* ist *vollständig* umgesetzt (`EndToEndTest.verkehrsZustVAendVOHessen`): alle |
| 165 | 21 Befehle des Artikels 1 werden erkannt und angewandt, und alle 52 Normen gleichen danach |
| 166 | zeichengenau der amtlichen Nachfassung vom 4. Februar 2026. Die Stammfassung ist über eine |
| 167 | *Browsersteuerung* aus dem Landesrechtsportal beschafft; damit ist die juris-Sackgasse |
| 168 | aufgebrochen (siehe „Beschaffung der Stammfassungen“). |
| 169 | |
| 170 | * Baden-Württemberg (GBl 2026 Nr. 26): großes Anlage-lastiges Änderungsgesetz (§§ 4–57a + Anlagen |
| 171 | 1/3b/4b); Stammfassung/Akzeptanztest noch offen. |
| 172 | |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 173 | == Beschaffung der Stammfassungen |
| 174 | |
| 175 | Für einen vollen Akzeptanztest wird die Fassung *vor* dem Änderungsgesetz gebraucht. Welcher Weg |
| 176 | dafür trägt, hängt allein vom Portal ab; die drei erprobten Wege: |
| 177 | |
| 178 | `recht.nrw.de` (Nordrhein-Westfalen):: Der bequemste Fall. Serverseitig gerendertes HTML, keine |
| 179 | Single-Page-Anwendung, `robots.txt` erlaubt alles. Das URL-Schema |
| 180 | `recht.nrw.de/lrgv/gesetz/<TTMMJJJJ>-<Kurztitel-Slug>` trägt den *Gültigkeitsbeginn der jeweiligen |
| 181 | Fassung* im Datumspräfix — Vor- und Nachfassung sind damit unmittelbar adressierbar, und das |
| 182 | Ergebnis lässt sich gegen die amtliche Nachfassung prüfen. Die Slugs findet die Suchmaske nicht |
| 183 | (Formular); sie stehen im Sitemap-Index (`robots.txt` listet `sitemap/page/1..47/sitemap.xml`, je |
| 184 | 1000 Einträge). Alte `lmi/owa/br_*`-URLs leiten auf die neuen Slugs um. |
| 185 | |
| 186 | `revosax.sachsen.de` (Sachsen):: Liefert Volltext-PDFs je Fassung, aber nur die aktuelle live. Die |
| 187 | Vorfassung kommt über die Wayback-CDX-API: Fassungs-IDs abfragen, die zum Zeitraum passende wählen, |
| 188 | per `…id_/…`-Rohform laden. Achtung, `WebFetch` erreicht `web.archive.org` nicht — nur `curl`. |
| 189 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame] | 190 | juris-Landesportale, Browsersteuerung:: Der Weg, der die Sackgasse aufbricht — *erprobt an Hessen*. |
| 191 | Diese Portale sind Einseitenanwendungen: Jede Skriptabfrage erhält nur die rund 5,4 kB große |
| 192 | Anwendungshülle, gleich unter welcher Adresse. Ein *Browser* dagegen bekommt den Text. Er ist |
| 193 | deshalb Dokument für Dokument über eine Browsersteuerung auszulesen, nicht im Massenabzug. |
| 194 | Maßgeblich ist die Schaltfläche „Gesamtausgaben-Liste“ der Dokumentansicht: Sie führt jede Fassung |
| 195 | mit ihrem Geltungszeitraum und macht sie unter einer *datierbaren* Adresse abrufbar — |
| 196 | `/<Kennung>/document/aiz-jlr-<Dokumentkennung>@<JJJJMMTT>`; Vor- und Nachfassung sind damit |
| 197 | unmittelbar adressierbar und das Ergebnis gegen die amtliche Nachfassung prüfbar. Zwei |
| 198 | Fallstricke: Die Seite rendert nachlädig, sodass ein Auszug des sichtbaren Bereichs mitten im |
| 199 | Gesetz abbricht — maßgeblich ist der Textinhalt des Dokumentbehälters (`div.docLayoutText`); und |
| 200 | die Portale führen im Seitenkopf eine Vorbehaltsangabe zum Text- und Data-Mining |
| 201 | („tdm-reservation“), die für gemeinfreie amtliche Werke nach § 5 UrhG keine Wirkung entfalten |
| 202 | kann. Rezept im einzelnen: `Hessen/SOURCES`. |
| 203 | |
| 204 | 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] | 205 | (Schleswig-Holstein), `gesetze.berlin.de` (Berlin, trotz Eigennamen dieselbe Anwendung), |
| 206 | `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] | 207 | und `landesrecht.thueringen.de` (Thüringen). |
| 208 | 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] | 209 | nur die leere Anwendungshülle (rund 5,4 kB), die Inhalte hängen an einer tokenpflichtigen |
| 210 | Schnittstelle. Auch archivierte |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 211 | 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] | 212 | *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] | 213 | `voris.niedersachsen.de` ist dasselbe zu erwarten, aber *nicht* nachgeprüft: Ein Versuch lohnt, |
| 214 | bevor man aufgibt. |
| 215 | |
| 216 | Parlamentsdokumentationen:: Der Ausweg, wo das Landesrechtportal versperrt ist. Gibt der Landtag |
| 217 | das Gesetzblatt heraus — in Thüringen ist das so —, so liegen dessen Hefte oft frei in der |
| 218 | Parlamentsdatenbank, auch die alten: |
| 219 | `parldok.thueringer-landtag.de/ParlDok/dokument/<WP>/art/GVBl/num/<Heft>/jahr/<Jahr>[/seite/<S>]`. |
| 220 | Damit lässt sich eine konsolidierte Fassung aus dem Stammheft und den Änderungsheften |
| 221 | zusammensetzen, wenn kein Portal sie fertig liefert (Rezept in `Thueringen/SOURCES`). Das Archiv |
| 222 | der Staatskanzlei (`thueringen.de/th1/tsk/gvbl/`) hilft dagegen nicht: Es antwortet Skripten mit |
| 223 | einer Bot-Schutz-Fehlerseite. |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 224 | |
| 225 | Fällt das Portal aus, bleibt der Weg über das Gesetzblatt selbst: Trägt der Einleitungssatz des |
| 226 | Änderungsgesetzes kein „zuletzt geändert durch“, so ist die Originalfassung zugleich die |
| 227 | Stammfassung (so bei Niedersachsen). Die Extraktion zweispaltiger Hefte übernimmt `--extract-only` |
| 228 | des Werkzeugs selbst; `pdftotext -layout` verschränkt dort die Spalten. |
| 229 | |
| Matthias Andreas Benkard | 5f30f56 | 2026-07-28 06:00:16 +0200 | [diff] [blame] | 230 | Ein Fallstrick beim Prüfen extrahierter Hefte: Das GV.-NRW.-Heft 7/2026 kodiert einen Teil seiner |
| 231 | Umlaute *zerlegt* (`u` + U+0308 statt `ü`, 79 Stellen, darunter dutzende „eingefügt:“/„angefügt:“). |
| 232 | Im Text ist das unsichtbar, für jedes Befehlsmuster aber ein anderes Wort. `TextBereiniger.bereinige` |
| 233 | normalisiert deshalb ganz früh nach NFC — nicht NFKC, das plättete die amtlichen Satznummern ¹²³ zu |
| 234 | gewöhnlichen Ziffern. Wer Klartext von Hand aufbereitet, sollte ihn ebenfalls in NFC ablegen; der |
| 235 | Klartext-Zweig des Loaders normalisiert zur Sicherheit mit. |
| 236 | |
| Matthias Andreas Benkard | ab7ac57 | 2026-07-19 09:25:55 +0200 | [diff] [blame] | 237 | == Noch offen |
| 238 | |
| Matthias Andreas Benkard | fa6a549 | 2026-08-23 15:46:27 +0200 | [diff] [blame] | 239 | |
| Matthias Andreas Benkard | 2ada460 | 2026-08-23 21:52:20 +0200 | [diff] [blame^] | 240 | * *Anlagen-Nummern im gii-XML* — im Klartext des Landesrechts sind die Nummern einer Anlage |
| 241 | seit dieser Welle eigene Normen („Anlage Nummer 23“). Im gii-XML des Bundes stehen sie |
| 242 | dagegen als Aufzählungsmarken im Wortlaut der Anlage; dort bleibt es beim Markensuchen, und |
| 243 | ein Befehl auf „die Überschrift der Nummer 1 der Anlage 8“ (GEG, Artikel 1 Nr. 43 b) aa)) |
| 244 | findet seine Stelle nicht. Ob die Anlagen des Bundes ebenso zu zerlegen sind, ist offen. |
| 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 | 5203e94 | 2026-08-23 16:00:25 +0200 | [diff] [blame] | 258 | . *Baden-Württembergs Kommunalwahlordnung über die Browsersteuerung holen* — der Weg ist unter |
| 259 | „Beschaffung der Stammfassungen“ beschrieben; Hessen, Schleswig-Holstein und Berlin sind ihn |
| Matthias Andreas Benkard | 2ada460 | 2026-08-23 21:52:20 +0200 | [diff] [blame^] | 260 | gegangen. Die Anlagen 1, 3b und 4b sind der zweite Beleg für den Rang der Anlagen-Einheiten. |
| 261 | . *Berlin, ganzseitenbreite Rahmen* (XY-Cut) — die letzte offene Layout-Frage, siehe „Noch |
| 262 | offen“. Sie ist seit dieser Welle *belegt*: Die Anlage Nummer 31 des ASOG weicht allein |
| 263 | deshalb von der Nachfassung ab, weil der Titelblock des Änderungsgesetzes im Inhaltsstrom |
| 264 | mitten in ihrem Zitat steht. |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 265 | |
| Matthias Andreas Benkard | 2ada460 | 2026-08-23 21:52:20 +0200 | [diff] [blame^] | 266 | *Erledigt:* _Berlin_ ist umgesetzt. Die Nummern einer Anlage sind eigene Normen mit eigener |
| 267 | Absatzzählung, deren Bezeichnung die Anlage voranstellt („Anlage Nummer 23“) — so führt sie das |
| 268 | Portal, und so sprechen die Befehle sie an. Drei weitere Funde kamen dabei ans Licht: Die |
| 269 | Umnummerierung eines solchen Absatzes galt als die einer Aufzählungseinheit und tauschte eine |
| 270 | Marke, die es nicht gab — der Befehl hieß angewandt und bewirkte nichts; ein Absatz, der „vor |
| 271 | den Wörtern …“ eingefügt wird, wurde eine Zeile im Nachbarabsatz statt eines Absatzes; und die |
| 272 | Bezeichnung eines so eingefügten Absatzes verlor die Nummer der Anlage, weshalb die |
| 273 | Schritt-Ordnung ihre Abhängigkeit nicht sah. Die amtlichen Satznummern des Portals (angeklebte |
| 274 | Ziffern) schreibt die Aufbereitung um. |
| Matthias Andreas Benkard | 5203e94 | 2026-08-23 16:00:25 +0200 | [diff] [blame] | 275 | |
| Matthias Andreas Benkard | fa6a549 | 2026-08-23 15:46:27 +0200 | [diff] [blame] | 276 | *Erledigt:* _Schleswig-Holstein_ ist vollständig umgesetzt — der erste Fall mit *zwei* |
| 277 | Stammgesetzen in einem Änderungsgesetz. Zwei Eigenheiten des Portalsatzes waren zu beheben: Er |
| 278 | trennt die Sachnummer ab („§ 57 c“ statt „§ 57c“, zehn Normen der Gemeindeordnung wären sonst |
| 279 | dem Gesetz entgangen), und er setzt im Klammerzusatz einen Bindestrich statt des amtlichen |
| 280 | Gedankenstrichs, weshalb Kurztitel und Abkürzung ungetrennt blieben und kein Artikel gewählt |
| 281 | wurde. Der Parser nimmt den Strich nunmehr in beiden Gestalten an, sofern Leerraum ihn umgibt. |
| 282 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame] | 283 | *Erledigt:* _Hessen_ ist vollständig umgesetzt (`EndToEndTest.verkehrsZustVAendVOHessen`, |
| 284 | einundzwanzig Befehle, kein Rest; alle zweiundfünfzig Normen gleichen der amtlichen Nachfassung). |
| 285 | Der Fall hat den Beschaffungsweg über die Browsersteuerung eröffnet und fünf allgemeine Befunde |
| 286 | gebracht: Ein Normkopf darf ohne Überschrift stehen; eine Gliederung darf ihr Ordinale |
| 287 | ausschreiben („Erster Teil“); die Streichung einer Absatzbezeichnung nimmt dem Wortlaut seine |
| 288 | Nummer, statt ihn zu beseitigen; ein Platzhalter „(weggefallen)“ steht nur dort, wo ihm eine |
| 289 | weitere Einheit folgt, deren Bezeichnung er schonen soll; und ein Wort, das an die Stelle eines |
| 290 | Satzzeichens tritt, bekommt seinen Zwischenraum. Zwei vorbestehende stille Mängel kamen dabei ans |
| 291 | Licht: `List.remove` erhielt einen geboxten Index und entfernte deshalb nichts (das traf auch die |
| 292 | Neufassung eines Absatzes durch mehrere), und ein Aufzählungsglied, das auf „und“ endet, galt als |
| 293 | Unter-Überschrift. |
| 294 | |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 295 | *Erledigt:* _Thüringen_ ist vollständig umgesetzt (`EndToEndTest.thuerKiGaFinVOAendVO`, zehn |
| 296 | Befehle, kein Rest). Es war das letzte beschaffte, nie angefasste Heft und hat drei allgemeine |
| 297 | Befunde gebracht: gerade Anführungszeichen werden paarweise gelesen, wenn ein Text kein deutsches |
| 298 | öffnendes Zeichen führt; eine Bereichs-Umnummerierung nennt Bezeichnungen, meint aber Einheiten und |
| 299 | bleibt deshalb bis zur Anwendung ungeteilt; und der Wortbestand eines Dokuments entscheidet, ob ein |
| 300 | Trennstrich vor einem Großbuchstaben eine Silbentrennung war. Die Stammfassung ist aus vier |
| 301 | Gesetzblättern zusammengesetzt — siehe `Thueringen/SOURCES`. |
| 302 | |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 303 | *Erledigt:* Die _Stellung eines eingefügten Blocks_ war der letzte sichtbare Rest an Art. 56 des |
| 304 | BayJG. Ursache war nicht die Einfügung selbst, sondern die Neufassung der Nr. 4 einen Punkt zuvor: |
| 305 | Sie setzte ihren Wortlaut ohne Einrückung, worauf der Zeilenblock dieser Marke bis ans Absatzende |
| 306 | reichte — er reicht so weit, wie tiefer eingerückt wird. Art. 56 Abs. 1 gleicht seither in Aufbau |
| 307 | und Wortlaut der amtlichen Nachfassung; der Akzeptanztest prüft das. |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 308 | |
| 309 | Regressionsschutz: `./mvnw verify` prüft die bestehenden Belegfälle mit. Gepinnt ist dabei nicht |
| 310 | ü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] | 311 | 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] | 312 | Bußgeldkatalogs — dort auch Aufbau und Einrückung, weil an ihnen die Stellung eingefügter Blöcke |
| 313 | hängt; für Sachsen, |
| Matthias Andreas Benkard | 5b2e6ef | 2026-08-02 20:01:37 +0200 | [diff] [blame] | 314 | 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] | 315 | Residuum im WDR-Gesetz; für Hessen die vollständige Anwendung und den Gleichlauf |
| Matthias Andreas Benkard | fa6a549 | 2026-08-23 15:46:27 +0200 | [diff] [blame] | 316 | aller 52 Normen mit der amtlichen Nachfassung; für Schleswig-Holstein die vollständige Anwendung auf beide |
| Matthias Andreas Benkard | 2ada460 | 2026-08-23 21:52:20 +0200 | [diff] [blame^] | 317 | Stammgesetze; für Berlin die vollständige Anwendung des Artikels 2, fünf von sechs |
| 318 | Befehlen des Artikels 1 und die drei benannten Abweichungen von der Nachfassung. Wer eine dieser Zahlen |
| Matthias Andreas Benkard | 2cfea00 | 2026-07-26 13:32:26 +0200 | [diff] [blame] | 319 | ändern muss, sollte den Grund im Test vermerken. |