Skip to content

Translating

Turning what a source actually sent into structured events you can search.

Translation is where most of the work in Stroom is, and most of the difficulty. A source sends you whatever it sends: delimited text, fixed-width columns, XML, JSON, or something with no format at all. A pipeline turns that into events in a shape you choose.

Two pieces do the work. A Text Converter written in Data Splitter splits unstructured text into XML records. An XSLT then reshapes those records into whatever schema you are standardising on.

Everything else is plumbing around those two.

Writing a translation is the way in: it builds a pipeline in stages and checks each one in the Stepper before building on it, which is much faster than writing the whole thing and asking why the output is empty.

All documentation