| Break internal references within the DOM so that it will be garbage collected on |
| versions of Python without cyclic GC. Even when cyclic GC is available, using |
| this can make large amounts of memory available sooner, so calling this on DOM |
| objects as soon as they are no longer needed is good practice. This only needs |
| to be called on the :class:`Document` object, but may be called on child nodes |
| to discard children of that node. |
| |
| |
n | .. method:: Node.writexml(writer[,indent=""[,addindent=""[,newl=""]]]) |
n | .. method:: Node.writexml(writer[, indent=""[, addindent=""[, newl=""[, encoding=""]]]]) |
| |
| Write XML to the writer object. The writer should have a :meth:`write` method |
| which matches that of the file object interface. The *indent* parameter is the |
| indentation of the current node. The *addindent* parameter is the incremental |
| indentation to use for subnodes of the current one. The *newl* parameter |
| specifies the string to use to terminate newlines. |
| |
| .. versionchanged:: 2.1 |
| The optional keyword parameters *indent*, *addindent*, and *newl* were added to |
| support pretty output. |
| |
| .. versionchanged:: 2.3 |
n | For the :class:`Document` node, an additional keyword argument *encoding* can be |
n | For the :class:`Document` node, an additional keyword argument |
| used to specify the encoding field of the XML header. |
| *encoding* can be used to specify the encoding field of the XML header. |
| |
| |
| .. method:: Node.toxml([encoding]) |
| |
| Return the XML that the DOM represents as a string. |
| |
| With no argument, the XML header does not specify an encoding, and the result is |
| Unicode string if the default encoding cannot represent all characters in the |
| document. Encoding this string in an encoding other than UTF-8 is likely |
| incorrect, since UTF-8 is the default encoding of XML. |
| |
n | With an explicit *encoding* argument, the result is a byte string in the |
n | With an explicit *encoding* [1]_ argument, the result is a byte string in the |
| specified encoding. It is recommended that this argument is always specified. To |
| avoid :exc:`UnicodeError` exceptions in case of unrepresentable text data, the |
| encoding argument should be specified as "utf-8". |
| |
| .. versionchanged:: 2.3 |
n | the *encoding* argument was introduced. |
n | the *encoding* argument was introduced; see :meth:`writexml`. |
| |
| |
n | .. method:: Node.toprettyxml([indent[, newl]]) |
n | .. method:: Node.toprettyxml([indent=""[, newl=""[, encoding=""]]]) |
| |
| Return a pretty-printed version of the document. *indent* specifies the |
| indentation string and defaults to a tabulator; *newl* specifies the string |
| emitted at the end of each line and defaults to ``\n``. |
| |
| .. versionadded:: 2.1 |
| |
| .. versionchanged:: 2.3 |
n | the encoding argument; see :meth:`toxml`. |
n | the encoding argument was introduced; see :meth:`writexml`. |
| |
| The following standard DOM methods have special considerations with |
| :mod:`xml.dom.minidom`: |
| |
| |
| .. method:: Node.cloneNode(deep) |
| |
| Although this method was present in the version of :mod:`xml.dom.minidom` |
| |
| * Interfaces are accessed through instance objects. Applications should not |
| instantiate the classes themselves; they should use the creator functions |
| available on the :class:`Document` object. Derived interfaces support all |
| operations (and attributes) from the base interfaces, plus any new operations. |
| |
| * Operations are used as methods. Since the DOM uses only :keyword:`in` |
| parameters, the arguments are passed in normal order (from left to right). |
n | There are no optional arguments. :keyword:`void` operations return ``None``. |
n | There are no optional arguments. ``void`` operations return ``None``. |
| |
| * IDL attributes map to instance attributes. For compatibility with the OMG IDL |
| language mapping for Python, an attribute ``foo`` can also be accessed through |
n | accessor methods :meth:`_get_foo` and :meth:`_set_foo`. :keyword:`readonly` |
n | accessor methods :meth:`_get_foo` and :meth:`_set_foo`. ``readonly`` |
| attributes must not be changed; this is not enforced at runtime. |
| |
| * The types ``short int``, ``unsigned int``, ``unsigned long long``, and |
| ``boolean`` all map to Python integer objects. |
| |
| * The type ``DOMString`` maps to Python strings. :mod:`xml.dom.minidom` supports |
| either byte or Unicode strings, but will normally produce Unicode strings. |
| Values of type ``DOMString`` may also be ``None`` where allowed to have the IDL |
| ``null`` value by the DOM specification from the W3C. |
| |
n | * :keyword:`const` declarations map to variables in their respective scope (e.g. |
n | * ``const`` declarations map to variables in their respective scope (e.g. |
| ``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be changed. |
| |
| * ``DOMException`` is currently not supported in :mod:`xml.dom.minidom`. |
| Instead, :mod:`xml.dom.minidom` uses standard Python exceptions such as |
| :exc:`TypeError` and :exc:`AttributeError`. |
| |
| * :class:`NodeList` objects are implemented using Python's built-in list type. |
| Starting with Python 2.2, these objects provide the interface defined in the DOM |