Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stabilize explode command #794

Merged
merged 2 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions crates/pica-toolkit/src/commands/explode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ pub(crate) struct ExplodeConfig {
pub(crate) gzip: Option<bool>,
}

/// Split records at main, local or copy level.
#[derive(Parser, Debug)]
pub(crate) struct Explode {
/// Skip invalid records that can't be decoded.
Expand Down
7 changes: 0 additions & 7 deletions docs/content/docs/kommandos/explode.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,6 @@
Mithilfe des `explode`-Kommandos lassen sich Datensätze in Lokal- bzw.
Exemplardatensätze aufteilen.

{{< hint danger >}}
**Hinweis:**
Das `explode`-Kommando befindet sich in der aktiven Entwicklung.
Funktionalitäten können unvollständig oder fehlerhaft sein. Änderungen
am _command-line interface_ (CLI) sind nicht ausgeschlossen.
{{< /hint >}}

## Beschreibung

<!-- TODO: Separate Seite über den Aufbau eines PICA+-Datensatzes erstellen. Untenstehende Notizen dazu stammen aus https://wiki.k10plus.de/download/attachments/203128864/K10plusKatalogisierungsschulung-mit-Notizen-Teil1.pdf?version=3&modificationDate=1606824839604&api=v2 -->
Expand Down
3 changes: 3 additions & 0 deletions docs/content/docs/referenz/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
bookFlatSection: true
---
34 changes: 34 additions & 0 deletions docs/content/docs/referenz/filter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Filter

Eines der Kernelemente des Toolkits ist das Filtern von Datensätzen und
Feldern nach bestimmten Kriterien.

## PICA-Datenformat

Ein PICA-Datensatz (_record_) besteht aus einer nicht-leeren Liste von
Feldern (_field_), die über eine Feldnummer (_tag_) referenziert werden
und eine Liste von Unterfeldern enthalten. Optional können Felder einen
numerischen Zählwert (_occurrence_) enthalten, der je nach Kontext
unterschiedlich interpretiert werden kann. Unterfelder bestehen aus
einem Unterfeld-Code (_code_) und einem Wert (_value_). Eine umfassende
Darstellung des PICA-Datenformats findet sich in der [Einführung in die
Verarbeitung von PICA-Daten] von Jakob Voß.

[Einführung in die Verarbeitung von PICA-Daten]: https://pro4bib.github.io/pica


## Unterfelder

Ein Unterfeld besteht immer aus einem alpha-numerischen Unterfeld-Code
(`A-Z`, `a-z`, `0-9`) und einen Wert (String). Um zu testen, ob der Code
eines Unterfeldes einem bestimmten Wert entspricht, wird der
`?`-Operator (_exists_-Operator) verwendet: Der Ausdruck `0?` testet
bspw., ob Codes eines Unterfelds `0` ist, oder nicht. Soll getestet
werden, ob der Code eines Unterfelds einem Wert aus einer Liste
entspricht, werden alle Möglichkeiten in eckigen Klammern
zusammengefasst: Der Ausdruck `[adf]?` wird bei einem konkreten
Unterfeld wahr, wenn der Code entweder `a`, `d` oder `f` ist. Ist die
Auflistung von möglichen Codes sehr lang und lässt sich eine Spanne von
Codes finden, können diese mit einem `-` zusammengefasst werden
(`[a-z0-3]`). Sind alle Unterfeld-Codes gültig, wird dies mit `*?`
angezeigt.