Chameleon

XML-based template compiler
Download

Chameleon Ranking & Summary

Advertisement

  • Rating:
  • License:
  • BSD License
  • Price:
  • FREE
  • Publisher Name:
  • Malthe Borch and the Repoze Community
  • Publisher web site:
  • http://chameleon.repoze.org

Chameleon Tags


Chameleon Description

XML-based template compiler Chameleon is a Python module that compiles templates to Python byte-code. It includes a complete implementation of the Zope Page Templates (ZPT) language.The engine itself performs 10-15 times better than the reference implementation and real-world benchmarks show an overall performance improvement in complex applications of 30-50%.LicenseThis software is made available under the BSD license.DevelopmentThe code is maintained in a subversion repository:svn://svn.repoze.org/svn/chameleon/trunkIf you want to contribute or need support, join #repoze on freenode irc or write the mailinglist.LanguagesAn implementation of the Zope Page Templates language is included. The Genshi language has been implemented and is currently maintained in a separate package.Zope Page TemplatesThe ZPT implementation is largely compatible with the reference implementation. Below is an overview of notable differences:Default expression The default expression is python:. Path expressions are not supported in the base package. The package introduces the import: expression which imports global names.Tuple unpacking The tal:define and tal:repeat clauses supports tuple unpacking: tal:define="(a, b, c) " The star character is not supported.Dot-notation for dictionary lookups If attribute lookup fails (i.e. the dot operator), dictionary lookup is tried. The engine replaces attribute lookups with a call to a function that has the following body: try: return context.key except AttributeError: try: return context except KeyError: raise AttributeError(key)Interpolation is supported The Genshi expression interpolation syntax is supported outside tags and inside static attributes: < span class="hello-${'world'}" > Hello, ${'world'}! < /span >Literal insertion If objects for insertion provide an __html__ method, it will be called and the result inserted literally, without escaping. Requirements: · Python What's New in This Release: · Fixed white space issue. · Fixed character encoding issue. · Fixed issue where macro extension would fail.


Chameleon Related Software