Edgewall Software

Changes between Version 1 and Version 2 of MarkupTemplates


Ignore:
Timestamp:
Jun 15, 2006, 1:40:31 PM (18 years ago)
Author:
cmlenz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MarkupTemplates

    v1 v2  
    11= Markup Templates =
    22
    3 The `markup` package provides a template engine that is compatible with Kid (http://kid.lesscode.org) to a
    4 certain extent.
     3The `markup` package provides a template engine that is compatible with Kid (http://kid.lesscode.org) to a certain extent.
     4
     5Common concepts and features:
     6 * The same basic set of directives (excluding `py:extends` and `py:layout`)
     7 * Inline expressions using the `${expr}` (or just `$expr`) syntax.
     8 * Expressions are real Python code, not some crippled mini language.
     9 * Stream-based processing model making heavy use of Python generators.
     10 * Different serialization methods, for example to produce XML or HTML output.
    511
    612Differences include:
    713 * No generation of Python code for a template; the template is "interpreted"
    8  * No support for <?python ?> processing instructions
    9  * Expressions are evaluated in a more flexible manner, meaning you can use e.g. attribute access notation to access items in a dictionary, etc
    10  * Use of XInclude and match templates instead of Kid's py:extends/py:layout directives
     14 * No support for `<?python ?>` processing instructions
     15 * Expressions are evaluated in a more flexible manner, meaning you can use e.g. attribute access notation to access items in a dictionary, etc (see the [source:/trunk/markup/eval.py markup.eval] module)
     16 * Use of XInclude and match templates instead of Kid's `py:extends` / `py:layout` directives
    1117 * Real (thread-safe) search path support
    1218 * No dependency on ElementTree (due to the lack of position reporting)
    1319 * The original location of parse events is kept throughout the processing pipeline, so that errors can be tracked back to a specific line/column in the template file
    14  * py:match directives use (basic) XPath expressions to match against input nodes, making match templates more powerful while keeping the syntax simple
     20 * `py:match` directives use (basic) XPath expressions to match against input nodes, making match templates more powerful while keeping the syntax simple (see the [source:/trunk/markup/path.py markup.path] module)