Constantes pré-definidas
DomAttribute->name
DOM XML
PHP Manual

# DOM XML Funções

## Funções Obsoletas

Há algumas funções que não se adequam no padrão DOM e não devem ser usadas. Estas função são listadas na seguinte tabela abaixo. A função DomNode_append_child() teve modificada seu comportamento. Ela agora adiciona um filho e não a um vizinho. Se esta quebra seu programa, use a função não DOM DomNode_append_sibling().

Funções obsoletas e suas substítutas
Velha função | Nova função
--- | ---
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() seguida por 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 | Cria um novo node com e.g. DomDocument_create_element() e adiciona-o com DomNode_append_child().
DomNode_children | DomNode_child_nodes()
DomNode_parent | DomNode_parent_node()
DomNode_new_child | Cria um novo node com e.g. DomDocument_create_element() e adiciona-o com DomNode_append_child().
DomNode_set_content | Cria um novo node com e.g. DomDocument_create_text_node() e adiciona-o com DomNode_append_child().
DomNode_get_content | Conteúdo é somente um texto do node e pode ser acessado com DomNode_child_nodes().
DomNode_set_content | Conteúdo é somente um texto do node e pode ser adicionado com DomNode_append_child().

## Classes

A API do módulo segue o padrão DOM Level 2 bem proximamente. Conseqüentemente, a API é totalmente orientada a objeto. É uma boa idéia ter o padrão DOM disponível quando usando este módulo. Embora a API seja orientada a objeto, há muitas funções que podem ser chamadas na forma não orientada a objeto passando o objeto para operar como primeiro argumento. Estas funções são principalmente para preservar compatibilidade com antigas versões desta extensão, e não deve ser usada quando criando novos scripts.

A API difere da oficial DOM API em duas formas. Primeiro, todo atributo de classe são implementado como funções com o mesmo nome. Segundo, o nome das funções seguem a convenção de nomes do PHP. Isto significa que a função DOM lastChild() será escrita como last_child().

Este módulo define um número de classes, que são listados - incluindo o módulo delas - na seguinte tabela. Classes com um equivalente no padrão DOM são nomeadas DOMxxx.

Lista de classes
Nome da classe | Classe pai
--- | ---
DomAttribute | DomNode
DomCData | DomNode
DomComment | DomCData : DomNode
DomDocument | DomNode
DomDocumentType | DomNode
DomElement | DomNode
DomEntity | DomNode
DomEntityReference | DomNode
DomProcessingInstruction | DomNode
DomText | DomCData : DomNode
Parser | Atualmente permanece chamada DomParser
XPathContext |

Classe DomDocument (DomDocument : DomNode)
Nome do método | Nome da função | Observação
--- | --- | ---
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() | não é padrão DOM
dump_file | DomDocument_dump_file() | não é padrão DOM
html_dump_mem | DomDocument_html_dump_mem() | não é padrão DOM
xpath_init | xpath_init | não é padrão DOM
xpath_new_context | xpath_new_context | não é padrão DOM
xptr_new_context | xptr_new_context | não é padrão DOM

Classe DomElement (DomElement : DomNode)
Nome do método | Nome da função | Observação
--- | --- | ---
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() |

Classe DomNode
Nome do método | Observação
--- | ---
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() | Não é padrão DOM. Esta função emula o comportamento da DomNode_append_child().
DomNode_remove_child() |
DomNode_has_child_nodes() |
DomNode_has_attributes() |
DomNode_clone_node() |
DomNode_attributes() |
DomNode_unlink_node() | Não é padrão DOM
DomNode_replace_node() | Não é padrão DOM
DomNode_set_content() | Não é padrão DOM, obsoleta
DomNode_get_content() | Não é padrão DOM, obsoleta
DomNode_dump_node() | Não é padrão DOM
DomNode_is_blank_node() | Não é padrão DOM

Classe DomAttribute (DomAttribute : DomNode)
Nome do método |  | Observação
--- | --- | ---
name | DomAttribute_name() |
value | DomAttribute_value() |
specified | DomAttribute_specified() |

Classe DomProcessingInstruction (DomProcessingInstruction : DomNode)
Nome do método | Nome da função | Observação
--- | --- | ---
target | DomProcessingInstruction_target() |
data | DomProcessingInstruction_data() |

Classe Parser
Nome do método | Nome da função | Observação
--- | --- | ---
add_chunk | Parser_add_chunk() |
end | Parser_end() |

Classe XPathContext
Nome do método | Nome da função | Observação
--- | --- | ---
eval | XPathContext_eval() |
eval_expression | XPathContext_eval_expression() |
register_ns | XPathContext_register_ns() |

Classe DomDocumentType (DomDocumentType : DomNode)
Nome do método | Nome da função | Observação
--- | --- | ---
name | DomDocumentType_name() |
entities | DomDocumentType_entities() |
notations | DomDocumentType_notations() |
public_id | DomDocumentType_public_id() |
system_id | DomDocumentType_system_id() |
internal_subset | DomDocumentType_internal_subset() |

As classes DomDtd são derivadas da DomNode. DomComment é derivada da DomCData.

## Exemplos

Muitos exemplos nesta referência requerem uma string XML. Ao invés de repetir esta string em cada exemplo, iremos colocá-la em um arquivo que será incluido para cada exemplo. Este arquivo incluso é mostrado na seção do exemplo seguinte. Alternativamente, você pode criar um documento XML e lê-lo com DomDocument_open_file().

Exemplo #1 Arquivo do include example.inc com a string XML

`<?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>";
?>`

## Índice

- DomAttribute->name — Returns the name of attribute
- DomAttribute->set_value — Define o valor de um atributo
- DomAttribute->specified — Verifica se o atributo é specified
- DomAttribute->value — Retorna o valor do atributo
- DomDocument->add_root — Adiciona um node raiz [obsoleto]
- DomDocument->create_attribute — Cria um novo atributo
- DomDocument->create_cdata_section — Cria um novo node cdata
- DomDocument->create_comment — Cria um novo node de comentário
- DomDocument->create_element_ns — Create new element node with an associated namespace
- DomDocument->create_element — Create new element node
- DomDocument->create_entity_reference — Create an entity reference
- DomDocument->create_processing_instruction — Creates new PI node
- DomDocument->create_text_node — Create new text node
- DomDocument->doctype — Returns the document type
- DomDocument->document_element — Returns root element node
- DomDocument->dump_file — Dumps the internal XML tree back into a file
- DomDocument->dump_mem — Dumps the internal XML tree back into a string
- DomDocument->get_element_by_id — Searches for an element with a certain id
- DomDocument->get_elements_by_tagname — Returns array with nodes with given tagname in document or empty array, if not found
- DomDocument->html_dump_mem — Dumps the internal XML tree back into a string as HTML
- DomDocument->xinclude — Substitutes XIncludes in a DomDocument Object
- DomDocumentType->entities — Returns list of entities
- DomDocumentType->internal_subset — Returns internal subset
- DomDocumentType->name — Returns name of document type
- DomDocumentType->notations — Returns list of notations
- DomDocumentType->public_id — Returns public id of document type
- DomDocumentType->system_id — Returns the system id of document type
- DomElement->get_attribute_node — Returns the node of the given attribute
- DomElement->get_attribute — Returns the value of the given attribute
- DomElement->get_elements_by_tagname — Gets elements by tagname
- DomElement->has_attribute — Checks to see if an attribute exists in the current node
- DomElement->remove_attribute — Removes attribute
- DomElement->set_attribute_node — Adds new attribute
- DomElement->set_attribute — Sets the value of an attribute
- DomElement->tagname — Returns the name of the current element
- DomNode->add_namespace — Adds a namespace declaration to a node
- DomNode->append_child — Adds a new child at the end of the children
- DomNode->append_sibling — Adds new sibling to a node
- DomNode->attributes — Returns list of attributes
- DomNode->child_nodes — Returns children of node
- DomNode->clone_node — Clones a node
- DomNode->dump_node — Dumps a single node
- DomNode->first_child — Returns first child of node
- DomNode->get_content — Gets content of node
- DomNode->has_attributes — Checks if node has attributes
- DomNode->has_child_nodes — Checks if node has children
- DomNode->insert_before — Inserts new node as child
- DomNode->is_blank_node — Checks if node is blank
- DomNode->last_child — Returns last child of node
- DomNode->next_sibling — Returns the next sibling of node
- DomNode->node_name — Returns name of node
- DomNode->node_type — Returns type of node
- DomNode->node_value — Returns value of a node
- DomNode->owner_document — Returns the document this node belongs to
- DomNode->parent_node — Returns the parent of the node
- DomNode->prefix — Returns name space prefix of node
- DomNode->previous_sibling — Returns the previous sibling of node
- DomNode->remove_child — Removes child from list of children
- DomNode->replace_child — Replaces a child
- DomNode->replace_node — Replaces node
- DomNode->set_content — Sets content of node
- DomNode->set_name — Sets name of node
- DomNode->set_namespace — Sets namespace of a node
- DomNode->unlink_node — Deletes node
- DomProcessingInstruction->data — Returns the data of ProcessingInstruction node
- DomProcessingInstruction->target — Returns the target of a ProcessingInstruction node
- DomXsltStylesheet->process — Applies the XSLT-Transformation on a DomDocument Object
- DomXsltStylesheet->result_dump_file — Dumps the result from a XSLT-Transformation into a file
- DomXsltStylesheet->result_dump_mem — Dumps the result from a XSLT-Transformation back into a string
- domxml_new_doc — Creates new empty XML document
- domxml_open_file — Creates a DOM object from an XML file
- domxml_open_mem — Creates a DOM object of an XML document
- domxml_version — Gets the XML library version
- domxml_xmltree — Creates a tree of PHP objects from an XML document
- domxml_xslt_stylesheet_doc — Creates a DomXsltStylesheet Object from a DomDocument Object
- domxml_xslt_stylesheet_file — Creates a DomXsltStylesheet Object from an XSL document in a file
- domxml_xslt_stylesheet — Creates a DomXsltStylesheet object from an XSL document in a string
- domxml_xslt_version — Gets the XSLT library version
- xpath_eval_expression — Evaluates the XPath Location Path in the given string
- xpath_eval — Avalia o caminho XPath de uma dada string
- xpath_new_context — Cria um novo contexto xpath
- xpath_register_ns_auto — Registra o dado namespace no contexto XPath passado
- xpath_register_ns — Registra o dado namespace no contexto XPath passado
- xptr_eval — Avalia o caminho XPtr de uma dada string
- xptr_new_context — Cria um novo contexto XPath

Constantes pré-definidas
DomAttribute->name
DOM XML
PHP Manual