Provided by: libsvg-perl_2.64-1_all bug

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.

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();

           $group->insertBefore($newChild,$rect);
           $group->insertAfter($newChild,$rect);
           $rect = $group->replaceChild($newChild,$rect);
           $group->removeChild($newChild);
           my $newRect = $rect->cloneNode($deep);

           ...and so on...

METHODS

   @elements = $obj->getElements($element_name)
       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.

   @children = $obj->getChildren()
       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()

   @children = $obj->hasChildren()
       Return 1 if the current node has children, or 0 if there are no children.

       Alias: hasChildElements, hasChildNodes()

   $ref = $obj->getFirstChild()
       Return the first child element of the current node, or undef if there are no children.

   $ref = $obj->getLastChild()
       Return the last child element of the current node, or undef if there are no children.

   $ref = $obj->getSiblings()
       Return a list of all children defined on the parent node, containing the current node.

   $ref = $obj->getNextSibling()
       Return the next child element of the parent node, or undef if this is the last child.

   $ref = $obj->getPreviousSibling()
       Return the previous child element of the parent node, or undef if this is the first child.

   $index = $obj->getChildIndex()
       Return the place of this element in the parent node's list of children, starting from 0.

   $element = $obj->getChildAtIndex($index)
       Returns the child element at the specified index in the parent node's list of children.

   $ref = $obj->getParentElement()
       Return the parent of the current node.

       Alias: getParent()

   @refs = $obj->getParentElements()
       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()

   $name = $obj->getElementName()
       Return a string containing the name (i.e. the type, not the ID) of an element.

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

   $ref = $svg->getElementByID($id)
       Alias: getElementbyID()

       Return a reference to the element which has ID $id, or undef if no element with this ID
       exists.

   $id = $obj->getElementID()
       Return a string containing the ID of the current node, or undef if it has no ID.

   $ref = $obj->getAttributes()
       Return a hash reference of attribute names and values for the current node.

   $value = $obj->getAttribute($name);
       Return the string value attribute value for an attribute of name $name.

   $ref = $obj->setAttributes({name1=>$value1,name2=>undef,name3=>$value3})
       Set a set of attributes. If $value is undef, deletes the attribute.

   $value = $obj->setAttribute($name,$value);
       Set attribute $name to $value. If $value is undef, deletes the attribute.

   $cdata = $obj->getCDATA()
       Return the cannonical data (i.e. textual content) of the current node.

       Alias: getCdata(), getData()

   $boolean = $obj->isAncestor($element)
       Returns 1 if the current node is an ancestor of the specified element, otherwise 0.

   $boolean = $obj->isDescendant($element)
       Returns 1 if the current node is a descendant of the specified element, otherwise 0.

   $boolean = $obj->insertBefore( $element, $child );
       Returns 1 if $element was successfully inserted before $child in $obj

   $boolean = $obj->insertAfter( $element, $child );
       Returns 1 if $element was successfully inserted after $child in $obj

   $boolean = $obj->insertSiblingBefore( $element );
       Returns 1 if $element was successfully inserted before $obj

   $boolean = $obj->insertSiblingAfter( $element );
       Returns 1 if $element was successfully inserted after $obj

   $element = $obj->replaceChild( $element, $child );
       Returns $child if $element successfully replaced $child in $obj

   $element = $obj->removeChild( $child );
       Returns $child if it was removed successfully from $obj

   $element = $obj->cloneNode( $deep );
       Returns a new $element clone of $obj, without parents or children. If deep is set to 1,
       all children are included recursively.

AUTHOR

       Ronan Oger, ronan@roitsystems.com Martin Owens, doctormo@postmaster.co.uk

SEE ALSO

       perl(1), SVG, SVG::XML, SVG::Element, SVG::Parser

       <http://www.roitsystems.com/> ROIT Systems: Commercial SVG perl solutions
       <http://www.w3c.org/Graphics/SVG/> SVG at the W3C