Package docutils :: Module nodes :: Class Node
[frames | no frames]

Class Node

Known Subclasses:
Element

Abstract base class of nodes in a document tree.


Method Summary
  __nonzero__(self)
Node instances are always true, even if they're empty.
  asdom(self, dom)
Return a DOM fragment representation of this Node.
  copy(self)
Return a copy of self.
  deepcopy(self)
Return a deep copy of self (also copying children).
  next_node(self, condition, include_self, descend, siblings, ascend)
Return the first node in the iterable returned by traverse(), or None if the iterable is empty.
  pformat(self, indent, level)
Return an indented pseudo-XML representation, for test purposes.
  setup_child(self, child)
  traverse(self, condition, include_self, descend, siblings, ascend)
Return an iterable containing
  walk(self, visitor)
Traverse a tree of Node objects, calling the dispatch_visit() method of visitor when entering each node.
  walkabout(self, visitor)
Perform a tree traversal similarly to Node.walk() (which see), except also call the dispatch_departure() method before exiting each node.

Class Variable Summary
NoneType document = None                                                                  
NoneType line = None                                                                  
NoneType parent = None                                                                  
NoneType source = None                                                                  

Method Details

__nonzero__(self)
(Boolean test operator)

Node instances are always true, even if they're empty. A node is more than a simple container. Its boolean "truth" does not depend on having one or more subnodes in the doctree.

Use len() to check node length. Use None to represent a boolean false value.

asdom(self, dom=None)

Return a DOM fragment representation of this Node.

copy(self)

Return a copy of self.

deepcopy(self)

Return a deep copy of self (also copying children).

next_node(self, condition=None, include_self=0, descend=1, siblings=0, ascend=0)

Return the first node in the iterable returned by traverse(), or None if the iterable is empty.

Parameter list is the same as of traverse. Note that include_self defaults to 0, though.

pformat(self, indent='    ', level=0)

Return an indented pseudo-XML representation, for test purposes.

Override in subclasses.

traverse(self, condition=None, include_self=1, descend=1, siblings=0, ascend=0)

Return an iterable containing

  • self (if include_self is true)
  • all descendants in tree traversal order (if descend is true)
  • all siblings (if siblings is true) and their descendants (if also descend is true)
  • the siblings of the parent (if ascend is true) and their descendants (if also descend is true), and so on

If condition is not None, the iterable contains only nodes for which condition(node) is true. If condition is a node class cls, it is equivalent to a function consisting of return isinstance(node, cls).

If ascend is true, assume siblings to be true as well.

For example, given the following tree:

<paragraph>
    <emphasis>      <--- emphasis.traverse() and
        <strong>    <--- strong.traverse() are called.
            Foo
        Bar
    <reference name="Baz" refid="baz">
        Baz

Then list(emphasis.traverse()) equals

[<emphasis>, <strong>, <#text: Foo>, <#text: Bar>]

and list(strong.traverse(ascend=1)) equals

[<strong>, <#text: Foo>, <#text: Bar>, <reference>, <#text: Baz>]

walk(self, visitor)

Traverse a tree of Node objects, calling the dispatch_visit() method of visitor when entering each node. (The walkabout() method is similar, except it also calls the dispatch_departure() method before exiting each node.)

This tree traversal supports limited in-place tree modifications. Replacing one node with one or more nodes is OK, as is removing an element. However, if the node removed or replaced occurs after the current node, the old node will still be traversed, and any new nodes will not.

Within visit methods (and depart methods for walkabout()), TreePruningException subclasses may be raised (SkipChildren, SkipSiblings, SkipNode, SkipDeparture).

Parameter visitor: A NodeVisitor object, containing a visit implementation for each Node subclass encountered.

walkabout(self, visitor)

Perform a tree traversal similarly to Node.walk() (which see), except also call the dispatch_departure() method before exiting each node.

Parameter visitor: A NodeVisitor object, containing a visit and depart implementation for each Node subclass encountered.


Class Variable Details

document

Type:
NoneType
Value:
None                                                                  

line

Type:
NoneType
Value:
None                                                                  

parent

Type:
NoneType
Value:
None                                                                  

source

Type:
NoneType
Value:
None                                                                  

Generated by Epydoc 2.1 on Wed Jul 12 11:20:41 2006 http://epydoc.sf.net