nodes: 0, module; 1, function_definition; 2, function_name:dumps_xml; 3, parameters; 4, block; 5, identifier:props; 6, default_parameter; 7, default_parameter; 8, expression_statement; 9, return_statement; 10, identifier:comment; 11, None; 12, identifier:sort_keys; 13, False; 14, comment:"""
      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
      """; 15, call; 16, attribute; 17, generator_expression; 18, string; 19, identifier:join; 20, binary_operator:s + '\n'; 21, for_in_clause; 22, identifier:s; 23, string; 24, identifier:s; 25, call; 26, string_content; 27, identifier:_stream_xml; 28, argument_list; 29, escape_sequence:\n; 30, identifier:props; 31, identifier:comment; 32, identifier:sort_keys
code: 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))