Traitement de documents XML Les API DOM et Sax. DOM et Sax p.1/33

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Traitement de documents XML Les API DOM et Sax. DOM et Sax p.1/33"

Transcription

1 Traitement de documents XML Les API DOM et Sax DOM et Sax p.1/33

2 DOM et Sax p.2/33 Sommaire Les deux principales interfaces de programmation XML : DOM (Document Object Model), basé sur une représentation hiérarchique SaX (Simple API for XML), basé sur des déclencheurs (événements/action)

3 Les API XML L API SaX : Définit des triggers qui se déclenchent sur certaines balises. Adaptée aux applications qui extraient de l information d un document L API DOM : Construit une représentation du document en mémoire sous forme d arbre Adaptée aux applications qui modifient ou traitent dans leur globalité un document. DOM et Sax p.3/33

4 DOM et Sax p.4/33 DOM et SaX Toutes les applications XML passent par une phase préalable d analyse Processeur XSLT Parseur DOM Editeur XML... Document XML Parseur SaX flux de données Base de données Déclenchement d opérations

5 L API SAX DOM et Sax p.5/33

6 DOM et Sax p.6/33 Architecture SAX Associer des événements aux balises : Document XML Parseur SAX Evénements <ELT1> </ELT1> <ELT2>... Accumulateur Fonctions Données

7 DOM et Sax p.7/33 Les événements SAX Début et fin de document Début et fin d élément Instructions de traitements Commentaires... Les fonctions s exécutent indépendamment => il faut leur faire partager une zone mémoire («accumulateur»)

8 DOM et Sax p.8/33 Exemple type : insertion dans une BD À partir d un flux XML contenant des films : <FILMS>... <FILM> <TITRE>Alien</TITRE> <ANNEE>1979</ANNEE> <AUTEUR>Ridley Scott</AUTEUR> <GENRE>Science-fiction</GENRE <PAYS>USA</PAYS> </FILM>... </FILMS>

9 DOM et Sax p.9/33 Les événements Début de document : connexion à la base Balise <FILM> : création d un enregistrement Film Balise <TITRE> : on affecte Film.titre Balise <ANNEE> : on affecte Film.annee etc.. Balise </FILM> : insertion de l enregistrement dans la base

10 Forme arborescente : le modèle DOM DOM et Sax p.10/33

11 DOM et Sax p.11/33 Quelques mots sur DOM DOM est une recommandation du W3C. Elle tient lieu de norme, mais C est une spécification très abstraite : il peut y avoir des variantes selon les implantations DOM est issu d une pratique de programmation pas toujours très propre du point de vue OO les exemples sont basés sur l implantation de la fondation XML/Apache.

12 DOM et Sax p.12/33 L API orientée-objet DOM Un parseur DOM prend en entrée un document XML et construit : un arbre formé d objets chaque objet appartient à une sous-classe de Node des opérations sur ces objets permettent de créer de nouveaux nœuds, ou de naviguer dans le document => éditeurs XML, processeurs XSLT

13 DOM et Sax p.13/33 DOM : représentation objet des arbres Un parseur DOM construit en mémoire une représentation du document où : chaque nœud est un objet de type Node ; chaque catégorie syntaxique est représentée par un sous-type de Node ; la racine du document est un nœud spécial, de type Document.

14 DOM et Sax p.14/33 Exemple d une représentation DOM Document - Element FILM Attr TITRE Vertigo Attr ANNEE 1958 Element RESUME Element GENRE Texte - Scottie... Comment - genre du film Texte - Drame

15 Principales classes DOM Node Attribute TreeNode Leaf Container Notation Character Data Processing Instruction Entity Document Entity Reference Element Document Type Comment Text CData Section DOM et Sax p.15/33

16 DOM et Sax p.16/33 La super-classe Node Une approche faiblement objet Tout nœud DOM est un Node En principe les propriétés spécifiques à un sous-type devraient apparaître au niveau de ce sous-type Exemple : le nom, valable pour un nœud Element, pas pour un nœud Text En pratique Node rassemble toutes les propriétés de tous les types de nœuds

17 DOM et Sax p.17/33 Propriétés du type Node Propriété Type Propriété Type nodetype short nodename String nodevalue String parentnode Node firstchild Node lastchild Node childnodes NodeList previoussibling Node nextsibling Node attributes NamedNodeMap

18 DOM et Sax p.18/33 Propriétés nodename et nodevalue Type de nœud nodename nodevalue CDATASection #cdata-section contenu de la section CDATA Comment #comment contenu du commentaire Document #document NULL DocumentType nom de la DTD NULL Element nom de l élément NULL ProcessingInstruction nom de la cible le contenu (moins la cible) Text #text contenu du nœud Text Entity nom de l entité NULL EntityReference nom de l entité référencée NULL Attr nom de l attribut valeur de l attribut Table 1:

19 DOM et Sax p.19/33 Opérations du type Node Quelques exemples : insertbefore (Node nouv, Node fils) replacechild (Node nouv, Node ancien) removechild (Node fils) appendchild (Node fils) boolean haschildnodes()

20 DOM et Sax p.20/33 La classe Document Représente la racine du document. C est toujours le premier nœud créé. Il contient éventuellement une référence vers la DTD Il sert «d usine» à créer de nouveaux nœuds avec les méthodes createelement(), createtextnode(), createcomment(), etc

21 DOM et Sax p.21/33 Un exemple de programme DOM Le programme Preordre.java prend en argument un nom de fichier contenant un document XML. Il analyse ce document avec un parseur DOM Il parcourt ensuite les nœuds du document et numérote les nœuds de type Text par leur position dans l arbre Enfin le document modifié est sérialisé. implantation avec le parseur Xerces

22 Structure du programme // Import des classes Java import java.io.*, javax.xml.parsers.*, org.w3c.dom.*; import org.apache.xalan.serialize.*; import org.apache.xml.serialize.*; class Preordre { public static void main (String args []) { // Instanciation du parseur, analyse // du document, parcours } private static int Parcours (Node noeud, int n { // Fonction de parcours et numérotation } } DOM et Sax p.22/33

23 DOM et Sax p.23/33 Phase d analyse // Récupération du document File fdom = new File (args[0]); // Instanciation du parseur DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newdocumentbuilder(); // Analyse du document Document dom = builder.parse(fdom); // Début du parcours avec le numéro 1 Node elementracine = dom.getdocumentelement(); Parcours (elementracine, 1);

24 DOM et Sax p.24/33 Parcours : numérotation private static int Parcours (Node noeud, int numero) { String str = new String(); numero++; // Numérotation du noeud s il est de // type texte if (noeud.getnodetype() == Node.TEXT_NODE) { str = "(" + numero + ") " + noeud.getnodevalue(); noeud.setnodevalue (str); }...

25 DOM et Sax p.25/33 Parcours : récursion... // Parcours récursif si le noeud a des fils if (noeud.haschildnodes()) { // Récupère la liste des fils du // noeud courant (liste de type NodeList) NodeList fils = noeud.getchildnodes(); // Parcours de la liste et appel récursif for (int i=0; i < fils.getlength(); i++) numero = Parcours (fils.item(i), numero); } return numero; }

26 DOM et Sax p.26/33 Sérialisation À la fin du traitement DOM, le document modifié est sérialisé (par exemple pour être stocké) // Instanciation du serialiseur Xalan XMLSerializer ser = new XMLSerializer (); // Définition du fichier de sortie ser.setoutputbytestream(system.out); // Sérialisation du document DOM ser.serialize(dom); il existe plusieurs sérialisations possibles pour un même document.

27 Exemple : un document DOM Document - Element A Comment - commentaire Element B Element C Texte - Texte Element D Texte - Condition: 1 < 2 DOM et Sax p.27/33

28 DOM et Sax p.28/33 Une première version sérialisée Tout est inclus dans le même fichier, avec une référence à une entité. <?xml version= 1.0?> <A> <!-- commentaire --> <B>Texte</B> <C> <D>Condition: 1 < 2</D> </C> </A>

29 DOM et Sax p.29/33 Seconde version Tout est inclus dans le même fichier, avec une section CDATA <?xml version= 1.0?> <A> <!-- commentaire --> <B>Texte</B> <C> <D>Condition: <![CDATA[1 < 2]]></D> </C> </A>

30 DOM et Sax p.30/33 Troisième version Une partie du document est inséré par référence à une entité externe. <?xml version= 1.0?> <!DOCTYPE A [ <!ENTITY file SYSTEM "ExXMLArbreB.xml"> ]> <A> <!-- commentaire --> <B>Texte</B> &file; </A>

31 DOM et Sax p.31/33 Serialiseur : construction public class Serialiseur { Document doc; Node elementracine; // Constructeur de la classe public Serialiseur (Document argdoc) { doc = argdoc; // On prend la racine du document elementracine = doc.getdocumentelement(); }

32 DOM et Sax p.32/33 Serialiseur : sortie // Méthode publique pour séraliser dans un fic public void sortie (String nomfichier) throws IOException { FileWriter fichier = null; fichier = new FileWriter (nomfichier); fichier.write ("<?xml version=\"1.0\" encoding=\"iso // Parcours récursif this.parcours (fichier, elementracine); fichier.close(); }

33 DOM et Sax p.33/33 Serialiseur : parcours private void parcours (FileWriter fichier, Node noeud) throws IOException { // Traitement des noeuds de type ELEMENT if (noeud.getnodetype() == Node.ELEMENT_NODE) { // On crée la balise ouvrante fichier.write ("<" + noeud.getnodename() + this.serialiserattrs(noeud) + ">"); // Parcours récursif si le noeud a des fils if (noeud.haschildnodes()) {... } // Et la balise fermante fichier.write ("</" + noeud.getnodename() + }

API pour XML. Mihaela JUGANARU-MATHIEU mathieu@emse.fr. février 2012. École Nationale Supérieure des Mines de St Etienne.

API pour XML. Mihaela JUGANARU-MATHIEU mathieu@emse.fr. février 2012. École Nationale Supérieure des Mines de St Etienne. API pour XML Mihaela JUGANARU-MATHIEU mathieu@emse.fr École Nationale Supérieure des Mines de St Etienne février 2012 Les outils pour traiter XML (validation, navigation, interrogation) sont puissants

Plus en détail

Espaces de noms, DOM, SAX

Espaces de noms, DOM, SAX Espaces de noms, DOM, SAX Dan VODISLAV Université de Cergy-Pontoise Licence Informatique L3 Plan Espaces de noms Interfaces de programmation DOM SAX UCP, Licence L3: Espaces de noms, DOM/SAX 2 Espaces

Plus en détail

Programmation en Java Java et XML. NGUYEN Thi Minh Tuyen

Programmation en Java Java et XML. NGUYEN Thi Minh Tuyen Programmation en Java Java et XML XML l'acronyme de «extensible Markup Language». permet d'échanger des données entres applica=ons hétérogènes car il peut modéliser et stocker des données de façon portable.

Plus en détail

XML - Semaine 6. XML - Semaine 6. Pierre Nerzic. février-mars 2016. 1 / 42 Pierre Nerzic

XML - Semaine 6. XML - Semaine 6. Pierre Nerzic. février-mars 2016. 1 / 42 Pierre Nerzic XML - Semaine 6 Pierre Nerzic février-mars 2016 1 / 42 Pierre Nerzic Le cours de cette semaine présente l API XML DOM permettant de produire et traiter un document XML : Principes, Création et modification

Plus en détail

Tutoriel Android Comment lire et écrire un fichier XML en utilisant DOM Romain Raveaux

Tutoriel Android Comment lire et écrire un fichier XML en utilisant DOM Romain Raveaux Tutoriel Android Comment lire et écrire un fichier XML en utilisant DOM Romain Raveaux Préambule... 2 Prérequis... 3 SAX vs DOM... 4 Lecture... 5 Liste de noeuds... 5 Les attributs... 5 Ecriture... 6 Création

Plus en détail

javascript : manipuler DOM

javascript : manipuler DOM javascript : manipuler DOM Université Lille 1 Technologies du Web javascript : manipuler DOM 1 au programme... 1 manipuler DOM Université Lille 1 Technologies du Web javascript : manipuler DOM 2 au programme...

Plus en détail

Les technologies XML. Cours 3 : Les API XML. Novembre 2013 - Version 4.0 -

Les technologies XML. Cours 3 : Les API XML. Novembre 2013 - Version 4.0 - Les technologies XML Cours 3 : Les API XML Novembre 2013 - Version 4.0-1 LES API POUR MANIPULER DES DOCUMENTS XML Les API XML sont : des librairies proposant un ensemble de composants logiciels facilitant

Plus en détail

Échange et mise à jourde documents XML via le Web p.1/46

Échange et mise à jourde documents XML via le Web p.1/46 Échange et mise à jour de documents XML via le Web Échange et mise à jourde documents XML via le Web p.1/46 CGI : Common Gateway Interface Principe : on déclenche une action (un programme) sur la machine

Plus en détail

XML DOM. Marc Chevaldonné marc.chevaldonne@u-clermont1.fr http://marc.chevaldonne.free.fr. Année scolaire 2010-2011

XML DOM. Marc Chevaldonné marc.chevaldonne@u-clermont1.fr http://marc.chevaldonne.free.fr. Année scolaire 2010-2011 XML DOM Marc Chevaldonné marc.chevaldonne@u-clermont1.fr http://marc.chevaldonne.free.fr Année scolaire 2010-2011 DOM - Qu est-ce que c est? DOM = Document Object Model API pour accéder et utiliser des

Plus en détail

Parsing des documents XML

Parsing des documents XML 75 Document XML Schéma XML XSLT SAX Parsing des documents XML Objectif: Analyse du document XML. Rôle: Vérifier la cohérence du document XML et transmettre à l application les informations utiles au traitement

Plus en détail

Programmation Web Avancée Parsers XML

Programmation Web Avancée Parsers XML 1/33 Programmation Web Avancée Parsers XML Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin,

Plus en détail

Programmation Web Avancée Parsers XML

Programmation Web Avancée Parsers XML 1/38 Programmation Web Avancée Parsers XML Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin,

Plus en détail

XML: Syntaxe, DOM/SAX et DTD Bernd Amann et Philippe Rigaux

XML: Syntaxe, DOM/SAX et DTD Bernd Amann et Philippe Rigaux 1 XML: Syntaxe, DOM/SAX et DTD Bernd Amann et Philippe Rigaux 2 XML (extensible Markup Language) 3 W3C et XML Le World Wide Web Consortium (W3C) URL: http://www.w3.org 400 partenaires industriels, parmi

Plus en détail

API Java pour XML. https://jaxp.dev.java.net/ www.sun.com/xml

API Java pour XML. https://jaxp.dev.java.net/ www.sun.com/xml API Java pour XML https://jaxp.dev.java.net/ www.sun.com/xml 2 SAX = Simple API for XML L'Interface SAX SAX (Simple API for XML) modèle simplifié d'événements développé par un groupe indépendant. Types

Plus en détail

Standard W3C pour HTML et XML Structure Objet pour représenter des documents. Interface pour naviguer à l intérieur du document SAX, DOM

Standard W3C pour HTML et XML Structure Objet pour représenter des documents. Interface pour naviguer à l intérieur du document SAX, DOM , Java est le meilleur langage pour XML VB, C#, C, Perl, Python etc. également support Unicode est complexe : Simple Api for Xml (dirigé par les événements, un noeud à la fois) : Document Object Model

Plus en détail

Programmation XML. Pour quoi faire? Format de stockage. Format d échange

Programmation XML. Pour quoi faire? Format de stockage. Format d échange Programmation XML Pour quoi faire? Format de stockage Plus puissant que les fichiers fixes Plus standard que les fichiers formatés Plus souple et plus «simple» qu une base de données Format d échange Entre

Plus en détail

DOM / SAX / JAXP. Module développement/ Conception XML. DOM / SAX Module XML / ESIAL 3A

DOM / SAX / JAXP. Module développement/ Conception XML. DOM / SAX Module XML / ESIAL 3A / JAXP Module développement/ Conception XML 1 Plan Général parser DOM SAX JAXP 2 Présentation générale Présentation générale DTD XML XML Conception Données Données XSL Amphi précédents XML : syntaxe DTD

Plus en détail

BDAV - APIs XML. BDAV - APIs XML. E.Coquery. emmanuel.coquery@liris.cnrs.fr http://liris.cnrs.fr/ ecoquery/

BDAV - APIs XML. BDAV - APIs XML. E.Coquery. emmanuel.coquery@liris.cnrs.fr http://liris.cnrs.fr/ ecoquery/ BDAV - APIs XML E.Coquery emmanuel.coquery@liris.cnrs.fr http://liris.cnrs.fr/ ecoquery/ DOM Document Object Model Modèle objet pour représenter les arbres XML et aussi plein d autres choses... événements,

Plus en détail

XML Introduction à DOM

XML Introduction à DOM XML Introduction à DOM Document Object Model Généralités Définition Le modèle objet de document de XML (XML DOM) définit une manière standard pour accéder et manipuler des documents XML Il présente un

Plus en détail

1 SAX et JDOM. Création de fichier. 3 Sortie XML. 4 Parser en XML. 5 Parcourir un document XML. 6 Filtrage d un document XML

1 SAX et JDOM. Création de fichier. 3 Sortie XML. 4 Parser en XML. 5 Parcourir un document XML. 6 Filtrage d un document XML Plan 1 SAX et JDOM Java Avance XML par JDOM Emmanuel ADAM LAMIH UMR CNRS 8530 Université de Valenciennes et du Hainaut-Cambrésis FRANCE 25 mars 2008 2 Création de fichier 3 Sortie XML 4 Parser en XML 5

Plus en détail

La technologie XML. Objectifs du Cours. Mieux comprendre l utilisation de la technologie XML pour la gestion des données sur le Web :

La technologie XML. Objectifs du Cours. Mieux comprendre l utilisation de la technologie XML pour la gestion des données sur le Web : La technologie XML Bernd Amann amann@cnam.fr Cnam La technologie XML / B. Amann et P. Rigaux p.1/159 Objectifs du Cours Mieux comprendre l utilisation de la technologie XML pour la gestion des données

Plus en détail

T.P. d initiation à XML

T.P. d initiation à XML T.P. d initiation à XML avec l IDE eclipse : manipulation en Java Axe ISI - Philippe Beaune et Laurent Vercouter Jeudi 9 novembre 2006 matin / 3h Résumé Ce T.P. consiste en la découverte de différentes

Plus en détail

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés

Plus en détail

christine.vanoirbeek@epfl.ch" Relational Database Object Database Files !" Un processeur XML est un outil (package, librairie,

christine.vanoirbeek@epfl.ch Relational Database Object Database Files ! Un processeur XML est un outil (package, librairie, DOCUMENTS MULTIMEDIA! Manipulation de documents! DOM & SAX" Manipulation de documents " import java.io.*;? import java.text.*; import javax.servlet.http.*; public class cvcollection {.. Accès Création

Plus en détail

Programmation XML. XML par l éxemple. Objectifs et plan du cours. Exemple : La fiche du film Gladiator. Bernd Amann. Objectifs:

Programmation XML. XML par l éxemple. Objectifs et plan du cours. Exemple : La fiche du film Gladiator. Bernd Amann. Objectifs: 1 3 Programmation XML Bernd Amann XML par l éxemple 2 4 Objectifs: Objectifs et plan du cours Apprendre les bases de XML Etudier et mettre en oeuvre deux langages (XPath et XSLT) conçues pour la programmation

Plus en détail

Thierry Templier. Programmation objet, DOM, Ajax, Prototype, Dojo, Script.aculo.us, Rialto. JavaScript. Arnaud Gougeon. pour le Web 2.

Thierry Templier. Programmation objet, DOM, Ajax, Prototype, Dojo, Script.aculo.us, Rialto. JavaScript. Arnaud Gougeon. pour le Web 2. JavaScript pour le Web 2.0 Programmation objet, DOM, Ajax, Prototype, Dojo, Script.aculo.us, Rialto Thierry Templier Arnaud Gougeon 4 Programmation DOM Avant la standardisation du DOM, chaque navigateur

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

PHP. Manipulation de XML avec DOM. A. Belaïd

PHP. Manipulation de XML avec DOM. A. Belaïd PHP Manipulation de XML avec DOM 1 DOM Introduction DOM est une API standard : Les méthodes et procédures de manipulation DOM sont exactement les mêmes dans tous les langages Vous pouvez passer d un langage

Plus en détail

XML Parseurs DotNet. XmlDocument

XML Parseurs DotNet. XmlDocument XML Parseurs DotNet XmlReader et XmlWriter XmlDocument Parseurs XML Espace de noms: System.XML XmlReader et XmlWriter (classes abstraites) Parseurs XML en avant uniquement. XmlReader Vérifie que le document

Plus en détail

Un peu de culture. Il y a plus que des liens de parenté entre Java et XML!

Un peu de culture. Il y a plus que des liens de parenté entre Java et XML! API Java pour XML 2 3 Un peu de culture XML a été développé par le XML Working Group formé sous les auspices du W3C en 1996. Il était présidé par Jon Bosak de Sun Microsystems. Il y a plus que des liens

Plus en détail

JDOM. Manipulation de XML avec JDOM et Java. A. Belaïd http://cynober.developpez.com/tutoriel/java/xml/jdom/

JDOM. Manipulation de XML avec JDOM et Java. A. Belaïd http://cynober.developpez.com/tutoriel/java/xml/jdom/ JDOM Manipulation de XML avec JDOM et Java 1 JDOM C est quoi? JDOM est une API du langage Java Permet de manipuler des donnés XML plus simplement qu'avec les API classiques Son utilisation est pratique

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

XML. Sommaire XML (ADO.NET)

XML. Sommaire XML (ADO.NET) 1 XML Sommaire XML... 1 1 Présentation... 2 2 Structure d'un document XML... 3 2.1 Constitution... 3 2.1.1 Instruction de traitement... 3 2.1.2 Commentaire... 3 2.1.3 Les noeuds... 3 2.2 Validité d'un

Plus en détail

INTRODUCTION. méta-langage

INTRODUCTION. méta-langage INTRODUCTION renault twingo Bic 1999 etc.. XML : extensible

Plus en détail

XML et arbre. Représentation d un document XML sous forme d arbre. Commençons par deux exemples... suivis des explications.

XML et arbre. Représentation d un document XML sous forme d arbre. Commençons par deux exemples... suivis des explications. XML et arbre Représentation d un document XML sous forme d arbre. Commençons par deux exemples... suivis des explications. Le texte de A Le texte de B

Plus en détail

INF 6450 GESTION DE L'INFORMATION AVEC XML Télé-université, Université du Québec à Montréal CORRIGÉ DES QUESTIONS PRÉPARATOIRES À L'EXAMEN

INF 6450 GESTION DE L'INFORMATION AVEC XML Télé-université, Université du Québec à Montréal CORRIGÉ DES QUESTIONS PRÉPARATOIRES À L'EXAMEN INF 6450 GESTION DE L'INFORMATION AVEC XML Télé-université, Université du Québec à Montréal CORRIGÉ DES QUESTIONS PRÉPARATOIRES À L'EXAMEN Question 1. Écrivez un programme en Java qui utilise l API DOM

Plus en détail

Résumé DTD. A- Définir des éléments complexes ( = éléments possédant des éléments fils)

Résumé DTD. A- Définir des éléments complexes ( = éléments possédant des éléments fils) DTD, Document Type Definition 1-Utilité de la DTD La DTD permet la définition de la STRUCTURE d un type de documents. C est une forme de grammaire qui va servir à spécifier les noms des éléments et la

Plus en détail

XML, DTD. Dan VODISLAV. Université de Cergy-Pontoise. Licence Informatique L3. Plan

XML, DTD. Dan VODISLAV. Université de Cergy-Pontoise. Licence Informatique L3. Plan XML, DTD Dan VODISLAV Université de Cergy-Pontoise Licence Informatique L3 Plan XML: pourquoi et comment Principes et caractéristiques de base Comparaison avec HTML et les BD relationnelles Le format XML

Plus en détail

" extensible Markup Language " XML

 extensible Markup Language  XML " extensible Markup Language " XML Sylvie Vignes, Département Informatique et Réseaux École Nationale Supérieure des Télécommunications 46, rue Barrault 75634 Paris cedex 13 Département Informatique et

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

Document Object Model

Document Object Model Document Object Model Fabrice Rossi 26 janvier 2003 Les exercices présentés dans ce document sont construits en partie grâce aux exercices de [4] et [5]. 1 Instructions spécifiques au CRIO UNIX Au début

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M1/M2 Informatique 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M1/M2 Informatique 2010-2011 1 / 48 Développement Java - XML Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M1/M2 Informatique 2010-2011 2 / 48 Plan Plan 1 Introduction 2 DOM 3 SAX 4

Plus en détail

Programmation des Applications Réparties. Parsers XML DOM et SAX

Programmation des Applications Réparties. Parsers XML DOM et SAX Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment

Plus en détail

CAHIER DES SPECIFICATIONS FONCTIONNELLES

CAHIER DES SPECIFICATIONS FONCTIONNELLES 2010/2011 INSTITUT SUP GALILEE CAHIER DES SPECIFICATIONS FONCTIONNELLES IHM XML O.N.E.R.A. Institut Sup Galilée O.N.E.R.A. Page 2 Sommaire I. Description du sujet... 4 II. Outils utilisés... 4 III. Description

Plus en détail

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés XHTML Les bases Jean-François Ramiara INP-ENM 04/10/2012 Toulouse 1 Généralités Jean-François Ramiara XML 2 jours Initiation à XML Contenu Cours Exercices Support PDF Horaires Tour de table 2 Sommaire

Plus en détail

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15 Table des matières Au sujet de l auteur 1 Introduction 3 édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe

Plus en détail

Support Ajax - Numéro de page / Statistique - Ajax. Asynchronous Javascript And XML. Denis Szalkowski Formateur Consultant http://www.dsfc.

Support Ajax - Numéro de page / Statistique - Ajax. Asynchronous Javascript And XML. Denis Szalkowski Formateur Consultant http://www.dsfc. Ajax Asynchronous Javascript And XML http://www.dsfc.net/ I. Présentation A. Définition Cette technologie s'insère dans un ensemble beaucoup plus large dénommé Web 2.0. Ajax signifie Asynchronous Javascript

Plus en détail

Programmation Java. Redéfinition de méthode (masquage)

Programmation Java. Redéfinition de méthode (masquage) Programmation Java Programmation objet avec Java Concepts plus avancés Christelle Urtado & Sylvain Vauttier Janvier 2013 Redéfinition de méthode (masquage) Une sous-classe peut redéfinir le code de méthodes

Plus en détail

par Philippe Poulard DOM et SAX 1 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard DOM et SAX 1 Philippe.Poulard@sophia.inria.fr Philippe Poulard 1 Philippe.Poulard@sophia.inria.fr Philippe Poulard Sommaire L'analyse XML DOM SAX DOM levels, DOM level 1 Principes de l'api Objets DOM Traitement des blancs Navigation, parcours, et mise à jour de l'arbre

Plus en détail

XML. Echange de données Syntaxe du XML DTD Java pour le XML. Lire avec la couche SAX Lire et Ecrire avec la couche DOM

XML. Echange de données Syntaxe du XML DTD Java pour le XML. Lire avec la couche SAX Lire et Ecrire avec la couche DOM XML Echange de données Syntaxe du XML DTD Java pour le XML Lire avec la couche SAX Lire et Ecrire avec la couche DOM Echange de données Intérêt d'une technologie pivot Un problème double, les système qui

Plus en détail

UPMC/Licence/Info/2I013 Pentodroid XML

UPMC/Licence/Info/2I013 Pentodroid XML UPMC/Licence/Info/2I013 Pentodroid XML Janvier 2017 1 Structure XML Extensible Markup Language héritier de SGML (Standard Generalize Markup Language) est un language formel de description de documents

Plus en détail

Capocchi Laurent Introduction XML(eXtensible Markup Language) XML et AJAX Sommaire XPath XML et AJAX XPath (XML Path Language) arbre noeuds d'axes

Capocchi Laurent Introduction XML(eXtensible Markup Language) XML et AJAX Sommaire XPath XML et AJAX XPath (XML Path Language) arbre noeuds d'axes node ancestor ancesor-or-self attribut child descendant descendant-or-self following namespace parent preceding self node function envreq() {... objrequete.opn('get','fichierxml1.xml',true);... document.getelementbyid(''reponse'').innerhtml

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Exploitation de bases de données relationnelles et orientées objet IFT287

Exploitation de bases de données relationnelles et orientées objet IFT287 Université de Sherbrooke Département d informatique Exploitation de bases de données relationnelles et orientées objet IFT287 Notes complémentaires et synthétiques Marc Frappier, Ph.D. professeur Avertissement

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Codage XML Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

DOM, SAX, JAXP, JDOM: Gestion de documents XML

DOM, SAX, JAXP, JDOM: Gestion de documents XML DOM, SAX, JAXP, JDOM: Gestion de documents XML Cycle de vie d un document XML Le cycle de vie du point de vue d une application: Buts : Le point sur le traitement et la gestion de documents XML Introduction

Plus en détail

XML, schémas, DOM. Dan VODISLAV. Université de Cergy-Pontoise

XML, schémas, DOM. Dan VODISLAV. Université de Cergy-Pontoise XML, schémas, DOM Dan VODISLAV Université de Cergy-Pontoise Plan XML Principes Syntaxe Schémas pour XML DTD XML Schema Compléments XML Espaces de noms DOM 2 XML: extensible Markup Language Langage de description

Plus en détail

PHP. Technologies XML. Université de Caen. DESS NAPI - Filière 2 - Module D3. Antoine WIDLÖCHER

PHP. Technologies XML. Université de Caen. DESS NAPI - Filière 2 - Module D3. Antoine WIDLÖCHER PHP Technologies XML DESS NAPI - Filière 2 - Module D3 Antoine WIDLÖCHER Université de Caen Plan de l exposé Introduction événementielle Utilisation d A. WIDLÖCHER 25 février 2004 diapo 1 sur 39 Plan de

Plus en détail

Fabrice Rossi. Université Paris-IX Dauphine

Fabrice Rossi. Université Paris-IX Dauphine Les API pour XML p. 1/65 Les API pour XML Fabrice Rossi http://apiacoa.org/contact.html Université Paris-IX Dauphine Le problème Les API pour XML p. 2/65 Comment manipuler un document XML dans un programme?

Plus en détail

Cours: BD et Environnement Distribuées

Cours: BD et Environnement Distribuées UNIVERSITÉ DE BOURGOGNE UFR Sciences et Techniques Cours: BD et Environnement Distribuées TP 4 - Mapping Objet Relationnel Préparé par: MATTA Elie et al. Copyright 2010-2011, eliematta.com. All rights

Plus en détail

Manipuler les donne es : XML et CSV

Manipuler les donne es : XML et CSV Open data : séquence n 2 Manipuler les donne es : XML et CSV Conditions Travail en groupe Durée : 2h La diffusion des données doit respecter un certains nombres de règles. Les données doivent être documentées

Plus en détail

INF8007 Langages de script

INF8007 Langages de script INF8007 Langages de script Introspection et parsage 1/27 INF8007 Langages de script Introspection et parsage Michel Desmarais Alexandre Spaeth Génie informatique et génie logiciel École Polytechnique de

Plus en détail

Solutions du chapitre 14

Solutions du chapitre 14 Solutions du chapitre 14 Traitement des exceptions 14.16 Sous quelles circonstances utiliseriez-vous l instruction suivante? catch ( Exception e ) { throw e; } Cette instruction sert à capturer toute exception

Plus en détail

3. API Java et XML. O.Curé [42 ]

3. API Java et XML. O.Curé [42 ] 3. API Java et XML Ouvrages recommandés : Java et XML 2 nd édition B. McLaughlin - Edition O'Reilly (Bibliothèque UMLV) XML in theory and practice C. Bates Edition Wiley O.Curé [42 ] Pourquoi Java et XML

Plus en détail

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30 INF 103 Langage JAVA Contrôle du 7 janvier 2015 Durée : 1h30 Nom : Prénom : Casier : Groupe :........ Écrire les réponses directement sur les feuilles du sujet dans les cases prévues à cet effet. Le barème

Plus en détail

Python et les modules pour XML

Python et les modules pour XML Python et les modules pour XML Institut Pasteur (infobio) pbouige@pasteur.fr Mars 004 (version.9) Méthodes d analyse et d extraction : éditeur expressions rationnelles Traitement de type événementiel :

Plus en détail

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant DOCUMENTATION TECHNIQUE Comparateur de documents XML SOMMAIRE 1 Introduction... 3 2 Langage et choix de programmation... 4 2.1 Le langage PHP...

Plus en détail

Gestion de l Information sur l Internet Exercices

Gestion de l Information sur l Internet Exercices Gestion de l Information sur l Internet Exercices Philippe Rigaux 22 septembre 2003 La plupart des exemples sur lesquels s appuient ces exercices sont sur le site : http://www.lri.fr/ rigaux/gii Vous pouvez

Plus en détail

Pondération : 1 2 3 4 5 6 total 20 pts 20 pts 15 pts 15 pts 20 pts 10 pts 100 pts. Nom : Prénom : Signature : Matricule :

Pondération : 1 2 3 4 5 6 total 20 pts 20 pts 15 pts 15 pts 20 pts 10 pts 100 pts. Nom : Prénom : Signature : Matricule : Université de Sherbrooke, Département d informatique IFT287 : Exploitation de bases de données, Examen final Professeur : Marc Frappier, Mardi 19 avril 2005, 9h00 à 12h00 Documentation permise. La correction

Plus en détail

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

Notions d héritage en Java

Notions d héritage en Java EILCO ING 1 - POO Java TP 5 2014/2015 Notions d héritage en Java L héritage est la capacité d une classe (la sous-classe) à hériter des membres (attributs et méthodes) d une autre classe (la super-classe).

Plus en détail

XML : l ASCII de demain

XML : l ASCII de demain Carrefour de l information XML : l ASCII de demain Philippe Mabilleau ing. 3 octobre 2002 Le langage XML Historique : De l ASCII à XML XML : Le langage XML : La programmation XML : Les transformations

Plus en détail

CRÉATION DES COMPTES UTILISATEURS

CRÉATION DES COMPTES UTILISATEURS Formation continue Projet tuteuré CRÉATION DES COMPTES UTILISATEURS MOD24 UVSQ SUJET Le contexte du projet est celui du lycée Paul Lapie relatif à l épreuve E4 de l examen du BTS SIO. Il s agit de l application

Plus en détail

Bases de la programmation orientée objet en Java

Bases de la programmation orientée objet en Java Bases de la programmation orientée objet en Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-33 Avant propos Difficultés...

Plus en détail

Module B9-1 : sensibilisation à l UML

Module B9-1 : sensibilisation à l UML Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes

Plus en détail

NFE204 - Bases documentaires et NoSQL

NFE204 - Bases documentaires et NoSQL NFE204 - Bases documentaires et NoSQL Partie XML Enseignant : Philippe Rigaux Équipe Vertigo Laboratoire CEDRIC Conservatoire National des Arts & Métiers, Paris, France Structuration de documents : XML

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

Soutenance de XML & BD. Yong Li

Soutenance de XML & BD. Yong Li Soutenance de XML & BD Yong Li Li Yong Professeur :H.Schellinx Introduction La relation de XML et Base de donnees les avantage les inconvients l' utlilisation par ses avantage Data versus Documents Data-Centric

Plus en détail

<http://cahiers.gutenberg.eu.org/fitem?id=cg_1999 33-34_155_0> Cahiers GUTenberg GUT LE DOCUMENT OBJECT MODEL (DOM) François Role, Philippe Verdret Cahiers GUTenberg, no 33-34 (1999), p. 155-171. Association

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

2. lancer (throw) une exception consiste à la signaler

2. lancer (throw) une exception consiste à la signaler Cours 7 Exceptions 1 1. Une exception est un signal qui indique que quelque chose d'exceptionnel (par exemple une erreur) s est produite qui interrompt le flot d exécution normal du programme 2. lancer

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 6 : JDBC : ou comment lier ORACLE avec Java 1ère partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Introduction 2 les étapes de la connexion

Plus en détail

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions Arbres binaires Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions FMIN220 Structures de données Université de Montpellier 2015 FMIN220 (UM)

Plus en détail

XML. Nicolas Singer. Maître de conférence, université Champollion

XML. Nicolas Singer. Maître de conférence, université Champollion XML Nicolas Singer Maître de conférence, université Champollion XML? Langage de description de documents électroniques : Pour stocker et échanger des documents Par extension, pour représenter tout type

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

PHP5. Manipulation de XML avec DOM. A. Belaïd

PHP5. Manipulation de XML avec DOM. A. Belaïd PHP5 Manipulation de XML avec DOM 1 DOM Introduction Nous avons vu une classe simplexml qui permet de manipuler un document XML Cette classe, bien que simple d emploi, est très spécifique à PHP 5 DOM est

Plus en détail

II- Validation d'un document XML. Prof. M.D. RAHMANI Technologies XML Master IT 2013-2014 1

II- Validation d'un document XML. Prof. M.D. RAHMANI Technologies XML Master IT 2013-2014 1 II- Validation d'un document XML DTD (Document Type Definition) 1 Validation d'un document XML par une DTD Document XML valide Types de DTD (interne, externe) Déclarations d'éléments Déclaration d'attributs

Plus en détail

PHP et XML. Traitements de XML

PHP et XML. Traitements de XML PHP et XML XML et PHP 1 Traitements de XML Deux approches pour manipuler des documents XML: Approche DOM: Utilise un analyseur (Parser) qui transforme le document XML en structure d'arbre. Il faut parcourir

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

POO LES EXCEPTIONS LES EXCEPTIONS

POO LES EXCEPTIONS LES EXCEPTIONS CHAPITRE 7 : LES EXCEPTIONS Objectifs spécifiques 1. Introduire la notion d exception, les règles d utilisation et de définition des exceptions. 2. Distinguer entre les exceptions prédéfinies et les exceptions

Plus en détail

Plan du cours. Syntaxe abstraite. Actions sémantiques Exemple : Analyseur d expressions arithmétiques Arbres de syntaxe.

Plan du cours. Syntaxe abstraite. Actions sémantiques Exemple : Analyseur d expressions arithmétiques Arbres de syntaxe. Plan du cours Syntaxe abstraite Martin Odersky 21 et 22 novembre 2005 version 1.0 1 2 3 Syntaxe abstraite Martin Odersky 1 de 31 Syntaxe abstraite Martin Odersky 2 de 31 Un analyseur syntaxique fait généralement

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 1 / 87 Développement Web - XML, DOM, XHTML Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 2009 2 / 87 Plan Plan 1 Rappels SGML, XML, XSL 2 Grammaire et DTD

Plus en détail

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites Université Paris Diderot JAVA ISIFAR Année 2008-2009 TP n 7 - Correction Exceptions et Classes Abstraites Exercice 1 [Utilisation des Exceptions] La méthode parseint est spécifiée ainsi : public static

Plus en détail

ENSTA IN204 Introduction à JAVA

ENSTA IN204 Introduction à JAVA Ecole Nationale Supérieure de Techniques Avancées (ENSTA) -http://www.ensta.fr ENSTA IN204 Introduction à JAVA Olivier Sigaud LIP6/AnimatLab olivier.sigaud@lip6.fr 01.44.27.88.53 Ce document est mis à

Plus en détail