A FOP zip mux sink consumes a sequence of streams of SAX events generated by a template item and stores them into a zip file, passing it through the FOP processor. This can generate any of the outputs that the FOP processor supports. In order for the FOP processor to work properly, the last transformation step before the FOP processor must be converting the SAX stream into a XSL-FO compliant stream of SAX events. The user specifies the file in their local file system and the type of output that the FOP processor should generate, using the property editor. Each FOP processor output will be a separate zip entry in the generated zip file.