ROASP:
Serverside SVG
Programming

Home

An Open-Source contribution from RO IT Systems

DYNAMIC SVG TUTORIALS


Search Query

Home | Free Code Samples | SVG Module Documentation | SVG Tutorials | SVG Gallery | Forum & Discussion | SVG Perl Modules | SVG-Perl Articles | External Links | Local Copies of Modules (Win32 & CPAN) | YASB: A Perl SVG Browser


Ronan Oger > SVG-2.32 > SVG::DOM
Module Version: 1.01   Source  

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 ^

@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.

AUTHOR ^

Ronan Oger, ronan@roasp.com

SEE ALSO ^

perl(1), SVG,
SVG::XML,
SVG::DOM,
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



Take part in the Annual Global SVG Conference! SVG Open 2005.

August 15-18, Enschede, the Netherlands

At the SVG Open 2005 Conference you will have the opportunity to learn about the SVG standard, how to use it to create effective and compelling Web content, techniques for developing SVG software solutions, and the latest developments from the W3C. You will meet the authors of the SVG specifications and the creators of SVG applications in person, and you will have the opportunity to provide your own input for future development.

You will get a chance to see the newest SVG applications and tools, and you will hear early announcements of upcoming SVG product releases. SVG Open 2005 courses will enlighten you on SVG, XML and related standards, graphic design and Web application design. Courses will be available at both introductory and advanced levels, in order to serve the needs of all conference attendees.

Click on the image below to proceed to the SVG Open website

SVG Open logo



SVG Home© 2002-2005 Ronan Oger Site Info