"Babeldoc is based around the concept of pipeline processing. Pipeline processing is where an input document is subjected to a linear succession of processing. The document is successively transformed into useful information. Examples of this might be to convert a purchase order document from a client in CSV (comma-separated value) format to a PDF document ready for printing. There are a number of standard processing pipeline stages available and it is a relatively simple programming exercise to add customized processing by developing new pipeline stages."
"The Babeldoc journal is centered around the concept of a ticket. This is analogous to the ticket you sometimes have to get when waiting in line for a service. All tickets are issued by the journal. This ticket then accompanies the document as it traverses the pipeline and its value remains constant. All operations on the document are logged against this ticket. In certain circumstances a document spawns one or more child documents (for example, a file of many purchase orders getting split into documents containing only one purchase order) at which point the ticket is said to fork. A forked ticket maintains a relationship to the parent ticket. This kind of relationship can be queried and is useful for complex pipelines."