[Checkins] SVN: z3c.pt/trunk/ Expressions in text templates are never escaped.

Malthe Borch mborch at gmail.com
Wed Feb 25 11:19:04 EST 2009


Log message for revision 97269:
  Expressions in text templates are never escaped.

Changed:
  U   z3c.pt/trunk/CHANGES.txt
  U   z3c.pt/trunk/src/z3c/pt/texttemplate.py

-=-
Modified: z3c.pt/trunk/CHANGES.txt
===================================================================
--- z3c.pt/trunk/CHANGES.txt	2009-02-25 16:18:27 UTC (rev 97268)
+++ z3c.pt/trunk/CHANGES.txt	2009-02-25 16:19:04 UTC (rev 97269)
@@ -3,6 +3,8 @@
 
 In next release
 
+- Expressions in text templates are never escaped. [malthe]
+
 - Do not bind template to a trivial instance. [malthe]
 
 1.0b10 (2009/02/24)

Modified: z3c.pt/trunk/src/z3c/pt/texttemplate.py
===================================================================
--- z3c.pt/trunk/src/z3c/pt/texttemplate.py	2009-02-25 16:18:27 UTC (rev 97268)
+++ z3c.pt/trunk/src/z3c/pt/texttemplate.py	2009-02-25 16:19:04 UTC (rev 97269)
@@ -1,23 +1,34 @@
+from chameleon.core import config
+
 import chameleon.zpt.language
-
 import pagetemplate
 
+class XHTMLElement(chameleon.zpt.language.XHTMLElement):
+    meta_interpolation_escaping = False
+
+class Parser(chameleon.zpt.language.Parser):
+    default_expression = "path"
+
+    element_mapping = {
+        config.XHTML_NS: {None: XHTMLElement},
+        }
+    
 class TextTemplate(pagetemplate.PageTemplate):
     __doc__ = pagetemplate.PageTemplate.__doc__ # for Sphinx autodoc
-    default_parser = chameleon.zpt.language.Parser(default_expression="path")
+    default_parser = Parser()
     format = 'text'
 
 class TextTemplateFile(pagetemplate.PageTemplateFile):
     __doc__ = pagetemplate.PageTemplateFile.__doc__ # for Sphinx autodoc
-    default_parser = chameleon.zpt.language.Parser(default_expression="path")
+    default_parser = Parser()
     format = 'text'
 
 class ViewTextTemplate(pagetemplate.ViewPageTemplate):
     __doc__ = pagetemplate.ViewPageTemplate.__doc__ # for Sphinx autodoc
-    default_parser = chameleon.zpt.language.Parser(default_expression="path")
+    default_parser = Parser()
     format = 'text'
 
 class ViewTextTemplateFile(pagetemplate.ViewPageTemplateFile):
     __doc__ = pagetemplate.ViewPageTemplateFile.__doc__ # for Sphinx autodoc
-    default_parser = chameleon.zpt.language.Parser(default_expression="path")
+    default_parser = Parser()
     format = 'text'



More information about the Checkins mailing list