| Matthias Andreas Benkard | 73c5dba | 2026-07-13 21:42:38 +0200 | [diff] [blame] | 1 | ╔══════════════════════════════════════════════════════════════════════════════╗ |
| 2 | ║ ║ |
| 3 | ║ V E R Z E I C H N I S D E R F A S S U N G E N ║ |
| 4 | ║ des Softwareerzeugnisses „ÄndGgner“ ║ |
| 5 | ║ (Werkzeug zur Erstellung von Synopsen für Änderungsgesetze) ║ |
| 6 | ║ ║ |
| 7 | ╚══════════════════════════════════════════════════════════════════════════════╝ |
| 8 | |
| 9 | Vorbemerkung zur Führung dieses Verzeichnisses |
| 10 | ────────────────────────────────────────────── |
| 11 | (1) Dieses Verzeichnis dokumentiert nach Maßgabe der nachstehenden Bestimmungen |
| 12 | den jeweiligen Stand des Quelltextes des vorbezeichneten Erzeugnisses. |
| 13 | (2) Für jeden Kalendertag, an dem Änderungen am Quelltext vorgenommen werden, ist |
| 14 | ein gesonderter Abschnitt nach dem Muster der nachfolgenden Fassungen anzu- |
| 15 | legen; die Abschnitte sind in absteigender zeitlicher Reihenfolge (jüngste |
| 16 | Fassung zuerst) zu führen. |
| 17 | (3) Die Änderungen sind in sachlich gegliederter Form, unter fortlaufender |
| 18 | Nummerierung und unter Angabe der betroffenen Bestandteile (Klassen, Dateien) |
| 19 | zu bezeichnen. Maßgeblich ist die im Handbuch der Rechtsförmlichkeit nieder- |
| 20 | gelegte Ausdrucksweise entsprechend. |
| 21 | |
| 22 | |
| 23 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | b7e9f0f | 2026-07-16 21:12:08 +0200 | [diff] [blame^] | 24 | Fassung vom 16. Juli 2026, |
| 25 | zuletzt geändert durch die am 16. Juli 2026 vorgenommenen Änderungen |
| 26 | ════════════════════════════════════════════════════════════════════════════════ |
| 27 | |
| 28 | Auf Grund der vierten Ertüchtigungswelle werden Anhänge und Anlagen als Norm-Ziele, |
| 29 | die Angabe-Befehle der Inhaltsübersicht sowie die Einfügung und Ersetzung von |
| 30 | Gliederungs-Überschriften einer Verarbeitung zugänglich gemacht; ferner wird der |
| 31 | Befehlserkenner um weitere Verbund- und Bereichsformen sowie die Neufassung der |
| 32 | Gesetzesüberschrift ergänzt und die Brotschriftbestimmung des PDF-Vorverarbeiters |
| 33 | seitenweise gefasst. |
| 34 | |
| 35 | |
| 36 | Artikel 1 |
| 37 | Anhänge und Anlagen als Norm-Ziele |
| 38 | |
| 39 | Die Stelle (Stelle) wird um die Unterscheidung zwischen echten Gliederungseinheiten |
| 40 | (Teil, Abschnitt, Unterabschnitt und dergleichen) und Anhängen/Anlagen ergänzt |
| 41 | (betrifftEchteGliederung, anlagenEnbez); Anhänge und Anlagen sind im gii-XML eigene |
| 42 | Normen mit Text und werden fortan wie Paragraphen behandelt. Der Stellenaufloeser |
| 43 | löst hierbei Nummer- und Buchstabe-Ketten verschachtelt und blockweise auf: die |
| 44 | Aufzählungszeile einer Nummer oder eines Buchstabens wird um ihre tiefer |
| 45 | eingerückten Kindzeilen erweitert, und eine Angabe ohne Absatzbezeichnung wird |
| 46 | norm-weit gesucht, sofern sie in genau einem Absatz auffindbar ist. |
| 47 | |
| 48 | |
| 49 | Artikel 2 |
| 50 | Selbsttätige Anwendung der Inhaltsübersichts-Angaben |
| 51 | |
| 52 | Es wird der Anwender InhaltsuebersichtAnwender eingeführt, der die Angabe-Befehle |
| 53 | (gefasst, ersetzt, eingefügt, gestrichen sowie die Neufassung der gesamten |
| 54 | Übersicht) auf das Zeilenmodell der Inhaltsübersichts-Norm anwendet. Eine adressierte |
| 55 | Zeile wird anhand der Gliederungs- und Paragraphen-Kette der Stelle verschachtelt |
| 56 | gesucht, wobei gleichrangige Gliederungseinheiten als Fenstergrenzen dienen. Bei der |
| 57 | Neufassung der gesamten Übersicht schützt eine Plausibilitätssperre vor der |
| 58 | Übernahme eines Zitats, das durch ein unbalanciertes Anführungszeichen Befehlssprache |
| 59 | nachfolgender Anweisungen mitgerissen hat; ein solcher Fall wird dem Abschnitt |
| 60 | „Manuell prüfen“ zugewiesen. |
| 61 | |
| 62 | |
| 63 | Artikel 3 |
| 64 | Einfügung und Ersetzung von Gliederungs-Überschriften |
| 65 | |
| 66 | Es wird der Befehl „GliederungsUeberschriften“ eingeführt; die Anweisungen „Nach |
| 67 | § N werden die folgenden Überschriften zu ... eingefügt: „…““ sowie „Die bisherigen |
| 68 | Überschriften zu ... werden durch die folgende Überschrift zu ... ersetzt: „…““ |
| 69 | legen neue Einheiten im Gliederungsbaum an beziehungsweise ersetzen bisherige |
| 70 | Einheiten durch neue. Der Befehlsanwender (BefehlAnwender.wendeGliederungsUeberschriftenAn) |
| 71 | zieht die Titel der neuen Einheiten aus dem Zitat und ordnet sie an der Stelle der |
| 72 | ersetzten Einheiten beziehungsweise hinter dem Einfügeanker ein. Ferner wird die |
| 73 | Neufassung der Gesetzesüberschrift selbst („Die Überschrift wird wie folgt gefasst“ |
| 74 | ohne weitere Stellenangabe) erkannt und auf den Langtitel des Gesetzes angewandt. |
| 75 | |
| 76 | |
| 77 | Artikel 4 |
| 78 | Weitere Erweiterungen des Befehlserkenners |
| 79 | |
| 80 | Der Befehlserkenner (BefehlErkenner) wird um Voranstellungen, Mehrfach-Ersetzungs- |
| 81 | und -Einfügepaare, Bereichsziele auf Nummern und Buchstaben, zusammengesetzte |
| 82 | Komma-Mehrfachpaare sowie Umnummerierungs-Verbünde („§ 50 wird zu § 38 und wird wie |
| 83 | folgt geändert: ...“) ergänzt. |
| 84 | |
| 85 | |
| 86 | Artikel 5 |
| 87 | Seitenweise Brotschriftbestimmung |
| 88 | |
| 89 | Der Fontgrößenfilter (FontgroessenFilter) bestimmt die Brotschrift fortan seitenweise |
| 90 | statt dokumentweit: Auf jeder Seite gilt die größte Fontgröße mit mindestens 25 vom |
| 91 | Hundert Seitenanteil als Brotschrift, wobei eine absolute Mehrheit ab 60 vom Hundert |
| 92 | sofort entscheidet; Fußnoten werden als Kleingedrucktes unterhalb der letzten |
| 93 | Brotschriftzeile erkannt, Seitenfüße bleiben hiervon ausgenommen. Der Textbereiniger |
| 94 | (TextBereiniger) wird um die Toleranz weiterer Drucksachen-Artefakte (Seitenköpfe |
| 95 | und -füße, Vorabfassungs-Wasserzeichen, vertauschte oder gerade Anführungszeichen, |
| 96 | verklebte Wortgrenzen) ergänzt. |
| 97 | |
| 98 | |
| 99 | Schlussbestimmung |
| 100 | |
| 101 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhundert- |
| 102 | dreiundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw verify) |
| 103 | bestätigt worden. Auf den Beispieldaten werden nunmehr sämtliche Befehle der |
| 104 | BGBl-Fassungen sowie der geprüften Entwürfe angewandt (UWG, AGG und ProdHaftG: |
| 105 | 0 manuell). Nicht selbsttätig verarbeitbar bleiben einstweilen Befehle gegen eine |
| 106 | ältere, im XML-Bestand nicht mehr vorhandene Gesetzesfassung sowie vereinzelte, |
| 107 | durch Extraktionsverluste im Quell-PDF verursachte Zitatlücken; diese werden |
| 108 | weiterhin, mit Begründung versehen, dem Abschnitt „Manuell prüfen“ zugewiesen. Die |
| 109 | Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt |
| 110 | vorbehalten. |
| 111 | |
| 112 | |
| 113 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | ebd5a7b | 2026-07-15 20:54:27 +0200 | [diff] [blame] | 114 | Fassung vom 15. Juli 2026, |
| 115 | zuletzt geändert durch die am 15. Juli 2026 vorgenommenen Änderungen |
| 116 | ════════════════════════════════════════════════════════════════════════════════ |
| 117 | |
| 118 | Auf Grund der weiteren Ertüchtigung des Befehlserkenners und des Befehlsanwenders |
| 119 | werden Bereichs- und Koordinationsziele bei Struktur-Ersetzungen, die Streichung |
| 120 | und Umnummerierung ganzer Struktureinheiten (Paragraphen und Gliederungs- |
| 121 | einheiten) sowie das Einfügen und Ersetzen ganzer Paragraphenblöcke einer |
| 122 | Verarbeitung zugänglich gemacht. |
| 123 | |
| 124 | |
| 125 | Artikel 1 |
| 126 | Erweiterung der Struktur-Ersetzung um Ziel-Bereiche |
| 127 | |
| 128 | Der Aenderungsbefehl (Aenderungsbefehl.StrukturErsetzung) wird um das Feld |
| 129 | „bisStelle“ ergänzt, welches bei einem zusammenhängenden, koordinierten Ziel- |
| 130 | Bereich („Die Absätze 8 und 9 werden durch die folgenden Absätze 8 bis 10 |
| 131 | ersetzt: „…““, „Die bisherigen Sätze 4 und 5 werden wie folgt gefasst: „…““) |
| 132 | das letzte Ziel bezeichnet; bei einem Einzelziel bleibt es unbesetzt. Der |
| 133 | Befehlsanwender (BefehlAnwender) löst den Bereich für Absätze, Sätze und |
| 134 | Paragraphen auf und ersetzt ihn durch den zitierten Block. |
| 135 | |
| 136 | |
| 137 | Artikel 2 |
| 138 | Aufnahme struktureller Streichungen und Umnummerierungen |
| 139 | |
| 140 | Der Befehlserkenner wird wie folgt geändert: |
| 141 | |
| 142 | 1. Die Streichung ganzer Struktureinheiten („§ 9 wird gestrichen.“, „Die §§ 34 |
| 143 | bis 39 werden gestrichen.“, „Der bisherige Teil 3 wird gestrichen.“) wird als |
| 144 | Aufhebung erkannt. |
| 145 | |
| 146 | 2. Die Umnummerierung wird auf Paragraphen und Gliederungseinheiten (Teil, |
| 147 | Abschnitt, Unterabschnitt, Buch, Kapitel, Anlage) erstreckt sowie um die |
| 148 | paarweise §-Umnummerierung („Die §§ 46 und 47 werden zu den §§ 34 und 35.“) |
| 149 | ergänzt. Der Befehlsanwender benennt hierbei die betroffene Norm oder |
| 150 | Gliederungseinheit um; eine bereits weggefallene Zielnorm wird überschrieben. |
| 151 | |
| 152 | 3. Die Neufassung eines §-Bereichs wird auf die Form ohne „bisherige“ erstreckt |
| 153 | und liefert bei mehrgliedrigem Ziel nunmehr eine bereichsbezogene Struktur- |
| 154 | Ersetzung statt eines Einzelbefehls. |
| 155 | |
| 156 | 4. Die Neufassung der Überschrift einer benannten Einheit („In Anlage 7 wird die |
| 157 | Überschrift durch die folgende Überschrift ersetzt: „…““) sowie der Inhalts- |
| 158 | übersicht werden erkannt; letztere wird stets der manuellen Prüfung |
| 159 | zugewiesen. |
| 160 | |
| 161 | 5. Die Entwurfsform der Struktur-Ersetzung, bei der die Aufzählungsbezeichnung |
| 162 | außerhalb des Zitats steht („… ersetzt: 3. „…““), wird abgefangen und dem |
| 163 | Ersatztext wieder vorangestellt. |
| 164 | |
| 165 | 6. Der Chapeau-Qualifier („Im Satzteil vor Nummer 1 …“, „In der Angabe vor |
| 166 | Nummer 1 …“) wird auf weitere Einleitungen erstreckt; steht er allein, ohne |
| 167 | eigene Stelle, so bezieht sich die Operation auf die Kontextstelle. |
| 168 | |
| 169 | |
| 170 | Artikel 3 |
| 171 | Einfügung und Ersetzung ganzer Paragraphenblöcke |
| 172 | |
| 173 | 1. Die Einfügung mehrerer Paragraphen in einem Zuge („Nach § 60a werden die |
| 174 | folgenden §§ 60b und 60c eingefügt: „…““) sowie die Ersetzung eines §-Bereichs |
| 175 | durch einen §-Block werden erkannt. |
| 176 | |
| 177 | 2. Der Befehlsanwender zerlegt den zitierten Block anhand der §-Überschriften |
| 178 | (unter Ausschluss bloßer Querverweise wie „§ 71 Absatz 1“) in die einzelnen |
| 179 | Paragraphen und fügt sie geschlossen ein oder setzt sie an die Stelle des |
| 180 | ersetzten Bereichs. |
| 181 | |
| 182 | |
| 183 | Schlussbestimmung |
| 184 | |
| 185 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 186 | (einhundertvierundvierzig an der Zahl) sowie durch die vollständige Erstellung |
| 187 | (mvnw verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben |
| 188 | einstweilen die mehrquellige Struktur-Ersetzung über mehrere Gesetze hinweg |
| 189 | sowie vereinzelte Sonderfälle der Entwurfsfassung (Drucksachen); diese werden |
| 190 | dem Abschnitt „Manuell prüfen“ zugewiesen. Die Unterstützung des bayerischen |
| 191 | Landesrechts bleibt einem späteren Zeitpunkt vorbehalten. |
| 192 | |
| 193 | |
| 194 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 73c5dba | 2026-07-13 21:42:38 +0200 | [diff] [blame] | 195 | Fassung vom 13. Juli 2026, |
| 196 | zuletzt geändert durch die am 13. Juli 2026 vorgenommenen Änderungen |
| 197 | ════════════════════════════════════════════════════════════════════════════════ |
| 198 | |
| 199 | Auf Grund der fortdauernden Ertüchtigung des Befehlserkenners werden die bis zu |
| 200 | diesem Tage nicht selbsttätig verarbeitbaren Änderungsanweisungen nach näherer |
| 201 | Maßgabe der nachstehenden Abschnitte einer Verarbeitung zugänglich gemacht. Die |
| 202 | Zahl der nicht erkannten Anweisungen (nachfolgend: „unbekannte Befehle“) ver- |
| 203 | ringert sich hierdurch nach den vorliegenden Feststellungen wie folgt: im |
| 204 | Datensatz GEG von fünfzig (50) auf fünf (5), im Datensatz IfSG von elf (11) auf |
| 205 | drei (3), im Datensatz AGG von zwei (2) auf null (0) sowie im Datensatz UWG von |
| 206 | zwei (2) auf null (0). |
| 207 | |
| 208 | |
| 209 | Artikel 1 |
| 210 | Übernahme des vorbefindlichen Bearbeitungsstandes |
| 211 | |
| 212 | Der zum Stichtag im Arbeitsverzeichnis vorgehaltene, noch nicht in die Versions- |
| 213 | verwaltung überführte Bearbeitungsstand wird eingecheckt. Erfasst werden ins- |
| 214 | besondere der Sammelbefehl (mehrere Teilbefehle als ein Protokolleintrag), die |
| 215 | mehrfache Stellenauflösung (StellenParser.parseMehrfach) sowie die Auflösung von |
| 216 | Bereichs-Umnummerierungen in absteigender Reihenfolge. |
| 217 | |
| 218 | |
| 219 | Artikel 2 |
| 220 | Erkennung verbundener und mehrgliedriger Ersetzungsanweisungen |
| 221 | |
| 222 | Der Befehlserkenner (BefehlErkenner) wird wie folgt geändert: |
| 223 | |
| 224 | 1. Die Erkennung wird in eine Einzelbefehls-Stufe (erkenneEinzeln) und eine nach- |
| 225 | geordnete Auffangstufe (erkennePaarErsetzung, erkenneVerbund) gegliedert. Trifft |
| 226 | ein Muster zwar auf den Wortlaut, nicht aber auf eine auflösbare Stelle zu, so |
| 227 | steht dies der Prüfung der nachfolgenden Muster und Auffangstufen nicht mehr |
| 228 | entgegen. |
| 229 | |
| 230 | 2. Anweisungen der Form „In <Stelle> werden die Wörter „A“ durch die Wörter „B“ |
| 231 | und die Angabe „C“ durch die Wörter „D“ ersetzt“ werden erkannt; für jedes |
| 232 | Ersetzungspaar wird eine Ersetzung gebildet und, im Falle koordinierter Stellen, |
| 233 | das Kreuzprodukt aus Stellen und Paaren gebildet. |
| 234 | |
| 235 | 3. Anweisungen der Form „... und wird/werden ...“ werden an der Verbindungsstelle |
| 236 | versuchsweise zerlegt; wird jede Teilklausel als eigenständiger Befehl erkannt – |
| 237 | unverändert, mit großem Anfangsbuchstaben oder unter Voranstellung des lokativen |
| 238 | Präfixes der linken Klausel –, so entsteht ein Sammelbefehl. |
| 239 | |
| 240 | 4. Ergänzend werden die Einfügung eines Satzzeichens („... ein Komma eingefügt“) |
| 241 | sowie die anker-voranstehende Einfügung („Nach der Angabe „...“ wird ... |
| 242 | eingefügt“) als Muster aufgenommen. |
| 243 | |
| 244 | Der Stellenparser (StellenParser) wird dahin geändert, dass eine bloße Nummer oder |
| 245 | ein bloßer Buchstabe die Komponentenart der jeweils vorangehenden Stelle erbt |
| 246 | („Absatz 1 und 5“). |
| 247 | |
| 248 | |
| 249 | Artikel 3 |
| 250 | Erkennung von Bereichs-, Wortlaut- und Satzzeichenanweisungen |
| 251 | |
| 252 | 1. Der Stellenparser wird um die Entfaltung von „bis“-Bereichen (ganzzahlig sowie |
| 253 | für Einzelbuchstaben) und um die Pluralformen der Komponentenbezeichnungen |
| 254 | (Absätze, Sätze, Nummern, Buchstaben) ergänzt. |
| 255 | |
| 256 | 2. Die Aufhebung wird auf bereichs- und koordinierte Angaben erstreckt („Die |
| 257 | Nummern 1 bis 3 werden aufgehoben“, „Die Absätze 4 und 5 werden aufgehoben“). |
| 258 | |
| 259 | 3. Die Bereichs-Umnummerierung wird auf Nummern und Buchstaben sowie auf die Form |
| 260 | ohne „zu den“ erstreckt („Die bisherigen Nummern 4 bis 6 werden die Nummern |
| 261 | 8 bis 10“); die Einzel-Umnummerierung wird auf Nummern und Buchstaben sowie auf |
| 262 | die Einleitung „Die bisherige“ erstreckt. |
| 263 | |
| 264 | 4. Die Neufassung eines Paragraphen-Bereichs („Die §§ 52 bis 56 werden wie folgt |
| 265 | gefasst: ...“) wird durch Zerlegung des zitierten Blocks an den „§ N“-Grenzen |
| 266 | erkannt. |
| 267 | |
| 268 | 5. Es wird der Befehl „WortlautZuAbsatz“ eingeführt; die Anweisung „Der Wortlaut |
| 269 | wird Absatz N“ versieht den bislang unnummerierten Normtext mit der Absatznummer. |
| 270 | |
| 271 | 6. Die Ersetzung eines Wortes durch ein Satzzeichen („... das Wort „oder“ am Ende |
| 272 | durch ein Komma ersetzt“) sowie die zusammengesetzten Kommaformen werden erkannt. |
| 273 | |
| 274 | |
| 275 | Artikel 4 |
| 276 | Aufnahme der Gliederungs- und Inhaltsübersichts-Anweisungen |
| 277 | |
| 278 | 1. Das Datenmodell wird wie folgt geändert: |
| 279 | a) Die Gliederung (Gliederung) wird um die Gliederungskennzahl ergänzt. |
| 280 | b) Das Gesetz (Gesetz) führt fortan die geordnete Liste der Gliederungs- |
| 281 | einheiten mit; der Lader (GiiXmlLoader) erhebt diese aus dem gii-XML. |
| 282 | |
| 283 | 2. Die Stelle (Stelle) wird um die Komponenten „Gliederungseinheit“ (Teil, |
| 284 | Abschnitt, Unterabschnitt, Anlage und dergleichen) sowie „Absatzbezeichnung“ |
| 285 | ergänzt. Der Stellenparser erkennt diese Komponenten, ferner die Wendung |
| 286 | „Überschrift von <Gliederung>“, und lässt die verfeinernden Zusätze „Satzteil |
| 287 | vor Nummer N“ und „Angabe vor Nummer N“ außer Betracht. |
| 288 | |
| 289 | 3. Die Neufassung sowie die Streichung von Gliederungs-Überschriften werden auf den |
| 290 | Gliederungsbaum angewandt und in der Synopse als gesonderter Abschnitt |
| 291 | „Geänderte Gliederungs-Überschriften“ dargestellt. Die Streichung einer |
| 292 | Absatzbezeichnung entfernt die betreffende Absatznummer. Die die Inhaltsübersicht |
| 293 | betreffenden Anweisungen („Die Angabe(n) zu ...“) werden erkannt. |
| 294 | |
| 295 | |
| 296 | Schlussbestimmung |
| 297 | |
| 298 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 299 | (einhundertneunzehn an der Zahl) sowie durch die vollständige Erstellung (mvnw |
| 300 | verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben einstweilen die |
| 301 | mehrquelligen Struktur-Ersetzungen, die Einfügung und Bereichsersetzung ganzer |
| 302 | Paragraphenfolgen (§§), die Neufassung von Satzbereichen sowie die stellenlosen |
| 303 | Chapeau-Anweisungen; diese werden dem Abschnitt „Manuell prüfen“ zugewiesen. Die |
| 304 | Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt |
| 305 | vorbehalten. |