|
||
---|---|---|
.gitea/workflows | ||
data | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
gen_all_laws.sh | ||
LICENSE | ||
README.md |
RIS Parser
Add new law text
- Tests: Create config file in
./data/configs/
and run the tests (cargo t
). This will automatically create tests both foroverview
andpar
(by adding new files indata/expected/
).
Integration test
- Nice test would be to re-create html ris file and compare it (problem with custom fixes, though)
Goals
- I want to have the text of the law.
- I want to see the structure (proper headers) of the law.
- I want to be able to make comments (e.g. Erschöpfung) on certain parts
- I want to see since when this paragraph is in use.
- [.] Lawtext should be updateable
Mindset
- I don't want to restrict myself with a parser combinators but code it myself using recursive descent parser.
- Be strict in what I process. Fail if anything unexpected happens. The user should handle this case. It's fine if one decides to ignore the new/unexpected field, but it should be done deliberately.
Nomenclature
- Law ("Gesetz"): e.g. UHG, TEG, ABGB
- Section ("Paragraph")
- Subsection ("Absatz")
- Item ("Ziffer")
- Heading-{1,2,3,...}
Folder-Structure of this repo
- ./data
- cache -> cache for tests
- expected
- overview -> expected xml links of law_ids
- par -> expected
LawBuilder
calls for a given law
- configs -> configs for various law texts. If you want to support a new law text, add respective config here.
License
Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence"). You may not use this work except in compliance with the Licence.
License: European Union Public License v1.2