Manuel PHP
Précédent |  | Suivant

# 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

Constante | Valeur | Description
--- | --- | ---
`XML_ELEMENT_NODE` (integer) | 1 | Le noeud est un élément
`XML_ATTRIBUTE_NODE` (integer) | 2 | Le noeud est un attribut
`XML_TEXT_NODE` (integer) | 3 | Le noeud est une pièce de texte
`XML_CDATA_SECTION_NODE` (integer) | 4 |
`XML_ENTITY_REF_NODE` (integer) | 5 |
`XML_ENTITY_NODE` (integer) | 6 | Node is an entity like &nbsp;
`XML_PI_NODE` (integer) | 7 | Node is a processing instruction
`XML_COMMENT_NODE` (integer) | 8 | Node is a comment
`XML_DOCUMENT_NODE` (integer) | 9 | Node 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

Constante | Valeur | Description
--- | --- | ---
`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 classe | Classes parentes
--- | ---
DOMAttr | DOMNode
DOMCDataSection | DOMText : DOMNode
DOMCharacterData | DOMNode
DOMComment | DOMCharacterData : DomNode
DOMDocument | DOMNode
DOMDocumentFragment | DOMNode
DOMDocumentType | DOMNode
DOMElement | DOMNode
DOMEntity | DOMNode
DOMEntityReference | DOMNode
DOMNode |
DOMNotation | DOMNode
DOMProcessingInstruction | DOMNode
DOMText | DOMCDataSection : DomNode
DOMException |
DOMImplementation |
DOMNamedNodeMap |
DOMNodeList |
DOMXPath |

Précédent | Sommaire | Suivant
scandir | Niveau supérieur | DOMAttr->isId