Signals the end of an element. This method should return the Nodes
to be added to the tree. They need not contain the Element
that was passed to this method, though most often they will. By default the Nodes
returned contain only the built element. However, subclasses may return a list containing any number of nodes, all of which will be added to the tree at the current position in the order given by the list (subject to the usual well-formedness constraints, of course. For instance, the list should not contain a DocType
object unless the element is the root element, and the document does not already have a DocType
). All of the nodes returned must be parentless. If this method returns an empty list, then the element (including all its contents) is not included in the finished document.
To process an element at a time, override this method in a subclass so that it functions as a callback. When you're done processing the Element
, return an empty list so that it will be removed from the tree and garbage collected. Be careful not to return an empty list for the root element though. That is, when the element passed to this method is the root element, the list returned must contain exactly one Element
object. The simplest way to check this is testing if element.getParent() instanceof Document
.
Do not detach element
or any of its ancestors while inside this method. Doing so can royally muck up the build.
Element
@return the nodes to be added to the tree
|
|