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:
		| @@ -52,9 +52,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) | ||||
|         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. | ||||
|   | ||||
| @@ -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
	 Lance Stout
					Lance Stout