diff options
Diffstat (limited to 'src/zope/pagetemplate/architecture.txt')
-rw-r--r-- | src/zope/pagetemplate/architecture.txt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/zope/pagetemplate/architecture.txt b/src/zope/pagetemplate/architecture.txt new file mode 100644 index 0000000..637b028 --- /dev/null +++ b/src/zope/pagetemplate/architecture.txt @@ -0,0 +1,32 @@ +===================================== +ZPT (Zope Page-Template) Architecture +===================================== + +There are a number of major components that make up the page-template +architecture: + +- The TAL *compiler* and *interpreter*. This is responsible for + compiling source files and for executing compiled templates. See + the `zope.tal` package for more information. + +- An *expression engine* is responsible for compiling expressions and + for creating expression execution contexts. It is common for + applications to override expression engines to provide custom + expression support or to change the way expressions are implemented. + The `zope.app.pagetemplate` package uses this to implement trusted + and untrusted evaluation; a different engine is used for each, with + different implementations of the same type of expressions. + + Expression contexts support execution of expressions and provide + APIs for setting up variable scopes and setting variables. The + expression contexts are passed to the TAL interpreter at execution + time. + + The most commonly used expression implementation is that found in + `zope.tales`. + +- Page templates tie everything together. They assemble an expression + engine with the TAL interpreter and orchestrate management of source + and compiled template data. See `zope.pagetemplate.interfaces`. + + |