Arbres DOM et XML (OC informatique, EPFL). html head body table html headbody table tr td texte1texte2 tr td texte3texte4 Deux représentations d’un arbre.

Slides:



Advertisements
Présentations similaires
Lundi 15 Juin 2009 Les principales techniques JavaScript.
Advertisements

Données structurées et XML
1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
DOM Document Object Model. Généralités Standard du W3C Parseur XML – Génération dun arbre dobjet – Construction totale de larbre DOM est spécifié en IDL.
Transformation de documents XML
CHAPITRE 6 INTRODUCTION A XML.
Copyright France Télécom, tous droits réservés Paris Web Ateliers Les bibliothèques JS jQuery Orange Labs Julien Wajsberg, Recherche & Développement.
Données structurées et XML
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
Xpath XPath is a language for finding information in an XML document.
le langage les éléments
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
Les fonctions de XPath et XSLT
Annie Danzart, Christine Potier
SVG: Scalable Vector Graphics
SVG: Scalable Vector Graphics
SVG: Scalable Vector Graphics
JavaScript.
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
Manipulation d’XML avec XSL
Jérôme CUTRONA AJAX Jérôme CUTRONA 01:07:47 Programmation Web
Introduction aux Web Services Partie 1. Technologies HTML-XML
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Javascript les spécificités du langage - Partie 2-
OCaml – Les arbres L3 MI.
Présentation de la séquence de cours sur les interactions HTML-javascript Laure Walser, 11 juin 2010.
Introduction à DOM Maroua Bouzid
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
XML: Syntaxe XML, DTD et Schémas
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
Le langage Javascript pour le web
Xpath XML Path language par Yves Bekkers
Staf2x - Tecfa - UniGE 1 Traitement XML avec DOM PHP 5 – XML – DOM Dajana Kapusova – TECFA - UNIGE.
Arbres DOM (OC informatique, EPFL)
JavaScript.
AJAX.
Les arbres binaires.
Description de documents XML multistructurés au moyen de nœuds retards Jacques Le Maitre LSIS Université du Sud Toulon-Var.
XML Plan du cours Introduction au fichier XML
Données sous XML Stéphane Marchand-Maillet Groupe Viper Vision par Ordinateur et Multimédia CUI – Université de Genève
8 - XML Cours XML.
PHP & My SQL.
D.O.M. Modèle Objet de Document
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
JavaScript Nécessaire Web.
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
LE HTML ISN Terminale S Un peu d’histoire …
Initiation à Python et à Latex
Les balises HTML et les objets JavaScript correspondants Objet document L'objet document est important dans la mesure ou il contient tous les objets du.
XML dans les Serveurs d'applications
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Arbres binaires et tables de hachage
S'initier au HTML et aux feuilles de style CSS Cours 5.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
XML Le nouveau standard de données sur le WEB. Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans.
Asynchronous JavaScript And XML AJAX C. Petitpierre
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
AJAX Jérôme CUTRONA 06:28:58 Programmation Web
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web
Projet XML Contrôle des véhicules Par R.Khounsamnane &J.Socié.
M2202 – Algorithmique – T.BAUSER. Objectifs Utiliser Jquery pour : - modifier/ajouter/supprimer un élément/un attribut/une classe, - créer des animations,
Les arbres Arbres binaires
Le langage XML Documents bien formés Un document XML est dit bien formé lorsque le document est correct sans toutefois posséder une DTD. Le prologue du.
Lire et manipuler du XML...
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
Programmation Web : DOM en PHP
Catherine Cyrot - bibliothèques numériques - cours 3
Transcription de la présentation:

Arbres DOM et XML (OC informatique, EPFL)

html head body table html headbody table tr td texte1texte2 tr td texte3texte4 Deux représentations d’un arbre HTML text1 text2 text3 text4

Un arbre (terminologie) racine feuillenœud feuille parent enfant

Attributs des nœuds html headbody table tr document.body (défini par le navigateur) aNode aNode.tagName node.nodeName: BODY, TABLE, TR, TD, #text node.textContent: texte du sous-arbre inaccessibles

Relations des nœuds html headbody table - childNodes tr aNode aNode.childNodes[1] aNode.lastChild node.childNodes.length aNode.childNodes[0] aNode.firstNode aNode.parentNode

Accès à un élément d’un arbre text1 text2 text3 text4 Attention, les nœuds d’espaces ne sont pas pris en compte document.body.childNodes[0].childNodes[0].childNodes[1].childNodes[0].value document.body.firstChild.firstChild.childNodes[1].firstChild.value

Adjonction d’un nœud unNoeud = document.getElementById("unTR") nouvTD = document.createElement("TD") unNoeud.appendChild(nouvTD) text1 text2

Adjonction d’un texte text1 text2 mon texte txt = document.createTextNode("mon texte") nouvTD.appendChild(txt)

Elimination d’un nœud unParent.removeChild(unNoeud) unParent.removeChild(unParent.childNodes[1]) unNoeud.parentNode.removeChild(unNoeud)

Parcours d’un arbre function parcourtEnfants(noeud) { // définition for (var i=0 ; i<noeud.childNodes.length ; i++) { alert(noeud.childNodes[i].nodeName) } } leNoeud: leNoeud = document.getElementById("leNoeud") parcourtEnfants(leNoeud) // appel liste identité

Un étage de l’arbre function parcourtPetitsEnfants(arg) { for (var i=0 ; i<arg.childNodes.length ; i++) { var nd = arg.childNodes[i] alert(nd.nodeName) parcourtEnfants(nd) }

Parcours récursif de l’arbre function parcourtPetitsEnfants(arg) { for (var i=0 ; i<arg.childNodes.length ; i++) { var nd = arg.childNodes[i] alert(nd.nodeName) parcourtPetitsEnfants (nd) }

Tableaux associatifs et syntaxe objets id = [ ] id [ "prenom" ] = "Peter" id [ "nom" ] = "Tagasi" id [ "prenom" ] = "Peter" id = { prenom : "Peter", nom : "Tagasi" } id.prenom == "Peter"

Tableaux associatifs, indicés et objets id = { prenom : "Peter", nom : "Tagasi" } id.prenom == "Peter" ids =[ { prenom : "Peter", nom : "Tagasi" }, { prenom : "Hans", nom : "Vogel" } ] ids[1].nom == "Vogel"

Tableaux associatif, indicés et objets lst ={ liste : [ {{identité : {prenom : "Peter", nom : "Tagasi" } }, {{identité : {prenom : "Hans", nom : "Vogel" } ] } lst.liste[0].identite.nom

Parcours automatique et récursif for (var key in tableau) { if ((typeof tableau[key] == object) && tableau[key].length…) for (var i=0; i< … … } // un bel exercice !

Troisième syntaxe d’arbre: XML {prenom : "Peter", nom : "Tagasi"} Peter Tagasi

Liste d’emprunts Peter Tagasi Tarzan dans les arbres Jane sur une branche

Lecture / écriture de fichiers de texte et XML (arbres) sur le serveur qui a envoyé la page

Lecture synchrone d’un fichier de texte function makeRequest(URL) { // définition http_request = new XMLHttpRequest() http_request.open('GET', URL, false) http_request.send(null) return http_request.responseText } var txt = makeRequest("Tree.xml") // appel var aTbl = txt.getElementsByTagName("personne")

Lecture synchrone d’un fichier XML function makeRequest(URL) { // définition http_request = new XMLHttpRequest() http_request.open('GET', URL, false) http_request.send(null) return http_request.responseXML } var xml = makeRequest("Tree.xml") // appel var aTbl = xml.getElementsByTagName("personne")

Accès à un arbre XML (2 possibilités) xml.getElementsByTagName("emprunts")[0].childNodes[0].childNodes[0].childNodes[0].firstChild.nodeValue xml.getElementsByTagName("personne")[0].getElementsByTagName("titre")[1].firstChild.nodeValue

Appel asynchrone (AJAX) function makeRequest(URL, alertFunction) { http_request = new XMLHttpRequest() http_request.onreadystatechange = function() { alertFunction(http_request,URL) } http_request.open('GET', URL, true) http_request.send(null) return } var alertContents = function (http_local_request, URL) { document.getElementById("Display").innerHTML = http_local_request.responseXML } makeRequest("fiches.xml", alertContents) // appel

Ecriture d’un fichier XML var temp = [ ] temp.push(" ") temp.push(" " + txt + " ") temp.push(" ") File.write( "tmp.xml", temp.join("\n") )

Fichiers disponibles sur LemanOS