Vitavonni

Sun, 21 Aug 2005

On HTML templating

Steinar H. Gunderson wonders about how to do proper HTML templating nowerdays.

First of all, I stick to XHTML 1.0, not 1.1 for now. Compatibility appears to be better with that version (or at least the output enginge of libxslt is better tuned for this doctype, make sure to set the doctype!)

One way to do templating for HTML is to generate an XML file, and write a stylesheet to transform it. While this allows full flexibility, and you can do really nice things in XSLT especially when using e.g. document() (and thus use a template that is plain XHTML) or the document extension, I do not recommend using XSLT for templates in real-world projects. Too few people understand XSLT, I've blogged about the problems of xslt before.

Using XML attributes in XHTML files is a great way to do templates. I've discovered this technique when investigating Zope:

Zope Template Attribution Language looks convincing to me, but is still somewhat a work in progress (i.e. there are proposed changes)

There is also an extended version of it, called Macro Expansion for TAL.

Why is this solution superior to most others? These templates usually are valid XHTML, and often can be edited by "designers" with their favourite broken windows tools such as WeamDreaver. In many cases, these tools will just leave the attributes alone. So fixing the templates after the designed decided for a design changes becomes easy.

Whenever I need to do some templates, I try to do something similar. usually I don't have high requirements, and I'm too lazy to investigate available librarys for it, so usually I just annotate the template with either some custom attributes or by using the id and name attributes of XHTML, and then replace the contents of these tags with DOM calls. Works fine in most cases, and you can even do simple loop constructs.

But I, too, am lacking a convincing templating system I can feed with my data sources (preferably with some pull API) and have it do all the work.

Btw, it should be possible to do an TAL processor in XSLT... ;-)

[Update: Yeah, I somehow mixed up document() and the document exslt tag. fixed I also noted that there is a Python SimpleTal package in Debian I havn't tried yet.]

[category: /en/xml | Permalink]
Menu
[planet.debian]
[planet.xmlhack]
[planet SELinux]
[munichblogs]
[email]
[RSS 2 feed]
[English RSS 2]
Categories
< August 2005 >
SuMoTuWeThFrSa
  1 2 3 4 5 6
7 8 910111213
14151617181920
21222324252627
28293031   
Archives
2010-Mar
2010-Feb
2010-Jan
2009-Dec
2009-Nov
2009-Oct
2009-Sep
2009-Aug
2009-Jul
2009-Jun
2009-May
2009-Apr
2009-Mar
2009-Feb
2009-Jan
2008-Dec
2008-Nov
2008-Oct
2008-Sep
2008-Aug
2008-Jul
2008-May
2008-Apr
2008-Mar
2008-Feb
2008-Jan
2007-Dec
2007-Nov
2007-Oct
2007-Sep
2007-Aug
2007-Jul
2007-Jun
2007-May
2007-Apr
2007-Mar
2007-Feb
2007-Jan
2006-Dec
2006-Nov
2006-Oct
2006-Sep
2006-Aug
2006-Jul
2006-Jun
2006-May
2006-Apr
2006-Mar
2006-Feb
2006-Jan
2005-Dec
2005-Nov
2005-Oct
2005-Sep
2005-Aug
2005-Jul
2005-Jun
2005-May
2005-Apr
2005-Mar
2005-Feb
2005-Jan
2004-Dec
2004-Nov
2004-Oct
2004-Sep
2004-Aug
2004-Jul
Other links:
Swing and the City - Lindy Hop in Munich