XXIV. Fonctions DOM

Introduction

L'extension DOM est le remplacement de l'extension domxml en PHP 4. Cette extension contient encore plusieurs anciennes fonctions mais elles ne doivent plus être utilisées. En particulier, les fonctions procédurales.

Cette extension vous permet de manipuler des documents XML avec l'API DOM.

Constantes prédefinies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Tableau 1. Constantes XML

ConstanteValeurDescription
XML_ELEMENT_NODE (integer) 1Le noeud est un élément
XML_ATTRIBUTE_NODE (integer) 2Le noeud est un attribut
XML_TEXT_NODE (integer) 3Le noeud est une pièce de texte
XML_CDATA_SECTION_NODE (integer) 4 
XML_ENTITY_REF_NODE (integer) 5 
XML_ENTITY_NODE (integer) 6Node is an entity like  
XML_PI_NODE (integer) 7Node is a processing instruction
XML_COMMENT_NODE (integer) 8Node is a comment
XML_DOCUMENT_NODE (integer) 9Node is a document
XML_DOCUMENT_TYPE_NODE (integer) 10 
XML_DOCUMENT_FRAG_NODE (integer) 11 
XML_NOTATION_NODE (integer) 12 
XML_HTML_DOCUMENT_NODE (integer) 13 
XML_DTD_NODE (integer) 14 
XML_ELEMENT_DECL_NODE (integer) 15 
XML_ATTRIBUTE_DECL_NODE (integer) 16 
XML_ENTITY_DECL_NODE (integer) 17 
XML_NAMESPACE_DECL_NODE (integer) 18 
XML_ATTRIBUTE_CDATA (integer) 1 
XML_ATTRIBUTE_ID (integer) 2 
XML_ATTRIBUTE_IDREF (integer) 3 
XML_ATTRIBUTE_IDREFS (integer) 4 
XML_ATTRIBUTE_ENTITY (integer) 5 
XML_ATTRIBUTE_NMTOKEN (integer) 7 
XML_ATTRIBUTE_NMTOKENS (integer) 8 
XML_ATTRIBUTE_ENUMERATION (integer) 9 
XML_ATTRIBUTE_NOTATION (integer) 10 

Tableau 2. Constantes DOMException

ConstanteValeurDescription
DOM_INDEX_SIZE_ERR (integer) 1 
DOMSTRING_SIZE_ERR (integer) 2 
DOM_HIERARCHY_REQUEST_ERR (integer) 3 
DOM_WRONG_DOCUMENT_ERR (integer) 4 
DOM_INVALID_CHARACTER_ERR (integer) 5 
DOM_NO_DATA_ALLOWED_ERR (integer) 6 
DOM_NO_MODIFICATION_ALLOWED_ERR (integer) 7 
DOM_NOT_FOUND_ERR (integer) 8 
DOM_NOT_SUPPORTED_ERR (integer) 9 
DOM_INUSE_ATTRIBUTE_ERR (integer) 10 
DOM_INVALID_STATE_ERR (integer) 11 
DOM_SYNTAX_ERR (integer) 12 
DOM_INVALID_MODIFICATION_ERR (integer) 13 
DOM_NAMESPACE_ERR (integer) 14 
DOM_INVALID_ACCESS_ERR (integer) 15 
DOM_VALIDATION_ERR (integer) 16 

Classes

L'API de ce module suit, autant que possible, les standard niveau 2 de DOM. En conséquent, l'API est pleinement orientée objets. Il est bien d'avoir les standards DOM sous la main lors de l'utilisation de cette extension.

Ce module définit plusieurs classes, qui sont listées - avec leurs méthodes - dans les tablaux suivants. Les classes avec un équivalent dans les standards sont nommées DOMxxx.

Tableau 3. Liste des classes

Nom de la classeClasses parentes
DOMAttrDOMNode
DOMCDataSectionDOMText : DOMNode
DOMCharacterDataDOMNode
DOMCommentDOMCharacterData : DomNode
DOMDocumentDOMNode
DOMDocumentFragmentDOMNode
DOMDocumentTypeDOMNode
DOMElementDOMNode
DOMEntityDOMNode
DOMEntityReferenceDOMNode
DOMNode 
DOMNotationDOMNode
DOMProcessingInstructionDOMNode
DOMTextDOMCDataSection : DomNode
DOMException 
DOMImplementation 
DOMNamedNodeMap 
DOMNodeList 
DOMXPath 

Table des matières
DOMAttr->isId --  Checks if attribute is a defined ID
DOMCharacterData->appendData --  Append the string to the end of the character data of the node.
DOMCharacterData->deleteData --  Remove a range of characters from the node.
DOMCharacterData->insertData --  Insert a string at the specified 16-bit unit offset.
DOMCharacterData->replaceData --  Replace a substring within the DOMCharacterData node.
DOMCharacterData->substringData --  Extracts a range of data from the node.
DOMDocument->createAttribute -- Create new attribute
DOMDocument->createAttributeNS --  Create new attribute node with an associated namespace
DOMDocument->createCDATASection -- Create new cdata node
DOMDocument->createComment -- Create new comment node
DOMDocument->createDocumentFragment -- Create new document fragment
DOMDocument->createElement -- Create new element node
DOMDocument->createElementNS --  Create new element node with an associated namespace
DOMDocument->createEntityReference -- Create new entity reference node
DOMDocument->createProcessingInstruction -- Creates new PI node
DOMDocument->createTextNode -- Create new text node
DOMDocument->getElementById -- Searches for an element with a certain id.
DOMDocument->getElementsByTagName -- Searches for all elements with given tag name.
DOMDocument->getElementsByTagNameNS --  Searches for all elements with given tag name in specified namespace.
DOMDocument->importNode -- Import node into current document.
DOMDocument->load --  Load XML from a file.
DOMDocument->loadHTML --  Load HTML from a string.
DOMDocument->loadHTMLFile --  Load HTML from a file.
DOMDocument->loadXML --  Load XML from a string.
DOMDocument->normalize --  Normalizes document.
DOMDocument->relaxNGValidate --  Performs relaxNG validation on the document.
DOMDocument->relaxNGValidateSource --  Performs relaxNG validation on the document.
DOMDocument->save --  Dumps the internal XML tree back into a file
DOMDocument->saveHTML --  Dumps the internal document into a string using HTML formatting
DOMDocument->saveHTMLFile --  Dumps the internal document back into a file using HTML formatting
DOMDocument->saveXML -- Dumps the internal XML tree back into a string
DOMDocument->schemaValidate --  Validates a document based on a schema.
DOMDocument->schemaValidateSource --  Validates a document based on a schema.
DOMDocument->validate --  Validates the document based on its DTD.
DOMDocument->xinclude --  Substitutes XIncludes in a DOMDocument Object.
DOMElement->getAttribute -- Returns value of attribute
DOMElement->getAttributeNode -- Returns attribute node
DOMElement->getAttributeNodeNS --  Returns attribute node
DOMElement->getAttributeNS -- Returns value of attribute
DOMElement->getElementsByTagName -- Gets elements by tagname
DOMElement->getElementsByTagNameNS -- Get elements by namespaceURI and localName
DOMElement->hasAttribute -- Checks to see if attribute exists
DOMElement->hasAttributeNS --  Checks to see if attribute exists
DOMElement->removeAttribute -- Removes attribute
DOMElement->removeAttributeNode -- Removes attribute
DOMElement->removeAttributeNS -- Removes attribute
DOMElement->setAttribute -- Adds new attribute
DOMElement->setAttributeNode -- Adds new attribute node to element
DOMElement->setAttributeNodeNS -- Adds new attribute node to element
DOMElement->setAttributeNS -- Adds new attribute
DOMImplementation->createDocument --  Crée un objet DOM Document du type spécifié avec ses éléments.
DOMImplementation->createDocumentType --  Crée un objet DOMDocumentType vide.
DOMImplementation->hasFeature --  Vérifie si l'implémentation DOM supporte une fonctionnalité spécifique et une version.
DOMNamedNodeMap->getNamedItem --  Retourne un noeud spécifié par nom nom.
DOMNamedNodeMap->getNamedItemNS --  Retourne un noeud spécifié par son nom local et son espace de nom.
DOMNamedNodeMap->item -- Retourne un noeud selon son index.
DOMNode->appendChild --  Ajoute un nouveau fils à la fin des fils
DOMNode->cloneNode --  Clone un noeud
DOMNode->hasAttributes --  Vérifie si le noeud possède un attribut
DOMNode->hasChildNodes --  Vérifie si le noeud possède des enfants
DOMNode->insertBefore --  Ajoute un nouveau fils à la fin des enfants
DOMNode->isSameNode --  Indique si deux noeuds sont identiques.
DOMNode->isSupported --  Vérifie si la fonctionnalité est disponible pour la version spécifiée.
DOMNode->lookupNamespaceURI --  Retourne l'URI de l'espace de nom selon le préfix.
DOMNode->lookupPrefix --  Retourne le préfixe de l'espace de nom selon L'URI de l'espace de nom.
DOMNode->normalize --  Normalise le noeud.
DOMNode->removeChild --  Supprime un fils de la liste des enfants.
DOMNode->replaceChild --  Remplace un fils
DOMNodelist->item --  Retourne un noeud spécifié par son index.
DOMText->isWhitespaceInElementContent --  Indique si ce noeud de texte contient des espaces blancs.
DOMText->splitText --  Coupe le noeud en deux noeuds à l'endroit spécifié.
DOMXPath->query --  Evalue l'expression XPath dans la chaîne passée
DOMXPath->registerNamespace --  Enregistre l'espace de nom avec l'objet DOMXpath.