An XML::SAX::Pipeline is a linear sequence SAX processors. Events passed to the pipeline are received by the Intake end of the pipeline and the last filter to process events in the pipeline passes the events out the Exhaust to the filter set as the pipeline's handler:

As with all SAX machines, a pipeline can also create an ad hoc parser (using XML::SAX::ParserFactory) if you ask it to parse something and the first SAX processer in the pipeline can't handle a parse request: