Convert a series ``props`` of key-value pairs to a text string containing
    an XML properties document.  The document will include a doctype
    declaration but not an XML declaration.

    :param props: A mapping or iterable of ``(key, value)`` pairs to serialize.
        All keys and values in ``props`` must be text strings.  If
        ``sort_keys`` is `False`, the entries are output in iteration order.
    :param comment: if non-`None`, ``comment`` will be output as a
        ``<comment>`` element before the ``<entry>`` elements
    :type comment: text string or `None`
    :param bool sort_keys: if true, the elements of ``props`` are sorted
        lexicographically by key in the output
    :rtype: text string

def dumps_xml(props, comment=None, sort_keys=False):
    """
    Convert a series ``props`` of key-value pairs to a text string containing
    an XML properties document.  The document will include a doctype
    declaration but not an XML declaration.

    :param props: A mapping or iterable of ``(key, value)`` pairs to serialize.
        All keys and values in ``props`` must be text strings.  If
        ``sort_keys`` is `False`, the entries are output in iteration order.
    :param comment: if non-`None`, ``comment`` will be output as a
        ``<comment>`` element before the ``<entry>`` elements
    :type comment: text string or `None`
    :param bool sort_keys: if true, the elements of ``props`` are sorted
        lexicographically by key in the output
    :rtype: text string
    """
    return ''.join(s + '\n' for s in _stream_xml(props, comment, sort_keys))