Data::Grove::VisitorSection: User Contributed Perl Documentation (3)Updated: 2000-02-22 |
Data::Grove::VisitorSection: User Contributed Perl Documentation (3)Updated: 2000-02-22 |
use Data::Grove::Visitor;
@results = $object->accept ($visitor, ...); @results = $object->accept_name ($visitor, ...); @results = $object->children_accept ($visitor, ...); @results = $object->children_accept_name ($visitor, ...);
There are several forms of `"accept"'. Simply calling `"accept"' calls your package back using the object type of the object you are visiting. Calling `"accept_name"' on an element object calls you back with `"visit_name_NAME"' where NAME is the tag name of the element, on all other objects it's as if you called `"accept"'.
All of the forms of `"accept"' return a concatenated list of the result of all `"visit"' methods.
`"children_accept"' calls `"accept"' on each of the children of the element. This is generally used in element callbacks to recurse down into the element's children, you don't need to get the element's contents and call `"accept"' on each item. `"children_accept_name"' does the same but calling `"accept_name"' on each of the children. `"attr_accept"' calls `"accept"' on each of the objects in the named attribute.
Refer to the documentation of the classes you are visiting (XML::Grove, etc.) for the type names (`"element"', `"document"', etc.) of the objects it implements.
Extensible Markup Language (XML) <http://www.w3c.org/XML>