- 名前
- 概説
- 概要
- メソッド
- @elements = $obj->getElements($element_name)
- @children = $obj->getChildren()
- @children = $obj->hasChildren()
- $ref = $obj->getFirstChild()
- $ref = $obj->getLastChild()
- $ref = $obj->getSiblings()
- $ref = $obj->getNextSibling()
- $ref = $obj->getPreviousSibling()
- $index = $obj->getChildIndex()
- $element = $obj->getChildAtIndex($index)
- $ref = $obj->getParentElement()
- @refs = $obj->getParentElements()
- $name = $obj->getElementName()
- $ref = $svg->getElementByID($id)
- $id = $obj->getElementID()
- $ref = $obj->getAttributes()
- $value = $obj->getAttribute($name);
- $cdata = $obj->getCDATA()
- $boolean = $obj->isAncestor($element)
- $boolean = $obj->isDescendant($element)
- 作者
- 参考資料
名前¶
SVG::DOM - SVGオブジェクトのためのDOM (Document Object Model)メソッドのためのライブラリ
概説¶
SVG::DOM はgetElements,getChildren, getNextSiblingのようなDOMライクなメソッドを 通してSVG要素にアクセスし、操作するための選んだメソッドを提供します。
現在のところ、読み込み操作のためのメソッドだけが提供されています。 SVG要素を操作するためのメソッドは、将来のリリースで追加されるでしょう。
概要¶
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();
..等々...
メソッド¶
@elements = $obj->getElements($element_name)¶
ドキュメントの中で指定された名前(つまりタイプ)を持つ全ての要素のリストを返します。 もし要素名が指定されないと、ドキュメントの中の全ての要素のリストを返します。 スカラ・コンテキストでは、配列リファレンスを返します。
@children = $obj->getChildren()¶
現在のノードで定義されている全ての子供のリストを返します。子供がなければundefを返します。 スカラ・コンテキストでは配列リファレンスを返します。
エイリアス: getChildElements(), getChildNodes()
@children = $obj->hasChildren()¶
現在のノードが子供要素を持っていれば1、子供がなければ0を返します。
エイリアス: hasChildElements, hasChildNodes()
$ref = $obj->getFirstChild()¶
現在のノードの先頭の子供要素を返します。子供がなければundefを返します。
$ref = $obj->getLastChild()¶
現在のノードの最後の子供要素を返します。子供がなければundefを返します。
$ref = $obj->getSiblings()¶
現在のノードを含めて、親ノードで定義されている全ての子供のリストを返します。
$ref = $obj->getNextSibling()¶
親ノードの次の子供要素を返します。これが最後の子供であればundefを返します。
$ref = $obj->getPreviousSibling()¶
親ノードの1つ前の子供要素を返します。これが先頭の子供であればundefを返します。
$index = $obj->getChildIndex()¶
親ノードの子供リストでの、この要素の場所を0始まりで返します。
$element = $obj->getChildAtIndex($index)¶
親ノードの子供リストでの、指定されたインデックスの子供要素を返します。
$ref = $obj->getParentElement()¶
現在のノードの親を返します。
エイリアス: getParent()
@refs = $obj->getParentElements()¶
直接の親から始まる、現在のノードの親のリストを返します。そのリストの最後のメンバーは ドキュメント要素になるはずです。
エイリアス: getParents()
$name = $obj->getElementName()¶
要素の名前(つまりIDではなくタイプ)が入った文字列を返します。
エイリアス: getType(), getTagName(), getNodeName()
$ref = $svg->getElementByID($id)¶
エイリアス: getElementbyID()
$idというIDを持った要素へのリファレンスを返します。このIDを持つ要素がなければundefを返します。
$id = $obj->getElementID()¶
現在のノードのIDが入った文字列を返します。IDがなければundefを返します。
$ref = $obj->getAttributes()¶
現在のノードの属性名と値のハッシュ・リファレンスを返します。
$value = $obj->getAttribute($name);¶
$nameという属性名の属性の値が入った文字列を返します。
$cdata = $obj->getCDATA()¶
現在のノードの簡単な(つまり文字通りの内容)を返します。
エイリアス: getCdata(), getData()
$boolean = $obj->isAncestor($element)¶
現在のノードが指定された要素の先祖であれば1、そうでなければ0を返します。 Returns 1 if the current node is an ancestor of the specified element, otherwise 0.
$boolean = $obj->isDescendant($element)¶
現在のノードが指定された要素の子孫であれば1、そうでなければ0を返します。
作者¶
Ronan Oger, ronan@roasp.com
参考資料¶
perl(1), SVG, SVG::XML, SVG::Element, SVG::Parser, SVG::Manual
<http://www.roasp.com/>
<http://www.perlsvg.com/>
<http://www.roitsystems.com/>
<http://www.w3c.org/Graphics/SVG/>