All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m45s
Fetch one EU legal act from EUR-Lex by CELEX number and return its FORMEX-4 XML content-addressed (SHA-256), so a flow's audit trail pins the exact Gesetzesstand it processed. - CELLAR content negotiation (application/xml;type=fmx4) on publications.europa.eu; 303 multiple-choice item selection - host-pinned redirect handling (max 3 hops), 64 MB body cap - consolidated CELEX (0...-YYYYMMDD) yields consolidation_date - net permission pinned to publications.europa.eu; no auth - 10 unit tests (no network), wasm32-wasip2 build green Signed-off-by: flemming-it <sf@flemming.it>
46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
# source.eu-recht
|
|
|
|
<!-- chain:io-card:start -->
|
|
<!-- Generated by `chain doc` from module.yaml — do not edit by hand. -->
|
|

|
|
<!-- chain:io-card:end -->
|
|
|
|
Fetch EU legal acts from EUR-Lex by CELEX number
|
|
|
|
## What it does
|
|
|
|
Resolves a CELEX identifier (e.g. `32016R0679` for the GDPR, or the
|
|
consolidated form `02016R0679-20160504`) against the public EUR-Lex
|
|
CELLAR endpoint and returns the act's FORMEX-4 XML plus a
|
|
metadata record. The fetched bytes are content-addressed (SHA-256),
|
|
so the flow's audit trail pins the exact Gesetzesstand that was
|
|
processed — a later re-fetch of "the same" CELEX that renders
|
|
differently upstream becomes visible instead of silent.
|
|
|
|
Public EUR-Lex data only; network permission is pinned to
|
|
`publications.europa.eu` (CELLAR, the EU Publications Office store
|
|
behind EUR-Lex).
|
|
|
|
## How to use
|
|
|
|
```yaml
|
|
steps:
|
|
- id: fetch
|
|
use: source.eu-recht@^0
|
|
with:
|
|
celex: "32016R0679"
|
|
language: "DE" # optional, default DE
|
|
- id: normalize
|
|
use: text.akoma-normalize@^0 # 0.2+ understands FORMEX-4
|
|
with:
|
|
content: "{{ fetch.formex }}"
|
|
mime: "application/x-formex+xml"
|
|
```
|
|
|
|
Outputs: `formex` (bytes, `application/xml`) and `meta` (JSON with
|
|
`celex`, `language`, `url`, `source_sha256`, `byte_len`, and
|
|
`consolidation_date` for consolidated CELEX numbers).
|
|
|
|
## License
|
|
|
|
Apache-2.0 — a Ch∆In platform module (Flemming.AI).
|