Skip to content

Commit

Permalink
Fix invalid syntax in EBNF
Browse files Browse the repository at this point in the history
  • Loading branch information
nwagner84 authored Feb 8, 2023
1 parent aa0cd97 commit d93d561
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions pages/query/picapath.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,24 @@ Mit **PICA Path** Ausdrücken lassen sich einzelne Felder, Unterfelder und Feldi
Zur vollständigen Unterstützung von PICA Path muss mindestens folgende formale Syntax erkannt werden:

~~~
path ::= ( tag | xtag ) occurrence? subfields?
tag ::= [012.] [0-9.] [0-9.] [A-Z@.]
xtag ::= "2" [0-9.] [0-9.] [A-Z@.] "x" number
occurrence ::= "/" occurenceValue
occurenceValue ::= number "-" number | occurrencePattern | "*"
occurencePattern ::= [0-9] [0-9]? [0-9]?
subfields ::= [$.]? ( [A-Za-z0-9]+ | "*" )
number ::= [0-9]+
path ::= ( tag | xtag ) occurrence? subfields?
tag ::= [012.] [0-9.] [0-9.] [A-Z@.]
xtag ::= "2" [0-9.] [0-9.] [A-Z@.] "x" number
occurrence ::= "/" occurrenceValue
occurrenceValue ::= number "-" number | occurrencePattern | "*"
occurrencePattern ::= [0-9] [0-9]? [0-9]?
subfields ::= [$.]? ( [A-Za-z0-9]+ | "*" )
number ::= [0-9]+
~~~

Als Standard-Erweiterungen sind die Angabe von Positionen in Unterfeldwerten (`position`) und eine alternative Syntax zur Angabe von Occurrences möglich (umgesetzt in den Werkzeugen `picadata` und `Catmandu`):

~~~
path ::= ( tag | xtag ) occurrence? ( subfields position? )?
position ::= "/" ( number | range )
range ::= number "-" number? | "-" number
occurrence ::= "/" occurenceValue | "[" occurrenceValue "]"
occurencePattern ::= [0-9.] [0-9.]? [0-9.]?
path ::= ( tag | xtag ) occurrence? ( subfields position? )?
position ::= "/" ( number | range )
range ::= number "-" number? | "-" number
occurrence ::= "/" occurrenceValue | "[" occurrenceValue "]"
occurrencePattern ::= [0-9.] [0-9.]? [0-9.]?
~~~

Positionsangaben beziehen sich nicht auf Bytes sondern auf Unicode-Codepunkte. Bei Positionsangaben über mehrere Unterfelder werden die Unterfeldwerte in Reihenfolge ihres Vorkommens im Feld zu einer Zeichenkette zusammengefügt.
Expand Down

0 comments on commit d93d561

Please sign in to comment.