XXIIDOM XML関数

警告

このモジュールは、実験的なものです。これは、これらの関数の動作、関数名は、このドキュメントに書かれて事項と同様に告知なく将来的なPHPのリリースで変更される可能性があります。注意を喚起するとともに、このモジュールは使用者のリスクで使用して下さい。

このモジュールの関数は、configure時に --with-dom=[DIR]を指定し、 GNOME xmlライブラリを使用して構 築された場合にのみ利用可能です。少なくともlibxml-2.2.7が必要です。 これらの関数は、PHP4で追加されました。

本モジュールによりXMLドキュメントをDOM APIにより操作することが可能 になります。XMLドキュメント全体を PHPオブジェクトツリーに変換する xmltree()関数もサポートされます。現在、このツリー は読み込みのみが可能であり、修正することはできません。しかし、 dumpmem() を適用することができないため、この制 約には意味がありません。このため、XMLファイルを読み込んで修正した バージョンを書き込みたい場合には、add_node()set_attribute()等を使用し、最後に dumpmem() 関数を使用して下さい。

本モジュールは、次の定数を定義します。

表 1XML定数

定数説明
XML_ELEMENT_NODE1このノードはエレメントです
XML_ATTRIBUTE_NODE2このノードは属性です
XML_TEXT_NODE3このノードはテキスト部です
XML_CDATA_SECTION_NODE4 
XML_ENTITY_REF_NODE5 
XML_ENTITY_NODE6このノードは   のようなエンティティです
XML_PI_NODE7このノードは処理命令(PI)です
XML_COMMENT_NODE8このノードはコメントです
XML_DOCUMENT_NODE9このノードはドキュメントです
XML_DOCUMENT_TYPE_NODE10 
XML_DOCUMENT_FRAG_NODE11 
XML_NOTATION_NODE12 
XML_GLOBAL_NAMESPACE1 
XML_LOCAL_NAMESPACE2 

本モジュールの各関数は、2種類の方法で使用可能です。オブジェクト指 向的でない手法としては最初の引数としてオブジェクトを渡す方法があり、 オブジェクト指向的な方法としては関数をオブジェクトのメソッドとして コールする方法があります。本ドキュメントは、オブジェクト指向的でな い関数を説明しますが、接頭辞 "domxml_" を省略することによりオブジェ クト指向的メソッドを使用することが可能です。以下のテーブルに全ての クラス、その属性とメソッドを示します。

本モジュールは、以下のテーブルに示す —プロパティおよびメソッ ドを含む — 多くのクラスを定義します。

表 2DomDocument クラス (メソッド)

メソッド名関数名説明
rootdomxml_root() 
childrendomxml_children() 
add_rootdomxml_add_root() 
dtddomxml_intdtd() 
dumpmemdomxml() 
xpath_initxpath_init 
xpath_new_contextxpath_new_context 
xptr_new_contextxptr_new_context 

表 3DomDocument クラス (属性)

名前説明
docclass DomDocumentオブジェクト自身
namestring 
urlstring 
versionstringXMLのバージョン
encodingstring 
standalonelongこのファイルがstandaloneバージョンの場合に1
typelong表中の定数のどれか ...
compressionlongこのファイルが圧縮されている場合に1
charsetlong 

表 4DomNode class (メソッド)

名前PHP名説明
lastchilddomxml_last_child() 
childrendomxml_children() 
parentdomxml_parent() 
new_childdomxml_new_child() 
get_attributedomxml_get_attribute() 
set_attributedomxml_set_attribute() 
attributesdomxml_attributes() 
nodedomxml_node() 
set_content()domxml_set_content 

表 5DomNode クラス (属性)

名前説明
nodeclass DomNodeオブジェクト自身
typelong 
namestring 
contentstring 

目次
xmldoc -- XMLドキュメントのDOMオブジェクトを作成する
xmldocfile -- XMLファイルからDOMオブジェクトを作成する
xmltree --  XMLドキュメントからPHPオブジェクトのツリーを作成する
domxml_root --  ドキュメントのルートノードを返す
domxml_add_root --  ドキュメントにルートノードを追加する
domxml_dumpmem --  ドキュメントを文字列にダンプする
domxml_attributes --  指定したノードの属性のリストを返す
domxml_get_attribute --  指定したノードの属性の値を返す
domxml_set_attribute --  指定した属性の値を設定する
domxml_children --  子ノードのリストを返す
domxml_new_child --  親ノードに子ノードを追加する
domxml_new_xmldoc --  新規に空のドキュメントを作成する
xpath_new_context --  xpath コンテキストを新規に作成する
xpath_eval --  xpath 式を評価する