.. _agentguide_processors: Processor Guide =============== A *processor* is a set of variable definitions (name, type, description, pattern, default value) and files (Relax NG, XSL, CSS, images, templates,...). It uses a module (see :ref:`agentguide_modules`) powered with these data to operate. A *processing* is an instance of a processor with values for variables and output directory and, possibly, additional resources and templates. Each processor has necessarily a file ``processor.xml`` which defines: * label and description of the processor in several languages * required module * possibly, required ancestors * possibly, variable definitions * possibly, root path for files in templates * possibly, default output path for result You can easily add processors by filling one of the directory named by the option ``processor.roots`` with directories containing a ``processor.xml`` file. Then, you make them available with ``processor.list`` option. Standard processors are supplied in `PubliForge` package. .. ............................................................................ CharCount --------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: none * Variables: none * Default output: none This processor counts characters of text of an XML file. .. ............................................................................ PublidocValid ------------- * Module: ``publiforge.lib.processor.validator`` * Ancestors: none * Variables: none * Default output: none This processor validates XML against `Publidoc`, `Publiset` and `Publiquiz` Relax NG. .. ............................................................................ Publidoc2XHtml -------------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: `PublidocValid` * Variables: `LePrisme` module variables, image variables, audio variables, string variables, math variables, XHTML layout variables * Default output: ``Result/XHtml`` This processor transforms a `Publidoc` file or a set of `Publidoc` files defined by a `Publiset` file into XHTML 1.1 files. .. ............................................................................ Publidoc2Html5 -------------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: `Publidoc2XHtml` * Variables: `LePrisme` module variables, image variables, audio variables, video variables, string variables, math variables, HTML 5 layout variables * Default output: ``Result/Html5`` This processor transforms a `Publidoc` file or a set of `Publidoc` files defined by a `Publiset` file into XHTML 5 files. .. ............................................................................ Publidoc2EPub2 -------------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: `Publidoc2XHtml` * Variables: `LePrisme` module variables, image variables, string variables, math variables, ePub 2 layout variables * Default output: ``Result/ePub2`` This processor transforms a `Publidoc` file or a set of `Publidoc` files defined by a `Publiset` file into a ePub 2.0.1 file. .. ............................................................................ Publidoc2EPub3 -------------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: `Publidoc2Html5`, `Publidoc2EPub2` * Variables: `LePrisme` module variables, image variables, audio variables, video variables, string variables, math variables, ePub 3 layout variables * Default output: ``Result/ePub3`` This processor transforms a `Publidoc` file or a set of `Publidoc` files defined by a `Publiset` file into a ePub 3 file. .. ............................................................................ Publidoc2Pdf ------------ * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: `PublidocValid` * Variables: `LePrisme` module variables, dimension variables, font variables, layout variables, image variables * Default output: ``Result/Pdf`` This processor transforms a `Publidoc` file or a set of `Publidoc` files defined by a `Publiset` file into a PDF file via LaTeX. .. ............................................................................ PublidocClean ------------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: none * Variables: `LePrisme` module variables * Default output: ``Result/Xml`` This processor fixes non-breaking spaces according to French typography. It also converts ``...`` and ``’``. .. ............................................................................ Publiquiz2Html5 --------------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: `Publidoc2Html5` * Variables: `LePrisme` module variables, image variables, audio variables, video variables, string variables, math variables, HTML 5 layout variables * Default output: ``Result/XHtml`` This processor transforms a `Publiquiz` file or a set of `Publiquiz` files defined by a `Publiset` file into XHTML 1.1 files with Javascript. You obtain standlone and interactive quiz. .. ............................................................................ Publiquiz2EPub3 --------------- * Module: ``publiforge.lib.processor.leprisme`` * Ancestors: `Publidoc2Html5`, `Publidoc2EPub3` * Variables: `LePrisme` module variables, image variables, audio variables, video variables, string variables, math variables, ePub 3 layout variables * Default output: ``Result/ePub3`` This processor transforms a `Publiquiz` file or a set of `Publiquiz` files defined by a `Publiset` file into a ePub 3 file. .. ............................................................................ Publiset4Publidoc ----------------- * Module: ``publiforge.lib.processor.publiseter`` * Ancestors: `PublidocValid` * Variables: `Publiseter` module variables, meta data variables, schema variables * Default output: ``Result/Xml`` This processor transforms a pack into a Publiset XML file for Publidoc. .. ............................................................................ Publiset4Publiquiz ------------------ * Module: ``publiforge.lib.processor.publiseter`` * Ancestors: `PublidocValid` * Variables: `Publiseter` module variables, meta data variables, schema variables * Default output: ``Result/Xml`` This processor transforms a pack into a Publiset XML file for Publiquiz. .. ............................................................................ PackFilling ----------- * Module: ``publiforge.lib.processor.generator`` * Variables: file variables This processor fills a pack according to a regular expression. .. ............................................................................ CleanStorage ------------ * Module: ``publiforge.lib.processor.generator`` * Variables: storage variables This processor cleans a storage according to a regular expression. It is designed to be used in a background job.