parent => undef | ELEMENT

children => undef | ARRAY_OF_ELEMENTS

METHODS

$el->children_as_string() => STR

Return a concatenation of children's as_string(), or "" if there are no children.

$el->as_string() => STR

Return the string representation of element. The default implementation will just use _str (if defined) concatenated with children_as_string().

$el->seniority => INT

Find out the ranking of brothers/sisters of all sibling. If we are the first child of parent, return 0. If we are the second child, return 1, and so on.

$el->prev_sibling() => ELEMENT | undef

$el->next_sibling() => ELEMENT | undef

$el->extra_walkables => LIST

Return extra walkable elements. The default is to return an empty list, but some elements can have this, for Org::Element::Headline's title is also a walkable element.

$el->walk(CODEREF)

Call CODEREF for node and all descendent nodes (and extra walkables), depth-first. Code will be given the element object as argument.

$el->find(CRITERIA) => ELEMENTS

Find subelements. CRITERIA can be a word (e.g. 'Headline' meaning of class 'Org::Element::Headline') or a class name ('Org::Element::ListItem') or a coderef (which will be given the element to test). Will return matched elements.

$el->walk_parents(CODE)

Run CODEREF for parent, and its parent, and so on until the root element (the document), or until CODEREF returns a false value. CODEREF will be supplied ($el, $parent). Will return the last parent walked.

$el->headline() => ELEMENT

Get current headline.

$el->field_name() => STR

Try to extract "field name", being defined as either some text on the left side:

DEADLINE: <2011-06-09 >

or a description term in a description list:

- wedding anniversary :: <2011-06-10 >

$el->remove()

Remove element from the tree. Basically just remove the element from its parent.