# source.bundesrecht ![law-source-bund inputs and outputs](law-source-bund.io.de.svg) Deutsches Bundesrecht von gesetze-im-internet.de per Kürzel holen ## Was es tut Löst ein gesetze-im-internet.de-Kürzel (z. B. `bgb`, `estg`, `gg`, `stromnzv`) gegen die öffentliche BMJ-Publikationsseite auf, lädt das `xml.zip` des Gesetzes, entpackt das BMJ-Normen-XML (gii-norm-DTD) und liefert es samt Metadaten. Die entpackten Bytes sind inhaltsadressiert (SHA-256) — das Prüfprotokoll des Flows hält den exakt verarbeiteten Gesetzesstand fest. Anders als EUR-Lex liefert gesetze-im-internet nur den AKTUELLEN konsolidierten Stand — es gibt keine URL für ältere Fassungen. Der SHA-256 (plus das BMJ-`builddate` aus dem XML-Kopf) macht einen späteren Re-Fetch vergleichbar: Eine Änderung upstream wird sichtbar statt still. Nur öffentliche BMJ-Daten; die Netzwerk-Berechtigung ist auf `www.gesetze-im-internet.de` festgelegt. ## Verwendung ```yaml steps: - id: fetch use: source.bundesrecht@^0 with: gesetz: stromnzv - id: normalize use: text.akoma-normalize@^0 with: content: $fetch.xml ``` Das Kürzel ist das Pfadsegment der Gesetzes-Seite auf gesetze-im-internet.de: `https://www.gesetze-im-internet.de//`. ## Ausgaben - `xml` — das BMJ-Normen-XML wie aus dem Archiv der Seite entpackt. Für die strukturierte Akoma-Ntoso-Darstellung an `text.akoma-normalize` weiterreichen (dessen BMJ-Adapter aus v0.1 versteht dieses Format nativ). - `meta` — JSON-SourceMeta: `gesetz`, `url`, `source_sha256`, `byte_len` und `builddate`, sofern der XML-Kopf eines trägt. ## Fehler - Unbekanntes Kürzel → klare Eingabefehler-Meldung mit der geprüften URL. - Kein ZIP, kein XML im Archiv, HTML-Fehlerseiten → interner Fehler mit Ursache; HTML wird nie an nachgelagerte Schritte durchgereicht.