This documentation is not finished yet. Don't start to translate it or use it as a programming reference (steinm@php.net).
These functions are only available if PHP was configured with --with-dom=[DIR], using the GNOME xml library. You will need at least libxml-2.2.7 These functions have been added in PHP 4.
The extension allows you to operate on an XML document with the DOM API. It also provides a function xmltree() to turn the complete XML document into a tree of PHP objects. Currently this tree should be considered read-only - you can modify it but this would not make any sense since dumpmem() cannot be applied to it. Therefore, if you want to read an XML file and write a modified version use the add_node(), set_attribute(), etc. and finally dumpmem() functions.
This module defines the following constants:
Table 1. XML constants
| Constant | Value | Description |
|---|---|---|
| XML_ELEMENT_NODE | 1 | Node is an element |
| XML_ATTRIBUTE_NODE | 2 | Node is an attribute |
| XML_TEXT_NODE | 3 | Node is a piece of text |
| XML_CDATA_SECTION_NODE | 4 | |
| XML_ENTITY_REF_NODE | 5 | |
| XML_ENTITY_NODE | 6 | Node is an entity like |
| XML_PI_NODE | 7 | Node is a processing instruction |
| XML_COMMENT_NODE | 8 | Node is a comment |
| XML_DOCUMENT_NODE | 9 | Node is a document |
| XML_DOCUMENT_TYPE_NODE | 10 | |
| XML_DOCUMENT_FRAG_NODE | 11 | |
| XML_NOTATION_NODE | 12 | |
| XML_GLOBAL_NAMESPACE | 1 | |
| XML_LOCAL_NAMESPACE | 2 |
Each function in this extension can be used in two ways. In a non-object oriented way by passing the object to apply the function to as a first argument, or in an object oriented way by calling the function as a method of an object. This documentation describes the non-object oriented functions, though you get the object methods by skipping the prefix "domxml_".
This module defines a number of classes, which are listed — including their properties and method — in the following table.
Table 2. DomDocument class (methods)
| Method name | Function name | Description |
|---|---|---|
| root | domxml_root() | |
| children | domxml_children() | |
| add_root | domxml_add_root() | |
| dtd | domxml_intdtd() | |
| dumpmem | domxml() | |
| xpath_init | xpath_init | |
| xpath_new_context | xpath_new_context | |
| xptr_new_context | xptr_new_context |
Table 3. DomDocument class (attributes)
| Name | Type | Description |
|---|---|---|
| doc | class DomDocument | The object itself |
| name | string | |
| url | string | |
| version | string | Version of XML |
| encoding | string | |
| standalone | long | 1 if the file is a standalone version |
| type | long | One of the constants in table ... |
| compression | long | 1 if the file is compressed |
| charset | long |
Table 4. DomNode class (methods)
| Name | PHP name | Description |
|---|---|---|
| lastchild | domxml_last_child() | |
| children | domxml_children() | |
| parent | domxml_parent() | |
| new_child | domxml_new_child() | |
| get_attribute | domxml_get_attribute() | |
| set_attribute | domxml_set_attribute() | |
| attributes | domxml_attributes() | |
| node | domxml_node() | |
| set_content() | domxml_set_content |