Back to index

python3.2  3.2.2
Public Member Functions | Public Attributes | Static Public Attributes | Static Private Attributes
xml.dom.minidom.DocumentFragment Class Reference
Inheritance diagram for xml.dom.minidom.DocumentFragment:
Inheritance graph
[legend]
Collaboration diagram for xml.dom.minidom.DocumentFragment:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def __bool__
def toxml
def toprettyxml
def hasChildNodes
def insertBefore
def appendChild
def replaceChild
def removeChild
def normalize
def cloneNode
def isSupported
def isSameNode
def getInterface
def getUserData
def setUserData
def unlink
def __enter__
def __exit__

Public Attributes

 childNodes

Static Public Attributes

 nodeType = Node.DOCUMENT_FRAGMENT_NODE
string nodeName = "#document-fragment"
 nodeValue = None
 attributes = None
 parentNode = None
 namespaceURI = None
 ownerDocument = None
 nextSibling = None
 previousSibling = None
 prefix = EMPTY_PREFIX
int ELEMENT_NODE = 1
int ATTRIBUTE_NODE = 2
int TEXT_NODE = 3
int CDATA_SECTION_NODE = 4
int ENTITY_REFERENCE_NODE = 5
int ENTITY_NODE = 6
int PROCESSING_INSTRUCTION_NODE = 7
int COMMENT_NODE = 8
int DOCUMENT_NODE = 9
int DOCUMENT_TYPE_NODE = 10
int DOCUMENT_FRAGMENT_NODE = 11
int NOTATION_NODE = 12

Static Private Attributes

tuple _child_node_types

Detailed Description

Definition at line 326 of file minidom.py.


Constructor & Destructor Documentation

Definition at line 340 of file minidom.py.

00340 
00341     def __init__(self):
00342         self.childNodes = NodeList()
00343 

Here is the caller graph for this function:


Member Function Documentation

def xml.dom.minidom.Node.__bool__ (   self) [inherited]

Definition at line 43 of file minidom.py.

00043 
00044     def __bool__(self):
00045         return True

def xml.dom.minidom.Node.__enter__ (   self) [inherited]

Definition at line 273 of file minidom.py.

00273 
00274     def __enter__(self):
00275         return self

def xml.dom.minidom.Node.__exit__ (   self,
  et,
  ev,
  tb 
) [inherited]

Definition at line 276 of file minidom.py.

00276 
00277     def __exit__(self, et, ev, tb):
00278         self.unlink()
00279 
00280 defproperty(Node, "firstChild", doc="First child node, or None.")
00281 defproperty(Node, "lastChild",  doc="Last child node, or None.")
00282 defproperty(Node, "localName",  doc="Namespace-local name of this node.")
00283 

Here is the call graph for this function:

def xml.dom.minidom.Node.appendChild (   self,
  node 
) [inherited]

Reimplemented in xml.dom.minidom.Document, and xml.dom.minidom.Entity.

Definition at line 113 of file minidom.py.

00113 
00114     def appendChild(self, node):
00115         if node.nodeType == self.DOCUMENT_FRAGMENT_NODE:
00116             for c in tuple(node.childNodes):
00117                 self.appendChild(c)
00118             ### The DOM does not clearly specify what to return in this case
00119             return node
00120         if node.nodeType not in self._child_node_types:
00121             raise xml.dom.HierarchyRequestErr(
00122                 "%s cannot be child of %s" % (repr(node), repr(self)))
00123         elif node.nodeType in _nodeTypes_with_children:
00124             _clear_id_cache(self)
00125         if node.parentNode is not None:
00126             node.parentNode.removeChild(node)
00127         _append_child(self, node)
00128         node.nextSibling = None
00129         return node

Here is the call graph for this function:

Here is the caller graph for this function:

def xml.dom.minidom.Node.cloneNode (   self,
  deep 
) [inherited]

Reimplemented in xml.dom.minidom.Document, and xml.dom.minidom.DocumentType.

Definition at line 205 of file minidom.py.

00205 
00206     def cloneNode(self, deep):
00207         return _clone_node(self, deep, self.ownerDocument or self)

Here is the call graph for this function:

def xml.dom.minidom.Node.getInterface (   self,
  feature 
) [inherited]

Definition at line 220 of file minidom.py.

00220 
00221     def getInterface(self, feature):
00222         if self.isSupported(feature, None):
00223             return self
00224         else:
00225             return None

Here is the call graph for this function:

def xml.dom.minidom.Node.getUserData (   self,
  key 
) [inherited]

Definition at line 230 of file minidom.py.

00230 
00231     def getUserData(self, key):
00232         try:
00233             return self._user_data[key][0]
00234         except (AttributeError, KeyError):
00235             return None

def xml.dom.minidom.Node.hasChildNodes (   self) [inherited]

Definition at line 64 of file minidom.py.

00064 
00065     def hasChildNodes(self):
00066         if self.childNodes:
00067             return True
00068         else:
00069             return False

def xml.dom.minidom.Node.insertBefore (   self,
  newChild,
  refChild 
) [inherited]

Reimplemented in xml.dom.minidom.Entity.

Definition at line 81 of file minidom.py.

00081 
00082     def insertBefore(self, newChild, refChild):
00083         if newChild.nodeType == self.DOCUMENT_FRAGMENT_NODE:
00084             for c in tuple(newChild.childNodes):
00085                 self.insertBefore(c, refChild)
00086             ### The DOM does not clearly specify what to return in this case
00087             return newChild
00088         if newChild.nodeType not in self._child_node_types:
00089             raise xml.dom.HierarchyRequestErr(
00090                 "%s cannot be child of %s" % (repr(newChild), repr(self)))
00091         if newChild.parentNode is not None:
00092             newChild.parentNode.removeChild(newChild)
00093         if refChild is None:
00094             self.appendChild(newChild)
00095         else:
00096             try:
00097                 index = self.childNodes.index(refChild)
00098             except ValueError:
00099                 raise xml.dom.NotFoundErr()
00100             if newChild.nodeType in _nodeTypes_with_children:
00101                 _clear_id_cache(self)
00102             self.childNodes.insert(index, newChild)
00103             newChild.nextSibling = refChild
00104             refChild.previousSibling = newChild
00105             if index:
00106                 node = self.childNodes[index-1]
00107                 node.nextSibling = newChild
00108                 newChild.previousSibling = node
00109             else:
00110                 newChild.previousSibling = None
00111             newChild.parentNode = self
00112         return newChild

Here is the call graph for this function:

Here is the caller graph for this function:

def xml.dom.minidom.Node.isSameNode (   self,
  other 
) [inherited]

Definition at line 217 of file minidom.py.

00217 
00218     def isSameNode(self, other):
00219         return self is other

Here is the caller graph for this function:

def xml.dom.minidom.Node.isSupported (   self,
  feature,
  version 
) [inherited]

Reimplemented in xml.dom.minidom.Document.

Definition at line 208 of file minidom.py.

00208 
00209     def isSupported(self, feature, version):
00210         return self.ownerDocument.implementation.hasFeature(feature, version)

Here is the caller graph for this function:

def xml.dom.minidom.Node.normalize (   self) [inherited]

Definition at line 178 of file minidom.py.

00178 
00179     def normalize(self):
00180         L = []
00181         for child in self.childNodes:
00182             if child.nodeType == Node.TEXT_NODE:
00183                 if not child.data:
00184                     # empty text node; discard
00185                     if L:
00186                         L[-1].nextSibling = child.nextSibling
00187                     if child.nextSibling:
00188                         child.nextSibling.previousSibling = child.previousSibling
00189                     child.unlink()
00190                 elif L and L[-1].nodeType == child.nodeType:
00191                     # collapse text node
00192                     node = L[-1]
00193                     node.data = node.data + child.data
00194                     node.nextSibling = child.nextSibling
00195                     if child.nextSibling:
00196                         child.nextSibling.previousSibling = node
00197                     child.unlink()
00198                 else:
00199                     L.append(child)
00200             else:
00201                 L.append(child)
00202                 if child.nodeType == Node.ELEMENT_NODE:
00203                     child.normalize()
00204         self.childNodes[:] = L

def xml.dom.minidom.Node.removeChild (   self,
  oldChild 
) [inherited]

Reimplemented in xml.dom.minidom.Document, and xml.dom.minidom.Entity.

Definition at line 162 of file minidom.py.

00162 
00163     def removeChild(self, oldChild):
00164         try:
00165             self.childNodes.remove(oldChild)
00166         except ValueError:
00167             raise xml.dom.NotFoundErr()
00168         if oldChild.nextSibling is not None:
00169             oldChild.nextSibling.previousSibling = oldChild.previousSibling
00170         if oldChild.previousSibling is not None:
00171             oldChild.previousSibling.nextSibling = oldChild.nextSibling
00172         oldChild.nextSibling = oldChild.previousSibling = None
00173         if oldChild.nodeType in _nodeTypes_with_children:
00174             _clear_id_cache(self)
00175 
00176         oldChild.parentNode = None
00177         return oldChild

Here is the call graph for this function:

Here is the caller graph for this function:

def xml.dom.minidom.Node.replaceChild (   self,
  newChild,
  oldChild 
) [inherited]

Reimplemented in xml.dom.minidom.Entity.

Definition at line 130 of file minidom.py.

00130 
00131     def replaceChild(self, newChild, oldChild):
00132         if newChild.nodeType == self.DOCUMENT_FRAGMENT_NODE:
00133             refChild = oldChild.nextSibling
00134             self.removeChild(oldChild)
00135             return self.insertBefore(newChild, refChild)
00136         if newChild.nodeType not in self._child_node_types:
00137             raise xml.dom.HierarchyRequestErr(
00138                 "%s cannot be child of %s" % (repr(newChild), repr(self)))
00139         if newChild is oldChild:
00140             return
00141         if newChild.parentNode is not None:
00142             newChild.parentNode.removeChild(newChild)
00143         try:
00144             index = self.childNodes.index(oldChild)
00145         except ValueError:
00146             raise xml.dom.NotFoundErr()
00147         self.childNodes[index] = newChild
00148         newChild.parentNode = self
00149         oldChild.parentNode = None
00150         if (newChild.nodeType in _nodeTypes_with_children
00151             or oldChild.nodeType in _nodeTypes_with_children):
00152             _clear_id_cache(self)
00153         newChild.nextSibling = oldChild.nextSibling
00154         newChild.previousSibling = oldChild.previousSibling
00155         oldChild.nextSibling = None
00156         oldChild.previousSibling = None
00157         if newChild.previousSibling:
00158             newChild.previousSibling.nextSibling = newChild
00159         if newChild.nextSibling:
00160             newChild.nextSibling.previousSibling = newChild
00161         return oldChild

Here is the call graph for this function:

def xml.dom.minidom.Node.setUserData (   self,
  key,
  data,
  handler 
) [inherited]

Definition at line 236 of file minidom.py.

00236 
00237     def setUserData(self, key, data, handler):
00238         old = None
00239         try:
00240             d = self._user_data
00241         except AttributeError:
00242             d = {}
00243             self._user_data = d
00244         if key in d:
00245             old = d[key][0]
00246         if data is None:
00247             # ignore handlers passed for None
00248             handler = None
00249             if old is not None:
00250                 del d[key]
00251         else:
00252             d[key] = (data, handler)
00253         return old

def xml.dom.minidom.Node.toprettyxml (   self,
  indent = "\t",
  newl = "\n",
  encoding = None 
) [inherited]

Definition at line 49 of file minidom.py.

00049 
00050     def toprettyxml(self, indent="\t", newl="\n", encoding=None):
00051         # indent = the indentation string to prepend, per level
00052         # newl = the newline string to append
00053         use_encoding = "utf-8" if encoding is None else encoding
00054         writer = codecs.getwriter(use_encoding)(io.BytesIO())
00055         if self.nodeType == Node.DOCUMENT_NODE:
00056             # Can pass encoding only to document, to put it into XML header
00057             self.writexml(writer, "", indent, newl, encoding)
00058         else:
00059             self.writexml(writer, "", indent, newl)
00060         if encoding is None:
00061             return writer.stream.getvalue().decode(use_encoding)
00062         else:
00063             return writer.stream.getvalue()

Here is the call graph for this function:

Here is the caller graph for this function:

def xml.dom.minidom.Node.toxml (   self,
  encoding = None 
) [inherited]

Definition at line 46 of file minidom.py.

00046 
00047     def toxml(self, encoding=None):
00048         return self.toprettyxml("", "", encoding)

Here is the call graph for this function:

def xml.dom.minidom.Node.unlink (   self) [inherited]

Reimplemented in xml.dom.minidom.Document, xml.dom.minidom.Element, and xml.dom.minidom.Attr.

Definition at line 262 of file minidom.py.

00262 
00263     def unlink(self):
00264         self.parentNode = self.ownerDocument = None
00265         if self.childNodes:
00266             for child in self.childNodes:
00267                 child.unlink()
00268             self.childNodes = NodeList()
00269         self.previousSibling = None
00270         self.nextSibling = None

Here is the caller graph for this function:


Member Data Documentation

Initial value:
(Node.ELEMENT_NODE,
                         Node.TEXT_NODE,
                         Node.CDATA_SECTION_NODE,
                         Node.ENTITY_REFERENCE_NODE,
                         Node.PROCESSING_INSTRUCTION_NODE,
                         Node.COMMENT_NODE,
                         Node.NOTATION_NODE)

Definition at line 332 of file minidom.py.

int xml.dom.Node.ATTRIBUTE_NODE = 2 [static, inherited]

Definition at line 29 of file __init__.py.

Definition at line 330 of file minidom.py.

int xml.dom.Node.CDATA_SECTION_NODE = 4 [static, inherited]

Definition at line 31 of file __init__.py.

Reimplemented from xml.dom.minidom.Node.

Definition at line 341 of file minidom.py.

int xml.dom.Node.COMMENT_NODE = 8 [static, inherited]

Definition at line 35 of file __init__.py.

int xml.dom.Node.DOCUMENT_FRAGMENT_NODE = 11 [static, inherited]

Definition at line 38 of file __init__.py.

int xml.dom.Node.DOCUMENT_NODE = 9 [static, inherited]

Definition at line 36 of file __init__.py.

int xml.dom.Node.DOCUMENT_TYPE_NODE = 10 [static, inherited]

Definition at line 37 of file __init__.py.

int xml.dom.Node.ELEMENT_NODE = 1 [static, inherited]

Definition at line 28 of file __init__.py.

int xml.dom.Node.ENTITY_NODE = 6 [static, inherited]

Definition at line 33 of file __init__.py.

int xml.dom.Node.ENTITY_REFERENCE_NODE = 5 [static, inherited]

Definition at line 32 of file __init__.py.

xml.dom.minidom.Node.namespaceURI = None [static, inherited]

Reimplemented in xml.dom.minidom.Element.

Definition at line 35 of file minidom.py.

xml.dom.minidom.Node.nextSibling = None [static, inherited]

Definition at line 38 of file minidom.py.

string xml.dom.minidom.DocumentFragment.nodeName = "#document-fragment" [static]

Definition at line 328 of file minidom.py.

Reimplemented from xml.dom.minidom.Node.

Definition at line 327 of file minidom.py.

Definition at line 329 of file minidom.py.

int xml.dom.Node.NOTATION_NODE = 12 [static, inherited]

Definition at line 39 of file __init__.py.

xml.dom.minidom.Node.ownerDocument = None [static, inherited]

Definition at line 37 of file minidom.py.

Reimplemented from xml.dom.minidom.Node.

Definition at line 331 of file minidom.py.

Reimplemented in xml.dom.minidom.Element.

Definition at line 41 of file minidom.py.

xml.dom.minidom.Node.previousSibling = None [static, inherited]

Reimplemented in xml.dom.minidom.Document.

Definition at line 39 of file minidom.py.

Definition at line 34 of file __init__.py.

int xml.dom.Node.TEXT_NODE = 3 [static, inherited]

Definition at line 30 of file __init__.py.


The documentation for this class was generated from the following file: