def rec(root_node): f = _make_template_xml_view(root_node, cache=cache) subs_strs = [] for sub in root_node.fast_substitutions(): if isinstance(sub, basestring): subs_strs.append((xml_sax_escape(sub, {'"': """})).encode("ascii", "xmlcharrefreplace")) elif isinstance(sub, RootNode): subs_strs.append(rec(sub)) elif sub is None: subs_strs.append("") else: subs_strs.append(str(sub)) return f.format(*subs_strs)
def to_xml_string(s): s = xml_sax_escape(s, {'"': '"'}) return s