そのまんま!
DOMDocument->registerNodeClass()
(no version information, might be only in CVS)
DOMDocument->registerNodeClass() -- 基底ノード型を作成する際に使用する拡張クラスを登録する
説明
class
DOMDocument {
bool
registerNodeClass ( string baseclass, string extendedclass )
}
このメソッドにより、独自に拡張した DOM クラスを登録することができます。
これを、後で PHP DOM 拡張モジュールで使用します。
このメソッドは、DOM の標準にはないものです。
パラメータ
baseclass
拡張したい DOM クラス。クラス名の一覧は、この章の導入部にあります。
もちろん、DOMDocument を拡張したクラスを登録することはできません。
しかし、拡張したクラスのインスタンスを作成することで、常にドキュメントを開始できます。
extendedclass
拡張したクラスの名前。NULL を渡した場合は、
それまでに baseclass
を拡張して作成したすべてのクラスが削除されます。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例 1. 新しいメソッドを DOMElement に追加し、コードを書きやすくする
<?php
class myElement extends DOMElement { function appendElement($name) { return $this->appendChild(new myElement($name)); } }
class myDocument extends DOMDocument { function setRoot($name) { return $this->appendChild(new myElement($name)); } }
$doc = new myDocument(); $doc->registerNodeClass('DOMElement', 'myElement');
// これ以降、他の要素への要素の追加が一回のメソッドコールでできるようになります! $root = $doc->setRoot('root'); $child = $root->appendElement('child'); $child->setAttribute('foo', 'bar');
echo $doc->saveXML();
?>
|
上の例の出力は以下となります。 <?xml version="1.0"?>
<root><child foo="bar"/></root> |
|