Constantes predefinidas
DomAttribute->name
DOM XML (PHP 4)
PHP Manual

# DOM XML (PHP 4) Functions

## Deprecated functions

There are quite a few functions that do not fit into the DOM standard and should no longer be used. These functions are listed in the following table. The function DomNode_append_child() has changed its behaviour. It now adds a child and not a sibling. If this breaks your application, use the non-DOM function DomNode_append_sibling().

Deprecated functions and their replacements
Old function | New function
--- | ---
xmldoc | domxml_open_mem()
xmldocfile | domxml_open_file()
domxml_new_xmldoc | domxml_new_doc()
domxml_dump_mem | DomDocument_dump_mem()
domxml_dump_mem_file | DomDocument_dump_file()
DomDocument_dump_mem_file | DomDocument_dump_file()
DomDocument_add_root | DomDocument_create_element() followed by DomNode_append_child()
DomDocument_dtd | DomDocument_doctype()
DomDocument_root | DomDocument_document_element()
DomDocument_children | DomNode_child_nodes()
DomDocument_imported_node | No replacement.
DomNode_add_child | Create a new node with e.g. DomDocument_create_element() and add it with DomNode_append_child().
DomNode_children | DomNode_child_nodes()
DomNode_parent | DomNode_parent_node()
DomNode_new_child | Create a new node with e.g. DomDocument_create_element() and add it with DomNode_append_child().
DomNode_set_content | Create a new node with e.g. DomDocument_create_text_node() and add it with DomNode_append_child().
DomNode_get_content | Content is just a text node and can be accessed with DomNode_child_nodes().
DomNode_set_content | Content is just a text node and can be added with DomNode_append_child().

## Classes

The API of the module follows the DOM Level 2 standard as closely as possible. Consequently, the API is fully object-oriented. It is a good idea to have the DOM standard available when using this module. Though the API is object-oriented, there are many functions which can be called in a non-object-oriented way by passing the object to operate on as the first argument. These functions are mainly to retain compatibility to older versions of the extension, and should not be used when creating new scripts.

This API differs from the official DOM API in two ways. First, all class attributes are implemented as functions with the same name. Secondly, the function names follow the PHP naming convention. This means that a DOM function lastChild() will be written as last_child().

This module defines a number of classes, which are listed - including their method - in the following tables. Classes with an equivalent in the DOM standard are named DOMxxx.

List of classes
Class name | Parent classes
--- | ---
DomAttribute | DomNode
DomCData | DomNode
DomComment | DomCData : DomNode
DomDocument | DomNode
DomDocumentType | DomNode
DomElement | DomNode
DomEntity | DomNode
DomEntityReference | DomNode
DomProcessingInstruction | DomNode
DomText | DomCData : DomNode
Parser | Currently still called DomParser
XPathContext |

DomDocument class (DomDocument : DomNode)
Method name | Function name | Remark
--- | --- | ---
doctype | DomDocument_doctype() |
document_element | DomDocument_document_element() |
create_element | DomDocument_create_element() |
create_text_node | DomDocument_create_text_node() |
create_comment | DomDocument_create_comment() |
create_cdata_section | DomDocument_create_cdata_section() |
create_processing_instruction | DomDocument_create_processing_instruction() |
create_attribute | DomDocument_create_attribute() |
create_entity_reference | DomDocument_create_entity_reference() |
get_elements_by_tagname | DomDocument_get_elements_by_tagname() |
get_element_by_id | DomDocument_get_element_by_id() |
dump_mem | DomDocument_dump_mem() | not DOM standard
dump_file | DomDocument_dump_file() | not DOM standard
html_dump_mem | DomDocument_html_dump_mem() | not DOM standard
xpath_init | xpath_init | not DOM standard
xpath_new_context | xpath_new_context | not DOM standard
xptr_new_context | xptr_new_context | not DOM standard

DomElement class (DomElement : DomNode)
Method name | Function name | Remark
--- | --- | ---
tagname | DomElement_tagname() |
get_attribute | DomElement_get_attribute() |
set_attribute | DomElement_set_attribute() |
remove_attribute | DomElement_remove_attribute() |
get_attribute_node | DomElement_get_attribute_node() |
set_attribute_node | DomElement_set_attribute_node() |
get_elements_by_tagname | DomElement_get_elements_by_tagname() |
has_attribute | DomElement_has_attribute() |

DomNode class
Method name | Remark
--- | ---
DomNode_node_name() |
DomNode_node_value() |
DomNode_node_type() |
DomNode_last_child() |
DomNode_first_child() |
DomNode_child_nodes() |
DomNode_previous_sibling() |
DomNode_next_sibling() |
DomNode_parent_node() |
DomNode_owner_document() |
DomNode_insert_before() |
DomNode_append_child() |
DomNode_append_sibling() | Not in DOM standard. This function emulates the former behaviour of DomNode_append_child().
DomNode_remove_child() |
DomNode_has_child_nodes() |
DomNode_has_attributes() |
DomNode_clone_node() |
DomNode_attributes() |
DomNode_unlink_node() | Not in DOM standard
DomNode_replace_node() | Not in DOM standard
DomNode_set_content() | Not in DOM standard, deprecated
DomNode_get_content() | Not in DOM standard, deprecated
DomNode_dump_node() | Not in DOM standard
DomNode_is_blank_node() | Not in DOM standard

DomAttribute class (DomAttribute : DomNode)
Method name |  | Remark
--- | --- | ---
name | DomAttribute_name() |
value | DomAttribute_value() |
specified | DomAttribute_specified() |

DomProcessingInstruction class (DomProcessingInstruction : DomNode)
Method name | Function name | Remark
--- | --- | ---
target | DomProcessingInstruction_target() |
data | DomProcessingInstruction_data() |

Parser class
Method name | Function name | Remark
--- | --- | ---
add_chunk | Parser_add_chunk() |
end | Parser_end() |

XPathContext class
Method name | Function name | Remark
--- | --- | ---
eval | XPathContext_eval() |
eval_expression | XPathContext_eval_expression() |
register_ns | XPathContext_register_ns() |

DomDocumentType class (DomDocumentType : DomNode)
Method name | Function name | Remark
--- | --- | ---
name | DomDocumentType_name() |
entities | DomDocumentType_entities() |
notations | DomDocumentType_notations() |
public_id | DomDocumentType_public_id() |
system_id | DomDocumentType_system_id() |
internal_subset | DomDocumentType_internal_subset() |

The classes DomDtd is derived from DomNode. DomComment is derived from DomCData.

## Ejemplos

Many examples in this reference require an XML string. Instead of repeating this string in every example, it will be put into a file which will be included by each example. This include file is shown in the following example section. Alternatively, you could create an XML document and read it with DomDocument_open_file().

Example #1 Include file example.inc with XML string

`<?php
$xmlstr = "<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj -->
<chapter language='en'><title language='en'>Title</title>
<para language='ge'>
&sp;
<!-- comment -->
<informaltable ID='findme' language='&sp;'>
<tgroup cols='3'>
<tbody>
<row><entry>a1</entry><entry
morerows='1'>b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
<row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
</tbody>
</tgroup>
</informaltable>
</para>
</chapter>";
?>`

## Table of Contents

- DomAttribute->name — Devuelve el nombre de un atributo
- DomAttribute->set_value — Establece el valor de un atributo
- DomAttribute->specified — Revisa si el atributo está especificado
- DomAttribute->value — Devuelve el valor del atributo
- DomDocument->add_root — Agrega un nodo raíz [obsoleto]
- DomDocument->create_attribute — Crear un nuevo atributo
- DomDocument->create_cdata_section — Crear un nuevo nodo cdata
- DomDocument->create_comment — Crea un nuevo nodo de comentario
- DomDocument->create_element_ns — Crea un nuevo nodo tipo elemento con un espacio de nombres asociado
- DomDocument->create_element — Crear un nuevo nodo de tipo elemento
- DomDocument->create_entity_reference — Crear una referencia de entidad
- DomDocument->create_processing_instruction — Crea un nuevo nodo PI
- DomDocument->create_text_node — Crear un nuevo nodo de texto
- DomDocument->doctype — Devuelve el tipo de documento
- DomDocument->document_element — Devuelve el nodo del elemento raíz
- DomDocument->dump_file — Vuelca el árbol XML interno de vuelta a un archivo
- DomDocument->dump_mem — Vuelca el árbol XML interno de vuelta a una cadena
- DomDocument->get_element_by_id — Busca un elemento con cierto id
- DomDocument->get_elements_by_tagname — Devuelve una matriz de nodos con el nombre de etiqueta dado en el documento o una matriz vacía si no se encuentran
- DomDocument->html_dump_mem — Vuelca el árbol XML interno de vuelta a una cadena como HTML
- DomDocument->xinclude — Reemplaza sentencias XInclude en un Objeto DomDocument
- DomDocumentType->entities() — Devuelve una lista de entidades
- DomDocumentType->internal_subset() — Devuelve el sub-conjunto interno
- DomDocumentType->name() — Devuelve el nombre del tipo de documento
- DomDocumentType->notations() — Devuelve una lista de notaciones
- DomDocumentType->public_id() — Devuelve el id público del tipo de documento
- DomDocumentType->system_id() — Devuelve el id de sistema del tipo de documento
- DomElement->get_attribute_node() — Devuelve el nodo del atributo dado
- DomElement->get_attribute() — Devuelve el valor del atributo dado
- DomElement->get_elements_by_tagname() — Obtiene elementos por el nombre de etiqueta
- DomElement->has_attribute() — Verifica si un atributo existe en el nodo actual
- DomElement->remove_attribute() — Elimina un atributo
- DomElement->set_attribute_node() — Agrega un nuevo atributo
- DomElement->set_attribute() — Define el valor de un atributo
- DomElement->tagname() — Devuelve el nombre del elemento actual
- DomNode->add_namespace — Agrega una declaración de espacio de nombres a un nodo
- DomNode->append_child — Agrega un nuevo hijo al final del grupo de hijos
- DomNode->append_sibling — Agrega un nuevo hermano a un nodo
- DomNode->attributes — Devuelve la lista de atributos
- DomNode->child_nodes — Devuelve los hijos del nodo
- DomNode->clone_node — Clona un nodo
- DomNode->dump_node — Vuelca un nodo único
- DomNode->first_child — Devuelve el primer hijo del nodo
- DomNode->get_content — Obtiene el contenido del nodo
- DomNode->has_attributes — Verifica si un nodo tiene atributos
- DomNode->has_child_nodes — Verifica si el nodo tiene hijos
- DomNode->insert_before — Inserta un nodo nuevo como hijo
- DomNode->is_blank_node — Verifica si el nodo está en blanco
- DomNode->last_child — Devuelve el último hijo del nodo
- DomNode->next_sibling — Devuelve el siguiente hermano del nodo
- DomNode->node_name — Devuelve el nombre del nodo
- DomNode->node_type — Devuelve el tipo de nodo
- DomNode->node_value — Devuelve el valor de un nodo
- DomNode->owner_document — Devuelve el documento al que este nodo pertenece
- DomNode->parent_node — Devuelve el padre del nodo
- DomNode->prefix — Devuelve el prefijo de espacio de nombres del nodo
- DomNode->previous_sibling — Devuelve el hermano anterior del nodo
- DomNode->remove_child — Elimina un hijo de una lista de hijos
- DomNode->replace_child — Reemplaza un hijo
- DomNode->replace_node — Reemplaza el nodo
- DomNode->set_content — Define el contenido del nodo
- DomNode->set_name — Define el nombre del nodo
- DomNode->set_namespace — Define el espacio de nombres de un nodo
- DomNode->unlink_node — Elimina el nodo
- DomProcessingInstruction->data — Devuelve los datos de un nodo ProcessingInstruction
- DomProcessingInstruction->target — Devuelve el destino de un nodo ProcessingInstruction
- DomXsltStylesheet->process() — Aplica la Transformación XSLT sobre un objeto DomDocument
- DomXsltStylesheet->result_dump_file() — Vuelca el resultado de una Transformación XSLT a un archivo
- DomXsltStylesheet->result_dump_mem() — Vuelca el resultado de una Transformación XSLT de vuelta a una cadena
- domxml_new_doc — Crea un nuevo documento XML vacío
- domxml_open_file — Crea un objeto DOM a partir de un archivo XML
- domxml_open_mem — Crea un objeto DOM desde un documento XML
- domxml_version — Obtiene la versión de la biblioteca XML
- domxml_xmltree — Crea un árbol de objetos PHP a partir de un documento XML
- domxml_xslt_stylesheet_doc — Crea un Objeto DomXsltStylesheet a partir de un Objeto DomDocument
- domxml_xslt_stylesheet_file — Crea un Objeto DomXsltStylesheet a partir de un documento XSL en un archivo
- domxml_xslt_stylesheet — Crea un objeto DomXsltStylesheet desde un documento XSL en una cadena
- domxml_xslt_version — Obtiene la versión de la biblioteca XSLT
- xpath_eval_expression — Evalúa la Ruta de Ubicación XPath en la cadena entregada
- xpath_eval — Evalúa la Ruta de Ubicación XPatch en la cadena dada
- xpath_new_context — Crea un nuevo contexto xpath
- xpath_register_ns_auto — Registrar el espacio de nombres dado en el contexto XPath pasado
- xpath_register_ns — Registrar el espacio de nombres dado en el contexto XPath pasado
- xptr_eval — Evalúa la Ruta de Ubicación XPtr en la cadena dada
- xptr_new_context — Crea un nuevo Contexto XPath

Constantes predefinidas
DomAttribute->name
DOM XML (PHP 4)
PHP Manual