Extensible HTML/XML generator
XIST is an extensible HTML and XML generator. XIST is also a XML parser with a very simple and pythonesque tree API. Every XML element type corresponds to a Python class and these Python classes provide a conversion method to transform the XML tree (e.g. into HTML). XIST can be considered ‘object oriented XSLT’.
XIST also includes the following modules:
- ll.astyle can be used for colored terminal output (via ANSI escape sequences).
- ll.color provides classes and functions for handling RGB color values. This includes the ability to convert between different color models (RGB, HSV, HLS) as well as to and from CSS format, and several functions for modifying and mixing colors.
- ll.make is an object oriented make replacement. Like make it allows you to specify dependencies between files and actions to be executed when files don’t exist or are out of date with respect to one of their sources. But unlike make you can do this in a object oriented way and targets are not only limited to files, but you can implement e.g. dependencies on database records.
- ll.misc provides several small utility functions and classes.
- ll.sisyphus provides classes for running Python scripts as cron jobs.
- ll.daemon can be used on UNIX to fork a daemon process.
- ll.url provides classes for parsing and constructing RFC 2396 compliant URLs.
- ll.xpit is a module that makes it possible to embed Python expressions in text (as XML style processing instructions).
- ll.ul4c is compiler for a templating language with similar capabilities to Django’s templating language. UL4 templates are compiled to an internal bytecode format, which makes it possible to implement template renderers in other languages and makes the template code “secure” (i.e. template code can’t open or delete files).
- ll.xml_codec contains a complete codec for encoding and decoding XML.
Changes in 3.3 (released 07/11/2008)
XIST has gained its fourth templating language: UL4 the “Universal Layout Language”. This templating language is similar in capabilities to Django’s templating language. However UL4 templates are compiled to a bytecode format, which makes it possible to implement template renderers in other languages and makes the template code “secure” (i.e.template code can’t open or delete files).
ll.make has gained new actions: GZipAction, GUnzipAction, CallFuncAction, CallMethAction, UL4CompileAction, UL4DumpAction and UL4LoadAction.
The version number for cssutils has been bumped to 0.9.5rc1.
Nodes of type ll.xist.xsc.Comment and ll.xist.xsc.DocType inside attributes are now simply ignored when publishing instead of generating an exception.
All actions in ll.make no longer check whether their inputs are action objects. Non-action objects are simply treated as ancient input data. This also means that most action classes have an input parameter in their constructor again, as this input could now be a constant.
Most attributes of action objects in ll.make can now be action objects themselves, so for example the name of the encoding to be used in an EncodeAction can be the output of another action.
ll.make.ImportAction has been dropped as now the module object can be used directly (e.g. as the input for an XISTPoolAction object).
ll.misc.xmlescape now escapes ' as ' for IE compatibility.
Functions ll.misc.xmlescape_text and ll.misc.xmlescape_attr have been added that implement the functionality from XIST 3.2.5 and earlier.
The default parser for XIST is expat now. To switch back to sgmlop simply pass an SGMLOPParser object to the parsing functions:
>>> from ll.xist import parsers >>> node = parsers.parsestring("<a>", parser=parsers.SGMLOPParser())
TOXIC has been split into a compiler module ll.toxicc and an XIST namespace ll.xist.ns.toxic. TOXIC now supports output for SQL Server. The function xml2ora as been renamed to compile (and has a new mode argument for specifying the database type).
The targetroot parameter for ll.make.XISTConvertAction.__init__ has been renamed to root.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|ll_xist-3.3-py2.5-macosx-10.5-i386.egg (727.0 kB) Copy SHA256 hash SHA256||Egg||2.5|
|ll_xist-3.3-py2.5-win32.egg (722.2 kB) Copy SHA256 hash SHA256||Egg||2.5|
|ll-xist-3.3.tar.bz2 (309.7 kB) Copy SHA256 hash SHA256||Source||None|
|ll-xist-3.3.tar.gz (364.5 kB) Copy SHA256 hash SHA256||Source||None|
|ll-xist-3.3.win32-py2.5.exe (406.9 kB) Copy SHA256 hash SHA256||Windows Installer||2.5|
|ll-xist-3.3.zip (431.2 kB) Copy SHA256 hash SHA256||Source||None|