Evaluating CMSes (Continuation)

Anderson Lizardo lizardo at linuxfromscratch.org
Mon Jan 12 08:57:18 PST 2004


On Monday 12 January 2004 06:13, Jeroen Coumans wrote:
> Great, let me know when we can start testing it. I'll look into the zope 

I've already sent an e-mail to Gerard requesting the database creation. I am 
just waiting his response.

> template things; seems like a powerful way to write webpages, although I 
> don't want to lock myself totally into one system. What happens if, 
> after a couple of years, we have to migrate to a different template 
> system? Will all our templates become obselete and have to be rewritten? 

Why should we migrate to another template system, even after many years? TAL 
is perfect! :). I think you meant migrate to another CMS. But this will 
almost certainly not be a problem, because there are TAL processors for, at 
least, Perl, PHP, Java and Python (see 
http://dev.zope.org/Wikis/DevSite/Projects/ZPT/FrontPage).

But, anyway, you decide if we stay with TAL as template language or not, as 
are you who will work with the templates directly. Just say the words that I 
start integration of TAL with Drupal. But I've decided: I will use TAL as my 
personal template language :)

> Or is there some DTML-XML conversion possible? I'm sure you'll have a 
> solution :)

*Warning* We are not going to use DTML, but TAL (AKA "ZPT"). DTML is the 
traditional templating language of Zope, but TAL is becoming even more 
popular, as Zope developers are adopting it.

Page Templates permits you write well-formed XML templates (and see them on 
Mozilla without it complain about not well-formed XML). In summary, the 
"magic" is use XML namespaces to insert template notation on a file. Eg:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:tal="http://xml.zope.org/namespaces/tal"
    xml:lang="en">
<head><title tal:content="template/title">The Title Goes Here</title></head>
<body>
    <p>A paragraph.</p>
</body>
</html>

Note that this is not *valid* XHTML, in the context of the DTD. So, do not try 
to use xmllint --valid here. To test how the template above is well-formed, 
use "xmllint --noout template.xml". Read 
http://mail.zope.org/pipermail/zpt/2001-April/000835.html explaining why is 
meaningless to write a DTD for ZPT. The template above will be processed and 
the output will be:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>The Actual Title</title></head>
<body>
    <p>A paragraph.</p>
</body>
</html>

See this Linux Journal article 
(http://www.linuxjournal.com/article.php?sid=5950, "At the Forge: Zope Page 
Templates"), with a nice introduction to ZPT. After reading this, you will 
have the necessary knowledge to write and understand bacic ZPT files.

I hope I'm not going too off-topic here ;)

-- 
Anderson Lizardo
lizardo at linuxfromscratch.org
http://www.linuxfromscratch.org/




More information about the website mailing list