data | ||
src | ||
.gitignore | ||
.gitlab-ci.yml | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
RISolve
History
- I've created my first parser using RIS API, daily updated. Failed because I tried to do too much automatically (e.g. recognizing headers
- Using print-website, I've extracted stuff w/ regex.
- Tried to create a parser using print-website, proper(-ish) parser
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
Technical
- 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.
Progress / Functions
- Parse structure of law into struct using Deserilize trait, pot. multiple requests (if > 100 paragraphs)
- Parse risdok using own RD parser, again strict: fail if anything not expected happens, not sure (yet) if I want to operate on strings, or first parse using off-the-shelve XML reader (prob. 2nd option)
Next step
- Fetch all pages of law overview (mostly copy from
law
)
Naming
- Law ("Gesetz"): e.g. UHG, TEG, ABGB
- Section ("Paragraph")
- Subsection ("Absatz")
- Item ("Ziffer")
- Heading-{1,2,3,...}