SVG::DOM(3)

NAME
SVG::DOM - A library of DOM (Document Object Model) methods for SVG objects.

SUMMARY
SVG::DOM provides a selection of methods for accessing and manipulating SVG elements through DOM-like methods such as getElements, getChildren, getNextSibling and so on.

Currently only methods that provide read operations are supported. Methods to manipulate SVG elements will be added in a future release.

SYNOPSIS
    my $svg=new SVG(id=>"svg_dom_synopsis", width=>"100", height=>"100");
    my %attributes=$svg->getAttributes;

    my $group=$svg->group(id=>"group_1");
    my $name=$group->getElementName;
    my $id=$group->getElementID;

    $group->circle(id=>"circle_1", cx=>20, cy=>20, r=>5, fill=>"red");
    my $rect=$group->rect(id=>"rect_1", x=>10, y=>10, width=>20, height=>30);
    my $width=$rect->getAttribute("width");

    my $has_children=$group->hasChildren();
    my @children=$group->getChildren();

    my $kid=$group->getFirstChild();
    do {
        print $kid->xmlify();
    } while ($kid=$kid->getNextSibling);

    my @ancestors=$rect->getParents();
    my $is_ancestor=$group->isAncestor($rect);
    my $is_descendant=$rect->isDescendant($svg);

    my @rectangles=$svg->getElements("rect");
    my $allelements_arrayref=$svg->getElements();

    ...and so on...

METHODS
Return a list of all elements with the specified name (i.e. type) in the document. If no element name is provided, returns a list of all elements in the document. In scalar context returns an array reference. Return a list of all children defined on the current node, or undef if there are no children. In scalar context returns an array reference.

Alias: getChildElements(), getChildNodes() Return 1 if the current node has children, or 0 if there are no children.

Alias: hasChildElements, hasChildNodes() Return the first child element of the current node, or undef if there are no children. Return the last child element of the current node, or undef if there are no children. Return a list of all children defined on the parent node, containing the current node. Return the next child element of the parent node, or undef if this is the last child. Return the previous child element of the parent node, or undef if this is the first child. Return the place of this element in the parent node's list of children, starting from 0. Returns the child element at the specified index in the parent node's list of children. Return the parent of the current node.

Alias: getParent() Return a list of the parents of the current node, starting from the immediate parent. The last member of the list should be the document element.

Alias: getParents() Return a string containing the name (i.e. the type, not the ID) of an element.

Alias: getType(), getTagName(), getNodeName() Alias: getElementbyID()

Return a reference to the element which has ID $id, or undef if no element with this ID exists. Return a string containing the ID of the current node, or undef if it has no ID. Return a hash reference of attribute names and values for the current node. Return the string value attribute value for an attribute of name $name. Set a set of attributes. If $value is undef, deletes the attribute. Set attribute $name to $value. If $value is undef, deletes the attribute. Return the cannonical data (i.e. textual content) of the current node.

Alias: getCdata(), getData() Returns 1 if the current node is an ancestor of the specified element, otherwise 0. Returns 1 if the current node is a descendant of the specified element, otherwise 0.

AUTHOR
Ronan Oger, ronan@roasp.com

SEE ALSO
perl(1), SVG, SVG::XML, SVG::Element, SVG::Parser, SVG::Manual

<http://www.roasp.com/> ROASP.com: Serverside SVG server <http://www.vectoreal.com/> Vectoreal: Commercal SVG Application solutions <http://www.roitsystems.com/> ROIT Systems: Commercial SVG perl solutions <http://www.w3c.org/Graphics/SVG/> SVG at the W3C