Update docs for tostring

This commit is contained in:
Lance Stout 2011-11-22 15:25:02 -08:00
parent ff5421cefc
commit 6906c15e8e
6 changed files with 58 additions and 37 deletions

View file

@ -10,3 +10,4 @@ xmlstream
.. toctree::
stanzabase
tostring

View file

@ -1,3 +1,5 @@
.. _stanzabase:
==========
stanzabase
==========

View file

@ -0,0 +1,17 @@
========
tostring
========
.. module:: sleekxmpp.xmlstream.tostring
.. _tostring:
XML Serialization
-----------------
.. autofunction:: tostring
Escaping Special Characters
---------------------------
.. autofunction:: xml_escape

View file

@ -12,16 +12,8 @@ SleekXMPP
``master`` branch, while the latest development version is in the
``develop`` branch.
**Stable Releases**
**Latest Stable Release**
- `1.0 RC3 <http://github.com/fritzy/SleekXMPP/zipball/1.0-RC3>`_
- `1.0 RC2 <http://github.com/fritzy/SleekXMPP/zipball/1.0-RC2>`_
- `1.0 RC1 <http://github.com/fritzy/SleekXMPP/zipball/1.0-RC1>`_
- `1.0 Beta6.1 <http://github.com/fritzy/SleekXMPP/zipball/1.0-Beta6.1>`_
- `1.0 Beta5 <http://github.com/fritzy/SleekXMPP/zipball/1.0-Beta5>`_
- `1.0 Beta4 <http://github.com/fritzy/SleekXMPP/zipball/1.0-Beta4>`_
- `1.0 Beta3 <http://github.com/fritzy/SleekXMPP/zipball/1.0-Beta3>`_
- `1.0 Beta2 <http://github.com/fritzy/SleekXMPP/zipball/1.0-Beta2>`_
- `1.0 Beta1 <http://github.com/fritzy/SleekXMPP/zipball/1.0-Beta1>`_
**Develop Releases**
- `Latest Develop Version <http://github.com/fritzy/SleekXMPP/zipball/develop>`_
@ -90,7 +82,7 @@ Tutorials, FAQs, and How To Guides
faq
xeps
xmpp_tdg
create_stanzas
howto/stanzas
create_plugin
features
sasl
@ -119,7 +111,7 @@ API Reference
event_index
api/clientxmpp
api/basexmpp
api/xmlstream
api/xmlstream/index
Additional Info
---------------

View file

@ -1071,6 +1071,8 @@ class ElementBase(object):
def __str__(self, top_level_ns=True):
"""Return a string serialization of the underlying XML object.
.. seealso:: :ref:`tostring`
:param bool top_level_ns: Display the top-most namespace.
Defaults to True.
"""

View file

@ -1,9 +1,16 @@
# -*- coding: utf-8 -*-
"""
SleekXMPP: The Sleek XMPP Library
Copyright (C) 2010 Nathanael C. Fritz
This file is part of SleekXMPP.
sleekxmpp.xmlstream.tostring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
See the file LICENSE for copying permission.
This module converts XML objects into Unicode strings and
intelligently includes namespaces only when necessary to
keep the output readable.
Part of SleekXMPP: The Sleek XMPP Library
:copyright: (c) 2011 Nathanael C. Fritz
:license: MIT, see LICENSE for more details
"""
import sys
@ -14,26 +21,28 @@ if sys.version_info < (3, 0):
def tostring(xml=None, xmlns='', stanza_ns='', stream=None,
outbuffer='', top_level=False):
"""
Serialize an XML object to a Unicode string.
"""Serialize an XML object to a Unicode string.
If namespaces are provided using xmlns or stanza_ns, then elements
that use those namespaces will not include the xmlns attribute in
the output.
If namespaces are provided using ``xmlns`` or ``stanza_ns``, then
elements that use those namespaces will not include the xmlns attribute
in the output.
Arguments:
xml -- The XML object to serialize. If the value is None,
:param XML xml: The XML object to serialize. If the value is ``None``,
then the XML object contained in this stanza
object will be used.
xmlns -- Optional namespace of an element wrapping the XML
:param string xmlns: Optional namespace of an element wrapping the XML
object.
stanza_ns -- The namespace of the stanza object that contains
:param string stanza_ns: The namespace of the stanza object that contains
the XML object.
stream -- The XML stream that generated the XML object.
outbuffer -- Optional buffer for storing serializations during
recursive calls.
top_level -- Indicates that the element is the outermost
:param stream: The XML stream that generated the XML object.
:param string outbuffer: Optional buffer for storing serializations
during recursive calls.
:param bool top_level: Indicates that the element is the outermost
element.
:type stream: :class:`~sleekxmpp.xmlstream.xmlstream.XMLStream`
:rtype: Unicode string
"""
# Add previous results to the start of the output.
output = [outbuffer]
@ -102,11 +111,9 @@ def tostring(xml=None, xmlns='', stanza_ns='', stream=None,
def xml_escape(text):
"""
Convert special characters in XML to escape sequences.
"""Convert special characters in XML to escape sequences.
Arguments:
text -- The XML text to convert.
:param string text: The XML text to convert.
"""
if sys.version_info < (3, 0):
if type(text) != types.UnicodeType: