XXV. DOM XML functions
| Warning |
|
This extension is EXPERIMENTAL. The behaviour of this extension, including the
names of its functions, and anything else documented about this extension may change in a future
release of PHP without notice. Be warned and use this extension at your own risk.
|
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 ∓nbsp; |
| 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)
|