Node class describes syntax of separate XML Node. It have a
constructor that permits node creation from set of "namespace
name", attributes and payload of text strings and other nodes. It
does not natively support building node from text string and uses
NodeBuilder class for that purpose. After creation node can be mangled in
many ways so it can be completely changed. Also node can be serialised
into string in one of two modes: default (where the textual
representation of node describes it exactly) and "fancy" - with
whitespace added to make indentation and thus make result more readable
by human.
Node class have attribute FORCE_NODE_RECREATION that is defaults to
False thus enabling fast node replication from the some other node. The
drawback of the fast way is that new node shares some info with the
"original" node that is changing the one node may influence the
other. Though it is rarely needed (in xmpppy it is never needed at all
since I'm usually never using original node after replication (and using
replication only to move upwards on the classes tree).
Method Summary |
|
__init__ (self,
tag,
attrs,
payload,
parent,
node)
Takes "tag" argument as the name of node (prepended by
namespace, if needed and separated from it by a space), attrs dictionary
as the set of arguments, payload list as the set of textual strings and
child nodes that this node carries within itself and "parent"
argument that is another node that this one will be the child of. |
|
__delitem__ (self,
item)
Deletes node's attribute "item". |
|
__getitem__ (self,
item)
Returns node's attribute "item" value. |
|
__setitem__ (self,
item,
val)
Sets node's attribute "item" value. |
|
__str__(self,
parent,
fancy)
|
|
addChild (self,
name,
attrs,
payload,
namespace,
node)
If "node" argument is provided, adds it as child node. |
|
addData (self,
data)
Adds some CDATA to node. |
|
clearData (self)
Removes all CDATA from the node. |
|
delAttr (self,
key)
Deletes an attribute "key" |
|
delChild (self,
node,
attrs)
Deletes the "node" from the node's childs list, if
"node" is an instance. |
|
getAttr (self,
key)
Returns value of specified attribute. |
|
getAttrs (self)
Returns all node's attributes as dictionary. |
|
getChildren (self)
Returns all node's child nodes as list. |
|
getData (self)
Returns all node CDATA as string (concatenated). |
|
getName (self)
Returns the name of node |
|
getNamespace (self)
Returns the namespace of node |
|
getParent (self)
Returns the parent of node (if present). |
|
getPayload (self)
Return the payload of node i.e. |
|
getTag (self,
name,
attrs,
namespace)
Filters all child nodes using specified arguments as filter. |
|
getTagAttr (self,
tag,
attr)
Returns attribute value of the child with specified name (or None if
no such attribute). |
|
getTagData (self,
tag)
Returns cocatenated CDATA of the child with specified name. |
|
getTags (self,
name,
attrs,
namespace,
one)
Filters all child nodes using specified arguments as filter. |
|
has_attr (self,
key)
Checks if node have attribute "key". |
|
setAttr (self,
key,
val)
Sets attribute "key" with the value "val". |
|
setData (self,
data)
Sets node's CDATA to provided string. |
|
setName (self,
val)
Changes the node name. |
|
setNamespace (self,
namespace)
Changes the node namespace. |
|
setParent (self,
node)
Sets node's parent to "node". |
|
setPayload (self,
payload,
add)
Sets node payload according to the list specified. |
|
setTag (self,
name,
attrs,
namespace)
Same as getTag but if the node with specified namespace/attributes not
found, creates such node and returns it. |
|
setTagAttr (self,
tag,
attr,
val)
Creates new node (if not already present) with name "tag"
and sets it's attribute "attr" to value "val". |
|
setTagData (self,
tag,
val,
attrs)
Creates new node (if not already present) with name "tag"
and (optionally) attributes "attrs" and sets it's CDATA to
string "val". |