Add support for using xml:lang values.
Support is only for adding literal XML content to stanzas. Full support for things like multiple message bodies with different xml:lang values is still in the works.
This commit is contained in:
@@ -55,9 +55,18 @@ def tostring(xml=None, xmlns='', stanza_ns='', stream=None, outbuffer=''):
|
||||
|
||||
# Output escaped attribute values.
|
||||
for attrib, value in xml.attrib.items():
|
||||
if '{' not in attrib:
|
||||
value = xml_escape(value)
|
||||
output.append(u' %s="%s"' % (attrib, value))
|
||||
value = xml_escape(value)
|
||||
if '}' not in attrib:
|
||||
output.append(' %s="%s"' % (attrib, value))
|
||||
else:
|
||||
attrib_ns = attrib.split('}')[0][1:]
|
||||
attrib = attrib.split('}')[1]
|
||||
if stream and attrib_ns in stream.namespace_map:
|
||||
mapped_ns = stream.namespace_map[attrib_ns]
|
||||
if mapped_ns:
|
||||
output.append(' %s:%s="%s"' % (mapped_ns,
|
||||
attrib,
|
||||
value))
|
||||
|
||||
if len(xml) or xml.text:
|
||||
# If there are additional child elements to serialize.
|
||||
|
||||
Reference in New Issue
Block a user