L'extension DOM de PHP 5 permet de manipuler des documents XML avec une collection d'objets et leurs méthodes et propriétés associées.
L'extension DOM de la version 5 de PHP respecte assez fidèlement les spécifications XML (Document Object Model Level 2) du W3C.
Les interfaces fondamentales et étendues proposées par le W3C sont toutes présentes dans le modéle objet de l'extension DOM.
Objet PHP | Interface W3C | Description |
---|---|---|
DOMDocument | Document | représente un document XML. |
DOMElement | Element | représente un élément XML. |
DOMNode | Node | représente un noeud XML. |
DOMAttr | Attr | représente un attribut XML. |
DOMCharacterData | CharacterData | représente une section de caractères. |
DOMText | Text | représente le texte d'un noeud XML. |
DOMComment | Comment | représente un commentaire XML. |
DOMNodeList | NodeList | représente une liste de noeuds. |
DOMNamedNodeMap | NamedNodeMap | représente une collection d'attributs ordonnés par paire nom/valeur. |
DOMDocumentFragment | DocumentFragment | représente une portion d'un document XML. |
DOMImplementation | DOMImplementation | représente l'implémentation utilisé pour exploiter un document XML. |
DOMException | DOMException | représente une exception du DOM qui pourra être lancée lors de l'analyse ou l'exploitation du document XML. |
ExceptionCode | constitue une liste de constantes représentant chacune un type d'exception. | |
DOMCDATASection | CDATASection | représente une section de caractères non-analysables (section CDATA) |
DOMProcessingInstruction | ProcessingInstruction | représente une instruction de traitement. |
DOMDocumentType | DocumentType | représente une définition de type de document. |
DOMNotation | Notation | représente une notation XML. |
DOMEntity | Entity | représente une entité. |
DOMEntityReference | EntityReference | représente une référence d'entité. |
Chaque objet du modèle d'objet de document de PHP 5, possède un constructeur, des méthodes et des attributs.
//Instanciation d'un objet DOMDocument $doc_xml = new DOMDocument(); //Modification de l'attribut de validation du document par sa DTD $doc_xml->validateOnParse = true; //Invocation de la méthode de chargement d'un fichier XML $doc_xml->load('source.xml');
La classe DOMNode est héritée par de nombreuses autres classe du DOM. En effet, DOMDocument, DOMElement, DOMAttr, DOMCharacterData, DOMDocumentType, DOMEntity, DOMEntityReference, DOMNotation et DOMProcessingInstruction sont des classes dérivées de DOMNode. Cela signifie qu'elles héritent toutes des méthodes et attributs de la classe DOMNode.
Les classes DOMComment et DOMText sont des sous classes de DOMCharacterData. Ainsi, les deux sous-classes héritent des méthodes et attributs de la classe DOMCharacterData et par le truchement de cette dernière de ceux de DOMNode également.