Projects / XIST


XIST is an extensible HTML and XML generator. It is also an XML parser with a very simple and Python-esque 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 a cross-platform templating language, Oracle utilities, and various other tools.

Operating Systems

Recent releases

  •  04 Mar 2013 15:30

    Release Notes: UL4 templates can now be used as functions via the tag. The built-in UL4 functions are now real objects that can be passed to templates as arguments. Lists in UL4 support the methods append, insert, and pop, and dictionaries support the method update. Line feeds and indentation in the literal text for UL4 templates can now be ignored via an additional constructor argument.

    •  11 Jan 2013 17:22

      Release Notes: UL4 templates now support lexical scopes. UL4 methods and functions support keyword arguments. Tree traversal and iterative parsing in XIST have been simplified and support the same API now.

      •  08 Nov 2012 13:10

        Release Notes: Python 3.3 is required. The UL4 parser is generated via ANTLR for compatibility with the Java parser. Accessing undefined variable/attributes in UL4 templates returns the special object "Undefined". UL4 functions isdefined() and isundefined() have been added. Support has been added for date arithmetic to UL4 templates (via the functions date(), timedelta(), and monthdelta()). format() supports language-specific date formatting. Loop variable unpacking and variable unpacking in assignment supports arbitrary nesting. The new script can be used for importing data to an Oracle database via procedure calls.

        •  08 Aug 2012 14:08

          Release Notes: XIST has been ported to Python 3. UL4 templates now compile to an AST format instead of bytecode. A new ll.ul4on module has been added that provides functions for encoding and decoding a lightweight extensible machine-readable text format for serializing the object types supported by UL4. Several UL4 function have been added: isfirst(), islast(), isfirstlast(), enumfl(), fromjson(), asul4on(), fromul4on(), min(), and max(). Several enhancements to ll.orasql.

          •  05 May 2011 09:28

            Release Notes: Java source code can now be produced from UL4 templates. Sisyphus jobs support non-forking mode. The scripts xml2xsc and dtd2xsc can handle multiple XML/DTD files. The UL4 functions json(), type(), repr(), islist(), and isdict() can handle more types of maps and lists. ll.orasql has been enhanced to support object names with "fancy" characters. The scripts uls, ucp, and ucat have new options --include, --exclude, and --all. cx_Oracle 5.1 is supported now. Oracle URLs support logging in in SYSDBA/SYSOPER mode. Oracle URLs support access to objects that belong to a different user.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.