Modélisation et interopérabilité :Semaine 48, cours 10Benoît Valiron< benoit.valiron@monoidal.net>http://inf356.monoidal.net/ 1Représentation d'un document XML 2Deux façons canoniques● Traitement sous forme d'arbre :– Document Object Model– Problème : tout le document est chargé en mémoire– Avantage : accès aléatoire simple● Traitement événementiel :– SAX : modèle Push– trSAX : modèle Pull– Problème : Accès aléatoire fastidieux– Avantage : Le document peut être (très) gros 3Document Object Model 4
XMLChagnonlivretitre auteur“Chagnon”“XML” 5DOM● Interface abstraite : ensemble d'objets et de méthodes qui doivent être implémentée.● Implémentation en java, javascript, C++, perl, php...● En java : la librairie Xerces● En javascript : l'implémentation de Mozilla ● Les interfaces génériques :● Node● NodeList● NamedNodeMap 6Interface Node● ●Quelques champs : Quelques méthodes :NamedNodeMap attributes; Node appendChild(Node child);NodeList childNodes; Node cloneNode(boolean deep);Node firstChild; boolean hasAttributes();Node lastChild; boolean hasChildNodes();DOMString localName; Node insertBefore(Node newChild,DOMString namespaceURI; Node refChild);Node nextSibling; Node removeChild(Node oldChild);DOMString nodeName; Node replaceChild(Node newChild,unsigned short nodeType;Node oldChild);DOMString nodeValue;Node parentNode;DOMString prefix;Node ...