XXII. DOM XML functions
| Warning |
This module is EXPERIMENTAL. That means, that the behaviour of these functions, these function names, in concreto ANYTHING documented here can change in a future release of PHP WITHOUT NOTICE. Be warned, and use this module 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 |
| 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)
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)
Table 5. DomNode class (attributes)
| Name | Type | Description |
|---|
| node | class DomNode | The object itself |
| type | long | |
| name | string | |
| content | string | |