La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
Télécharger Lire

cours-10-slides

De
36 pages
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 4XMLChagnonlivretitre 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 ...
Voir plus Voir moins

Vous aimerez aussi

 
Modélisationet interopérabilité :
Semaine 48, cours 10
Benoît Valiron <benoit.valiron@monoidal.net>
http://inf356.monoidal.net/
 
1
 
Représentation d'un document XML
 
2
 
Deux 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  AccèsProblème : aléatoire fastidieux Avantage : Le document peut être (très) gros
 
3
 
Document Object Model
 
4
<livre lang=”fr”><titre>XML</titre><auteur>Chagnon</auteur></livre>
 
titre
“XML”
livre
 
auteur
“Chagnon”
5
 
DOM 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
 
6
Interface Node
Quelques champs :
NamedNodeMap attributes; NodeList childNodes; Node firstChild; Node lastChild; DOMString localName; DOMString namespaceURI; Node nextSibling; DOMString nodeName; unsigned short nodeType; DOMString nodeValue; Node parentNode; DOMString prefix; Node previousSibling; DOMString textContent;
En java : xxx → getXxx();
 
 
Quelques méthodes :
Node appendChild(Node child);
Node appendChild(Node child); Node cloneNode(boolean deep); boolean hasAttributes(); boolean hasChildNodes(); Node insertBefore(Node newChild,  Node refChild); Node removeChild(Node oldChild); Node replaceChild(Node newChild,  Node oldChild);
7
Types de noeuds usuels
Valeur de nodeType
 
_ ATTRIBUTE NODE
_ COMMENT NODE
_ DOCUMENT NODE
ELEMENT NODE _
TEXT NODE _
Interface DOM
Attr(nodeName : l'attribut)
Comment(nodeName :#comment)
Document(nodeName :#document)
Element(nodeName : la balise)
Text(nodeName :#text)
 
8
Interfaces spécifiques au type Node
 Attr,Ils sont sous-types de Node. On a Comment,
Document :
Attr createAttribute(DOMString name); Element createElement(DOMString tagName); Text createTextNode(DOMString data); Element getElementsById(DOMString id); NodeList getElementsByTagName(DOMString tagName); Element :
DOMString getAttribute(DOMString name); void setAttribute(DOMString name, DOMString value); Element getElementsById(DOMString id); NodeList getElementsByTagName(DOMString tagName); Text
boolean isContentWhiteSpace;
 
 
9
Autres interfaces génériques
NamedNodeMap : table d'association DOMString ↔ Node
long length; Node getNamedItem(DOMString name); Node removeNamedItem(DOMString name); Node setNamedItem(Node n); NodeList :
long length; Node item(long i);
 
 
10
<livre lang=”fr”><titre>XML</titre><auteur>Chagnon</auteur></livre>
 
Document nodeType = DOCUMENT_NODE nodeName = #document nodeValue = (null) childNodes
Element nodeType ELEMENT_NODE = nodeName = livre nodeValue = (null) attributes childNodes
Element nodeType = ELEMENT_NODE nodeName = titre nodeValue = (null) childNodes Text nodeType = TEXT NODE _ nodeName = #text nodeVal e = XML u
Element nodeType = A _ TTRIBUTE NODE nodeName = lang nodeValue = fr
Element nod yp _ eT e = ELEMENT NODE nodeName = auteur nodeValue = (null) childNodes
Text nodeType = TEXT_NODE nodeName = #text nodeValue = Chagnon 11
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin