XIST

Software Screenshot:
XIST
Software Details:
Version: 4.10
Upload Date: 20 Feb 15
Developer: -
Distribution Type: Freeware
Downloads: 10

Rating: nan/5 (Total Votes: 0)

XIST is an extensible HTML and XML generator written in Python. It is also a DOM parser (built on top of SAX2) 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 was written as a replacement for the HTML preprocessor HSC, and borrows some features and ideas from it.

It also borrows the basic ideas (XML/HTML elements as Python objects) from HTMLgen and HyperText.

XIST is the basis of an XML Web Content Management System by LivingLogic AG. The main advantage of using XIST in this context is being able to preprocess the CMS templates of the XML web content management system to get the maximum speed possible and to get reusable building blocks for constructing the templates.

Features:

  • Easily extensible with new XML elements,
  • Can be used for offline or online page generation,
  • Allows embedding Python code in XML files,
  • Supports separation of layout and logic,
  • Can be used together with mod_python, PyWX or Webware to generate dynamic pages,
  • Fully supports Unicode and XML namespaces,
  • Provides features to use XIST together with JSP/Struts (when replacing Struts tag libraries with XIST this speeds up pages by a factor of 5�10.)

What is new in this release:

  • It's now possible to use UL4 templates as functions by using the tag:
  • >>> from ll import ul4c
  • >>> f = ul4c.Template("")
  • >>> f(x=42)
  • It's also possible to call a template as a function inside another template:
  • >>> from ll import ul4c
  • >>> t = ul4c.Template("")
  • >>> t.renders()
  • '42'
  • Normal output of the template will be ignored if it is used as a function.
  • If the template runs through to the end without encountering a tag, None will be returned if the template is used as a function.
  • If the template is used as a template and a tag is encountered executing the template will be stopped (the return value will be ignored).
  • The UL4 tag may now contain not only variable assigments, but any other expression. Of course this makes only sense for expressions that have side effects (e.g. a call to the render method).
  • The tag has been removed. To update your code replace with .
  • UL4 functions print and printx have been added. They behave like the respective tags and , but can output an arbitrary number of arguments.
  • The builtin UL4 functions are now real objects that can be passed to templates as arguments.
  • The UL4 methods days, seconds, microseconds and months have been added for timedelta/monthdelta objects.
  • Lists in UL4 now support the methods append, insert and pop.
  • Dictionaries in UL4 now support the method update.
  • The db2ul4 script now supports a -w/--keepws argument.
  • The UL4 functions vars and get have been removed.
  • The ** syntax has been removed for UL4 dict literals.
  • The automatic UL4 variable stack has been removed too.

What is new in version 4.7:

  • A variable stack is now automatically defined in all UL4 templates. This list contains a stack of the currently executing UL4 templates. stack[-1] is the current template.
  • UL4 templates now support lexical scopes. A locally defined subtemplate can access all local variables of the template in which it is defined.
  • UL4 functions and methods now suport keyword arguments, e.g. format(now(), fmt="%Y-%m-%d", lang="en").
  • UL4 templates can no longer be converted to Java CompiledTemplate objects. (However converting it to an InterpretedTemplate is of course still supported).
  • If the view ctx_preferences doesn't exist orasql.Preference.itername` now will simply return an empty iterator instead of failing with an Oracle exception ORA-00942: table or view does not exist.
  • For sisyphus jobs, the class attribute maxtime can now be set to a datetime.timedelta object.

What is new in version 4.4:

  • Python 3.3 is required now (as the code uses yield from and __qualname__).
  • ll/__init__.py has been removed, i.e. XIST is now a PEP 420 compatible namespace package.
  • Fixed tab/space mix in antlr3/debug.py.

What is new in version 3.20:

  • 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.

What is new in version 3.14:

  • UL4 templates can now be converted to Javascript.
  • Logging in Sisyphus jobs is now much more flexible.
  • Log files for each run will be retained for a customizable number of days.

What is new in version 3.6.2:

  • Template objects in UL4 templates now have a render() method that returns the output string.
  • The UL4 function int() now supports two arguments.

What is new in version 3.6.1:

  • make.py now supports minifying Javascript source and Growl notifications.
  • UL4 templates now support JSON output and Color objects.
  • jsp.py can now convert UL4 templates to JSP code.

What is new in version 3.4.3:

  • css.applystylesheets() could no longer handle style declarations containing comments. This has been fixed.

What is new in version 3.4.2:

  • Parsing broken HTML (via the tidy option) when using a base URL has been fixed.

Requirements:

  • Python
  • Python Imaging Library

Other Software of Developer -

Aseba
Aseba

17 Feb 15

Vala
Vala

27 Sep 15

fortran
fortran

2 Jun 15

SDLjump
SDLjump

14 Apr 15

Comments to XIST

Comments not found
Add Comment
Turn on images!