XXIV. Fonctions DOM

Introduction

L'extension DOM est le remplacement de l'extension DOM XML 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 --  Vérifie si l'attribut est un identifiant défini.
DOMCharacterData->appendData --  Ajoute la chaîne à la fin des données dans le noeud.
DOMCharacterData->deleteData --  Supprime une sous-chaîne dans le noeud
DOMCharacterData->insertData --  Insère une chaîne à la position spécifiée d'unité 16-bit
DOMCharacterData->replaceData --  Remplace une sous-chapine dans le noeud DOMCharacterData node.
DOMCharacterData->substringData --  Extrait un morceaux de données dans le noeud
DOMDocument->createAttribute -- Créé un nouvel attribut
DOMDocument->createAttributeNS --  Créé un nouveau noeud attribut avec un espace de nom associé
DOMDocument->createCDATASection -- Créé un nouveau noeud cdata
DOMDocument->createComment -- Crée un nouveau noeud de commentaire
DOMDocument->createDocumentFragment -- Crée un nouveau fragment de document
DOMDocument->createElement -- Crée un nouveau noeud élément
DOMDocument->createElementNS --  Crée un nouveau noeud élément avec un espace de nom associé
DOMDocument->createEntityReference -- Crée un nouveau noeud de référence d'entité
DOMDocument->createProcessingInstruction -- Crée un nouveau noeud PI
DOMDocument->createTextNode -- Crée un nouveau noeud de texte
DOMDocument->getElementById -- Cherche un élément avec un certain identifiant
DOMDocument->getElementsByTagName -- Cherche tous les éléments quit ont le nom de balise donné
DOMDocument->getElementsByTagNameNS --  Cherche tous les éléments du document selon un nom de balise et un espace de nom spécifique
DOMDocument->importNode -- Importe un noeud dans le document courant
DOMDocument->load --  Charge du XML à partir d'un fichier.
DOMDocument->loadHTML --  Charge du HTML à partir d'une chaîne de caractères.
DOMDocument->loadHTMLFile --  Charge du HTML à partir d'un fichier
DOMDocument->loadXML --  Charge du XML à partir d'une chaîne.
DOMDocument->normalize --  Normalise le document.
DOMDocument->relaxNGValidate --  Performe une validation relaxNG sur le document.
DOMDocument->relaxNGValidateSource --  Performe une validation relaxNG sur le document.
DOMDocument->save --  Dumps the internal XML tree back into a file
DOMDocument->saveHTML --  Enregistre le document interne dans une chaîne en HTML
DOMDocument->saveHTMLFile --  Enregistre le document interne dans un fichier HTML
DOMDocument->saveXML -- Enregistre l'arbre XML interne dans une chaîne
DOMDocument->schemaValidate --  Valide un document selon un schéma.
DOMDocument->schemaValidateSource --  Valide un document selon un schéma.
DOMDocument->validate --  Valide le document avec sa DTD.
DOMDocument->xinclude --  Remplace les XIncludes dans un objet DOMDocument.
DOMElement->getAttribute -- Retourne la valeur de l'attribut
DOMElement->getAttributeNode -- Retourne le noeud attribut
DOMElement->getAttributeNodeNS --  Retourne le noeud attribut
DOMElement->getAttributeNS -- Retourne la valeur de l'attribut
DOMElement->getElementsByTagName -- Retourne des éléments selon les noms de balises
DOMElement->getElementsByTagNameNS -- Récupère les éléments par leur espace de noms et localName
DOMElement->hasAttribute -- Vérifie si l'attribut existe
DOMElement->hasAttributeNS --  Vérifie si l'attribut existe.
DOMElement->removeAttribute -- Supprime l'attribut
DOMElement->removeAttributeNode -- Supprime l'attribut
DOMElement->removeAttributeNS -- Supprime un attribut
DOMElement->setAttribute -- Ajoute un nouvel attribut
DOMElement->setAttributeNode -- Ajoute un nouveau noeud attribut à l'élément
DOMElement->setAttributeNodeNS -- Ajoute un nouveau noeud attribut à l'élément
DOMElement->setAttributeNS -- Ajoute un nouvel attribut
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.
dom_import_SimpleXML --  Transforme un objet SimpleXMLElement en objet DOMElement