class PyWithElement(PyElement): py_with = utils.attribute("vars", lambda p: expressions.translator.definitions)
class PyForElement(PyElement): py_for = utils.attribute("each", lambda p: p.definition)
class PyElement(XHTMLElement): strip_text = True py_strip = utils.attribute("strip", lambda p: p.expression, u"")
class PyIfElement(PyElement): py_if = utils.attribute("test", lambda p: p.expression)
class XHTMLElement(GenshiElement): """XHTML namespace element.""" py_if = utils.attribute(utils.py_attr('if'), lambda p: p.expression) py_for = utils.attribute(utils.py_attr('for'), lambda p: p.definition) py_with = utils.attribute(utils.py_attr('with'), lambda p: expressions.translator.definitions) py_choose = utils.attribute(utils.py_attr('choose'), lambda p: p.expression) py_when = utils.attribute(utils.py_attr('when'), lambda p: p.expression) py_otherwise = utils.attribute(utils.py_attr('otherwise'), lambda p: p.expression) py_match = utils.attribute(utils.py_attr('match')) py_once = utils.attribute(utils.py_attr('once'), default='false') py_def = utils.attribute(utils.py_attr('def'), lambda p: p.method) py_attrs = utils.attribute(utils.py_attr('attrs'), lambda p: p.expression) py_content = utils.attribute(utils.py_attr('content'), lambda p: p.output) py_replace = utils.attribute(utils.py_attr('replace'), lambda p: p.output) py_strip = utils.attribute(utils.py_attr('strip'), lambda p: p.expression) meta_translator = etree.Annotation(utils.meta_attr('translator')) meta_interpolation = utils.attribute(utils.meta_attr('interpolation'), default='true', recursive=True) meta_interpolation_escaping = utils.attribute( utils.meta_attr('interpolation-escaping'), default='true', recursive=True) i18n_translate = utils.attribute(utils.i18n_attr('translate')) i18n_attributes = utils.attribute(utils.i18n_attr('attributes'), lambda p: p.mapping) i18n_domain = utils.attribute(utils.i18n_attr('domain')) i18n_name = utils.attribute(utils.i18n_attr('name'))