[Zope-dev] chameleon.core removes the meta http-equiv="content-type" tag

Fred Drake fdrake at gmail.com
Wed Sep 9 10:25:40 EDT 2009


The <meta http-equiv="content-type" content="..."> is used to identify
the encoding of the file providing the template.

This has nothing to do with the encoding of the output resource, which
is determined by the application.  In the case of the Zope publisher,
Unicode output from the template is converted to UTF-8 by default, and
the charset is set appropriately for text/* content types.

This gets to the basic problem that templates have both input and
output concerns, and there's currently no clean way to separate the
two without additional syntax or metadata support.

There's no one way to handle this; zope.pagetemplate.pagetemplatefile
contains specific choices which made sense at the time; I think these
are still reasonable choices.  Existing applications may well require
the current behavior, so it's unreasonable to change that, regardless
of how attractive a new set of choices may appear.

The right way to make new choices is to create a new class that
embodies those choices, or which allows runtime configuration, and use
that as appropriate.


  -Fred

-- 
Fred L. Drake, Jr.    <fdrake at gmail.com>
"Chaos is the score upon which reality is written." --Henry Miller


More information about the Zope-Dev mailing list