Parser-combinátor (Parsec)¶
Technika parser-combinátoru se používá pro parsování událostí ve formátu prostého textu. Je založena na SP-Lang Parsec výrazech.
Pro parsování původních událostí použijte následující deklaraci:
define:
name: Můj Parser
type: parsec/parser
parse:
!PARSE.KVLIST
- ...
- ...
- ...
define:
name: Můj Parser
type: parsec/parser
field: <custom_field>
parse:
!PARSE.KVLIST
- ...
- ...
- ...
Když je field specifikováno, parsování se aplikuje na toto pole, jinak se aplikuje na původní událost. Proto musí být přítomno v každém sub-parseru.
Typy specifikace field:
-
field: <custom_field>- běžné pole předparsované předchozím parserem. -
field: json /key/foo- JSON klíč/key/fooz předparsovaného JSON objektujson. Název JSON objektu a JSON klíč musí být odděleny mezerou. JSON klíč vždy začíná s/, a každá další úroveň je oddělena/. -
JSON klíč se specifikovaným typem, ve výchozím nastavení předpokládáme typ
string.field: json: /key/foo type: int -
field: xml /key/foo/@attribute- XML klíč/key/foo/@attributez předparsovaného XML objektuxml. Název XML objektu a XML klíč musí být odděleny mezerou. XML klíč vždy začíná s/, a každá další úroveň je oddělena/. Atribut třídy je označen@.