et son environnement Étude de cas : fiche BU (1)

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "et son environnement Étude de cas : fiche BU (1)"

Transcription

1 et son environnement PARTIE 1/3 Présentation de la norme XML 1.0 Définition de Type de Document Introduction aux Schémas XML 1 Jérôme Lehuen - version du 15/09/13 Étude de cas : fiche BU (1) Exemple de requête envoyée au serveur d une bibliothèque : 2

2 Étude de cas : fiche BU (2) Code HTML correspondant à cette fiche : 3 Étude de cas : fiche BU (3) Constat sur le document obtenu : Difficile d identifier les informations relevantes dans un tel document La structure logique du document et sa présentation ne sont pas dissociées Le modèle HTML associe étroitement la structure, le contenu et la présentation Le document obtenu n est ni portable, ni exploitable par un logiciel Pour être exploitable, le document obtenu doit tout d abord être analysé Le modèle HTML n est pas conçu en fonction d une quelconque réutilisabilité 4 Contenu informatif de cette fiche : Les auteurs de ce livre sont : Grigori Medvedev (auteur principal) Andrei Dimitrievitch Sakharov (collaborateur) Laetitia Lys (collaborateur) Le titre de ce livre est «La Vérité sur Tchernobyl» L éditeur de ce livre est «Albin Michel» etc.

3 Étude de cas : fiche BU (4) Construction d une représentation arborescente : Les noeuds sont : livre, auteur, collaborateur, titre, éditeur, etc. Les relations entre les noeuds sont : Un livre possède des auteurs, un titre, un éditeur, etc. Parmi les auteurs, il y a un auteur principal et des collaborateurs Les relations entre les noeuds et les feuilles sont : L auteur principal du livre est Grigori Medvedev Le titre du livre est La Vérité sur Tchernobyl 5 livre auteurs titre La Vérité sur Tchernobyl auteur principal collaborateur collaborateur Grigori Medvedev Andrei Dimitievitch Sakharov Laetitia Lys Étude de cas : fiche BU (5) Passage à un formalisme de type texte balisé : La relation «B est le fils de A» se note <A><B> </B></A> <livre> La relation «xxxxxx est un B» se note <B>xxxxxx</B> <auteurs> </auteurs> <principal>grigori Medvedev</principal> <collaborateur>andrei Dimitrievitch Sakharov</collaborateur> <collaborateur>laetitia Lys</collaborateur> <titre>la Vérité sur Tchernobyl</titre> <date>1990</date> <editeur>albin Michel</editeur> <collection>domaine Russe: </collection> <pagination>318</pagination> <isbn> </isbn> </livre> 6

4 XML (extensible Markup Language) Prise en compte des besoins : Pour optimiser la portabilité d un document, il est primordial que sa structure, son contenu informatif et sa mise en forme soit clairement dissociés et identifiables permettre la réutilisation, l indexation, la recherche, la transformation, etc. pouvoir visualiser les informations quelque soit le terminal employé Prise en compte de l existant : Des «standards» spécifiques existent dans plusieurs domaines : Gestion documentaire : SGML + DTD + DSSL Publication sur le web : HTML + CSS Formatage de texte, typographie : LaTeX, RTF, PDF Ces standards ne présentent pas un niveau de généricité satisfaisant Constitution en 1996 du XML Working Group : Impulsé et présidé par Jon Bosak de la société Sun Microsystems Sous les bons auspices du W3C (World Wide Web Consortium) 7 La genèse d XML (1) GML (1970) IBM (Goldfarb, Mosher & Lorie) SGML (1986) Normalisation ISO 8879 Recherches sur les systèmes de gestion de l'information juridique Normalisation de GML 8 HTML (1990) Recommandation W3C XHTML (1998) Recommandation W3C XML (1998) Recommandation W3C et HTML devient une instance de XML et l aventure continue

5 La genèse d XML (2) Le modèle de référence : SGML Standard : normalisé depuis 1986 (ISO 8879) Fondé sur des technologies éprouvées (sérialisation, parsing, etc.) Generalized : langage généraliste de haut niveau d abstraction Utilisé dans le monde de la gestion documentaire et de la publication Permet d établir une distinction claire entre l information (mots, images, etc.) et la présentation de l information (polices, couleurs, organisation, etc.) Markup : fondé sur la définition et l utilisation de balises Syntaxe permissive (balises non refermées, attributs vides, etc.) Language : décrit des informations relatives au contenu du document Repose sur la définition de structures (DTD) pour normaliser la rédaction 9 Inconvénients de SGML (que XML doit corriger) : Grande complexité de la syntaxe (raccourcis, omissions, ambiguïtés) Processeurs complexes à écrire en raison du laxisme du formalisme Orienté gestion électronique de document (GED) plutôt que «données» La genèse d XML (3) HTML (HyperText Markup Language) est un langage dédié : Application de SGML pour la présentation de documents sur le web La syntaxe (DTD) est «câblée» dans les applications (navigateurs) HTML est permissif : les navigateurs sont codés pour afficher à tout prix HTML est empoisonné par la course aux extensions entre navigateurs La vocation de XML n est pas de se substituer à HTML : Structuration versus présentation HTML répond à la question comment présenter des données? XML répond à la question comment structurer des données? Fond versus forme HTML s intéresse à la forme XML s intéresse au fond XML et HTML sont complémentaires : L évolution du web va vers une séparation du fond et de la forme Il faudra conserver un langage de mise en forme style HTML 10

6 La genèse d XML (4) Les principales normes du W3C datent du début des années 2000 : XML 1.0 : Socle de base XHTML : Reformulation des éléments HTML 4.01 en éléments XML XSLT : Langage de manipulation (à base de règles) de documents XML Xpath : Localisation de groupes de nœuds dans un document XML Xquery : Langage de requête dans des bases de données XML XML Schema : Définition en XML de modèles de documents XML Namespaces : Préfixation pour les éléments et attributs synonymes SAX (Simple API for XML) : API orienté événement (tout langages) DOM (Document Object Model) : API orienté objet (tout langages) CSS2 : Définition de feuilles de style pour les documents XML Xinclude / Xpointer / Xlink : Gestion les liens et les inclusions etc. 11 La galaxie XML 12

7 Notion de méta-modèle Au fait, c est quoi un «méta-modèle»? Méta-modèle XML Langage XML Un ensemble de règles syntaxiques très générales modèle générique est une instance du méta-modèle XML Un lexique et un ensemble de contraintes d organisation (DTD) modèle de document Exemples : XHTML, WML, RDF, SVG, etc. est une instance d un modèle de document 13 Document XML Des informations inscrites dans un fichier (ou un flot de données) structuré selon une DTD donnée Caractéristiques d XML (1) Un document (ou fichier) XML : est structuré de façon arborescente Les nœuds contiennent l information (un nœud est défini par une balise) La racine est le point d entrée (la racine est défini par la première balise) est caractérisé par son état Il est «bien formé» lorsque sa structure respecte la syntaxe XML Il est «valide» lorsqu en plus, il respecte un modèle de document (DTD) 14 La syntaxe XML comprend des règles strictes : Dans un document XML bien formé (well-formed) Il doit y avoir une balise racine (qui englobe toutes les autres) Toute balise ouvrante doit être associée avec une balise fermante Il ne doit pas y avoir d entrelacement de balises : <a><b></a></b> La casse (majuscules/minuscules) doit être respectée (case sensitive) Les noms des attributs doivent être notés en minuscule Les valeurs des attributs doivent être notés entre guillemets ou apostrophes

8 Caractéristiques d XML (2) Les balises ne sont pas prédéfinies en XML : Le concepteur d un document doit : Définir les balises utilisées dans son document (ainsi que leur sémantique) Définir ou préciser le modèle de son document (organisation des balises) Définir les types des données contenues dans son document Toutes ces spécifications définissent un type de document : Un document XML est souvent associé à une DTD Une DTD permet de valider un document XML (rôle du parseur) Un document valide respecte sa DTD 15 Aide à la conception et à la rédaction de documents XML : Le concepteur et le rédacteur disposent d un environnement logiciel : Éditeurs, parseurs validants, processeurs, navigateurs, etc. Sites web dédiés, FAQ, forums, listes de diffusion, etc. Environnement logiciel Les éditeurs et environnements de développement XML : Permettent d éditer facilement les documents XML et de les manipuler : Du simple éditeur en mode texte à l environnement graphique complexe Il est souhaitable que l éditeur puisse valider un document par DTD ou XSD XML Notepad, XML Writer, XML Spy, XMLmind, Stylus Studio, oxygen, Jaxe 16

9 Des éléments et des attributs (1) Les données d un document XML sont : Soit encadrées par des balises ouvrantes et fermantes : <balise> </balise> (cette structure est définie sous le nom d élément) Les éléments peuvent contenir du texte ou d autres éléments (éléments fils) Les éléments vides sont permis : <balise/> équivaut à <balise></balise> Un document comporte un élément «racine» qui contient tous les autres Soit placées à l intérieur des balises ouvrantes : <balise attrib="valeur"> (attrib est un attribut qui a pour valeur "valeur") Qualifie l élément indépendamment de son contenu (identifications, liens ) On peut insérer autant de paires attribut-valeur que l on veut Soit définies sous forme d entités (constantes) : &entity; (cette notation renvoie à une constante préalablement définie) Une entité peut représenter également un fichier XML en entier Un fichier XML peut contenir des fichiers XML externes Plusieurs unités sont prédéfinis dans la norme (comme en HTML) : & (&) < (<) > (>) &apos; ( ) " ( " ) é (é) 17 Des éléments et des attributs (2) Guillemets ou apostrophes? Les guillemets ou les apostrophes peuvent être utilisés indifféremment : <personne sexe="féminin"> <personne sexe='féminin'> On préfèrera les guillemets mais on utilisera les apostrophes lorsque la valeur de l attribut contient lui-même des guillemets : 18 <personne nom='georges "Dobeliou" Bush'> Éléments ou attributs? Les données peuvent être stockées dans des éléments ou des attributs L information reste la même, la syntaxe change (voir exemple suivant) Il y a les partisans des éléments et les partisans des attributs Il n y a pas de règle stricte, c est plutôt une question de bon sens

10 Des éléments et des attributs (3) Éléments ou attributs? (suite) Ces deux codes véhiculent exactement les mêmes informations : <personne sexe="féminin"> <prénom>amélie</prénom> <nom>poulain</nom> </personne> <personne> <sexe>féminin</sexe> <prénom>amélie</prénom> <nom>poulain</nom> </personne> 19 Arguments en faveur des attributs : La DTD donne un meilleur contrôle sur le type et les valeurs Établissent une relation plus «étroite» avec leur père que les éléments Arguments en faveur des éléments : Plus simple de les repérer et de les modifier dans un document Possible d appliquer des styles CSS aux éléments, pas aux attributs Et surtout, ON PEUT DÉCOMPOSER L INFORMATION DES ÉLÉMENTS Des éléments et des attributs (4) Éléments ou attributs? (suite) <note date=" "> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note> <note> <date> </date> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note> 20 <note day="01" month="11" year="2001"> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note> <note> <date> <day>01</day> <month>11</month> <year>2001</year> </date> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note>

11 Des éléments et des attributs (5) Éléments ou attributs? (suite) Bien sûr, on peut aussi tout mettre dans des attributs : <note day="01" month="11" year="2001" to="pierre" from="marie" header="..." body="..."/> On perd une dimension de XML : la hiérarchisation des informations On perd notamment l information : date = day + month + year 21 Les attributs peuvent «contextualiser» le texte de l élément : <prix devise="euros">200</prix> Les attributs peuvent contenir des identifiants uniques : <note ID="REF_3051">... </note> Autres notations (1) La déclaration de version et de codage (optionnel mais conseillé) : Permet de préciser la version de XML et une norme de codage Les codage qui permettent d utiliser les accents sont ISO et UTF-8 <?xml version="1.0" encoding="utf-8"?> <note>... </note> 22 La déclaration de type de document (optionnel mais conseillé) : Permet de déclarer une grammaire qui «valide» la structure XML Indispensable si on veux être certain que le document soit vérifiable Le nom de la racine du document doit concorder avec le nom du DOCTYPE <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note SYSTEM "note.dtd"> <note>... </note>

12 Autres notations (2) La déclaration de feuille de style (optionnel) : Contient les informations de présentation ou de transformation Un fichier XSL contient des règles d extraction et de transformation Indispensable pour publier les données en HTML (par exemple) <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="note.xsl"?> <!DOCTYPE note SYSTEM "note.dtd"> <note>... </note> 23 Les lignes de commentaire : Ignorées par les parseurs et processeurs XML <?xml version="1.0" encoding="utf-8"?>... <!-- Ceci est un commentaire --> Autres notations (3) Les sections CDATA (character data) : Permet de placer des caractères qui ne seront pas interprétés Tous les caractères sont reproduits «littéralement» Très utile lorsque les données contiennent des caractères < et & <?xml version="1.0" encoding="utf-8"?>... <msxsl:script language="jscript" implements-prefix="user"> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </msxsl:script> 24

13 Introduction aux DTD (1) Définition de la DTD (Définition de Type de Document) : Un document XML peut être associé à une DTD qui décrit la structure d une classe de documents (structure générique / modèle) : Contraintes sur les éléments : noms, séquence, hiérarchie Contraintes sur les attributs : noms, types de données Une DTD est une grammaire non contextuelle dont les règles ont des expressions régulières dans la partie droite Exemple de DTD : 25 <!ELEMENT note (to,from,header,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> La ligne 1 défini un élément note qui contient quatre sous-éléments (ou éléments fils) : to, from, header et body (dans cet ordre) Les lignes 2 à 5 définissent ces quatre sous-éléments de type #PCDATA Introduction aux DTD (2) Où trouver la DTD d un document XML? Soit dans le document (DTD embarquée) soit à côté (DTD externe) : <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note [ <!ELEMENT note (to,from,header,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note>... </note> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note SYSTEM "note.dtd"> <note>... </note> <!ELEMENT note (to,from,header,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> 26 Soit une partie dans le document et une autre à côté (DTD mixte) : <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note SYSTEM "note.dtd" [ <!ENTITY notes SYSTEM "notes.xml"> ]> <note> &notes;... </note>

14 Déclaration des éléments (1) Éléments vides (ne contiennent ni sous-élément, ni texte) : Syntaxe : <!ELEMENT nom-élément EMPTY> Exemple : <!ELEMENT séparateur EMPTY> Codage XML : <séparateur/> Éléments ayant tout type de contenu : 27 Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément ANY> <!ELEMENT date ANY> <date>... </date> Peut contenir n importe quelle combinaison de données analysables par le processeur XML ; c est à dire que tous les éléments sont autorisés Assez utile lorsque la DTD est laxiste ou en cours de définition Déclaration des éléments (2) Éléments contenant uniquement du texte : Syntaxe : <!ELEMENT nom-élément (#PCDATA)> Exemple : <!ELEMENT from (#PCDATA)> Codage XML : <from>marie</from> Éléments contenant une séquence de sous-éléments : 28 Syntaxe : <!ELEMENT nom-élément (e1, e2, e3,... )> Exemple : Codage XML : <!ELEMENT date (day, month, year)> <date> <day>... </day> <month>... </month> <year>... </year> </date>

15 Déclaration des éléments (3) Éléments contenant un ou plus éléments de même nom : Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils+)> <!ELEMENT destinataires (personne+)> <destinataires> <personne>... </personne> <personne>... </personne> </destinataires> Éléments contenant zéro ou plus éléments de même nom : 29 Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils*)> <!ELEMENT destinataires (personne*)> <destinataires> </destinataires> Déclaration des éléments (4) Éléments contenant zéro ou un élément : Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils?)> <!ELEMENT note (to, from, header?, body) <note> <to>... </to> <from>... </from> <body>... </body> </note> 30 Éléments contenant un élément ou un autre (disjonction) : Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils-1 nom-fils-2)> <!ELEMENT note (to, from, (header body))> Voir exemple précédent

16 Déclaration des éléments (5) Éléments à contenu mixte (texte et balises) : Syntaxe : <!ELEMENT nom-élément (#PCDATA élément... )> Exemple : Codage XML : <!ELEMENT body (#PCDATA strong)*> <!ELEMENT strong (#PCDATA)> <body> RV le <strong>mardi 5 juin</strong> à 10h </body> Le type #PCDATA doit être positionné en tête de déclaration 31 Déclaration des modèles de contenu (synthèse) : A un exactement A? zéro ou un A* zéro ou plus A+ au moins un A B A ou B A, B A suivi de B ( A, B )+ A suivi de B au moins une fois #PCDATA contenu textuel ANY contenu non défini EMPTY contenu vide Déclaration des attributs (1) Syntaxe de déclaration des attributs : <!ATTLIST nom-élément [ nom-attr type-attr valeur-défaut ]+ > CDATA Uniquement du texte (character data) ID Identificateur unique (ne peux pas être dupliqué dans le fichier XML) IDREF(S) Référence(s) à identificateur(s) de type ID (séparateur = blanc) ENTITY(IES) Référence(s) à entité(s) définie(s) dans la DTD (séparateur = blanc) NMTOKEN(S) Un seul mot (sans blancs) NOTATION Identification de format de données non-xml (NDATA) peu utilisé (a b...) Type énuméré (doit prendre l une des valeurs énumérées) 32 #IMPLIED #REQUIRED #DEFAULT #FIXED La valeur de l attribut n est pas obligatoire La valeur de l attribut est obligatoire L attribut possède une valeur par défaut : #DEFAULT "valeur" La valeur de l attribut est fixée à l avance : #FIXED "valeur"

17 Déclaration des attributs (2) Attributs de type CDATA (texte libre) : Exemple : Codage XML : <!ELEMENT poème (#PCDATA)> <!ATTLIST poème titre CDATA #REQUIRED auteur CDATA #REQUIRED> <poème titre="chanson d Automne" auteur="verlaine"> Les sanglots longs des violons de l automne... </poème> 33 Attributs de type NMTOKEN (mot sans espaces) : Des lettres, des chiffres, et les symboles [. ] [ - ] [ _ ] [ : ] Exemple : Codage XML : <!ELEMENT image EMPTY> <!ATTLIST image src NMTOKEN #REQUIRED hauteur NMTOKEN #REQUIRED largeur NMTOKEN #REQUIRED> <image src="logo.gif" hauteur="60" largeur="60"/> Déclaration des attributs (3) Attributs de types ID et IDREF (identificateur unique) : Exemple : Codage XML : <!ELEMENT group (student)*> <!ELEMENT student (#PCDATA)> <!ATTLIST student ident ID #REQUIRED tutor IDREF #IMPLIED> <group> <student ident="s30">wallace</student> <student ident="s31" tutor="s30">gromit</student> </group> Attribut de type énuméré (avec valeur par défaut) : 34 Exemple : Codage XML : <!ELEMENT ToDoList (tache)*> <!ELEMENT tache (#PCDATA)> <!ATTLIST tache statut ( ) "0"> <todolist> <tache statut="2">tâche avec statut 2</tache> <tache>tâche avec statut 0</tache> </todolist>

18 Déclaration des entités (1) Que sont les entités? Ce sont des «raccourcis» vers des portions de code (XML ou DTD) Ces portions de code vont du simple caractère au document complet Pourquoi utiliser des entités? Pour définir des caractères difficile ou impossible à saisir Pour éviter des saisies fréquentes et fastidieuses : <!ENTITY E-aig "É"> <!ENTITY seuil "<em>&e-aig;ditions du Seuil</em>"> 35 &seuil; <em>éditions du seuil</em> Les trois codages XML suivants sont équivalents : <document> écrit en français </document> <document> écrit en français </document> <!DOCTYPE document [ <!ENTITY e-aig "é"> <!ENTITY c-ced "ç"> ] <document> &e-aig;crit en fran&c-ced;ais </document> Déclaration des entités (2) Pourquoi utiliser des entités? (suite) Pour créer des documents XML composites : <!ENTITY poème1 SYSTEM "dormeur-du-val.xml"> <!ENTITY poème2 SYSTEM " <document>&poème1;&poème2;</document> Pour factoriser des portions de définition dans une DTD : 36 <!ENTITY % identité "nom, prénom"> <!ENTITY % références "%identité;, téléphone?"> <!ELEMENT personne (%références;)> <!ELEMENT étudiant (%références;, promotion)> <!ELEMENT professeur (%références;, spécialité)> base.dtd <étudiant> <nom>dupont</nom> <prénom>pierre</prénom> <promotion>deug MIAS </promotion> </étudiant>

19 Déclaration des entités (3) Pourquoi utiliser des entités? (suite) Pour écrire des DTD en réutilisant des DTD existantes : <!ENTITY % base SYSTEM "base.dtd"> %base; <!ELEMENT base-de-données (étudiants,professeurs)> <!ELEMENT étudiants (étudiant)*> <!ELEMENT professeurs (professeur)*> On peut importer ainsi autant de DTD (compatibles) qu on le souhaite : 37 <!ENTITY % dtd1 SYSTEM "dtd1.dtd"> <!ENTITY % dtd2 SYSTEM "dtd2.dtd"> <!ENTITY % dtd3 SYSTEM "dtd3.dtd"> %dtd1; %dtd2; %dtd3; Validation des documents (1) Rappels : Un document XML est bien formé s il respecte la norme XML 1.0 Un document XML est valide si sa structure correspond à une DTD Exemple de fichier XML avec DTD interne : <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to, from, header, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>tove</to> <fro>jani</from> <header>reminder</header> <body>don t forget me this weekend!</body> </note> 38

20 Validation des documents (2) Utilisation d un parseur validant en ligne de commande : On valide le document une fois édité grâce à un programme externe Parseur «xmllint» présent dans toute bonne distribution Unix / Mac : > xmllint --noout -valid note.xml Utilisation d un éditeur qui intègre un parseur validant : Le document est validé à la demande ou en continu pendant l édition Message affiché par le petit «XML Notepad» de Microsoft (gratuit) : 39 Validation des documents (3) Appel du parseur MSXML dans Internet Explorer : Solution évolutive dont voici la base en Javascript : <html> <body> <script type="text/javascript"> var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async = false; xmldoc.validateonparse = true; xmldoc.load("essai.xml"); err = xmldoc.parseerror; if (err.errorcode == 0) document.write("<br>le document est valide"); else { document.write("<br>error Code: " + err.errorcode); document.write("<br>error Reason: " + err.reason); document.write("<br>error Line: " + err.line); } </script> </body> </html> 40

21 Validation des documents (4) Message affiché dans la fenêtre du navigateur : 41 Utilisation d un environnement de développement : Solution permettant d éditer, de valider, de visualiser, de transformer Agréable pour les amateurs des environnements graphiques Selon les environnements, on peut choisir un parseur externe Attention : beaucoup de ces environnements utilisent MSXML de façon transparente pour l utilisateur Validation des documents (5) Utilisation de librairies Java comme JAXP ou XERCES : import org.xml.sax.xmlreader; import org.apache.xerces.parsers.saxparser; import org.xml.sax.saxexception; import org.xml.sax.saxparseexception; import java.io.ioexception; public class SAXParser { public void analyser(string uri) { try { XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setfeature(" true); parser.parse(uri); } catch (IOException e) { // impossible de lire le document XML 42 } } } catch (SAXException e) { // impossible de créer une instance de XMLReader // ou erreur durant l analyse du document XML }

22 Des DTD aux schémas XML (1) Pourquoi encore un nouveau formalisme? Limites des DTD : Syntaxe non-xml (héritage de SGML vieux des années 80) Pas de typage des contenus et typage limité des valeurs d attributs Pas de modélisation partielle (la modélisation doit être complète) Pas de prise en charge des espaces de nommage (namespaces) 43 Objectifs des Schémas XML : Reprendre les acquis des DTD en termes de définition de modèles Permettre des contraintes forte sur des classes de documents (typage) Permettre des contraintes incomplètes Unifier le formalisme (un Schéma XML est un document XML) Les DTD sont appelées à disparaître au profit des Schémas XML? La syntaxe des Schémas XML est néanmoins plus difficile à maîtriser Des DTD aux schémas XML (2) Exemple de DTD : <!ELEMENT note (to, from, header, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> Schéma XML (XSD) équivalent : 44 <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="note"> <xs:complextype> <xs:sequence> <xs:element name="to" minoccurs="1" maxoccurs="1" type="xs:string"/> <xs:element name="from" minoccurs="1" maxoccurs="1" type="xs:string"/> <xs:element name="header" minoccurs="1" maxoccurs="1" type="xs:string"/> <xs:element name="body" minoccurs="1" maxoccurs="1" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

23 Des DTD aux schémas XML (3) Il reste beaucoup de caractéristiques et de fonctionnalités : Utilisation d opérateurs comme les listes et les unions Utilisation d expressions régulières proches des regexp usuelles Définition de types complexes utilisant des déclarations d éléments Définition de types abstraits et de classes d équivalence Mécanismes de dérivation des types par extension ou restriction Mécanisme de contrôle des liens proche des ID/IDREFS des DTD Mécanisme de factorisation des modèles de contenu 45 État des recommandations du W3C : Page de garde de XML Schema ( XML Schema Part 0 : Primer ( XML Schema Part 1 : Structures ( XML Schema Part 2 : Datatypes ( Écriture des schémas XML (1) Racine d un schéma (avec inclusion) : <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:include schemalocation=" </xs:schema> Déclaration d éléments : 46 <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="livre" type="type-livre"/> <xs:element name="titre" type="xs:string"/> </xs:schema> L élément livre est du type type-livre (type complexe défini par l utilisateur) Un élément de type complexe peut contenir des fils ou posséder des attributs L élément titre est du type xs:string (type simple prédéfini de XML Schema) Un élément de type simple ne peut comporter ni attributs, ni éléments fils Il existe de nombreux types simples prédéfinis, mais il est également possible d en «dériver» de nouveaux

24 Écriture des schémas XML (2) Déclaration d attributs : <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="livre" type="type-livre"/> <xs:element name="titre" type="xs:string"/> <xs:complextype name="type-livre">.../... <xs:attribute name="isbn" type="xs:string" use="required"/> </xs:complextype> </xs:schema> 47 A la différence des éléments, les attributs ne sont que de type simple Doivent être déclarés après les définitions d un Comme dans une DTD, un attribut peut avoir une contrainte d occurrence #REQUIRED DTD use= default= "required" "blabla #REQUIRED "required" "blabla" #IMPLIED "optional" "blabla #IMPLIED "optional" "blabla" Écriture des schémas XML (3) Attributs de type énuméré : On utilise la notion de restriction de type (détaillée plus loin) : <xs:simpletype name="type-jour"> <xs:restriction base="xs:string"> <xs:enumeration value="lundi"/> <xs:enumeration value="mardi"/>.../... </xs:restriction> </xs:simpletype>.../... <xs:attribute name="jour" type="type-jour" use="required"/> Déclaration d éléments à contenu simple avec attributs : On utilise la notion d extension de type (détaillée plus loin) : <xs:complextype name="type-titre"> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="lang" type="xs:string"/> </xs:extension> </xs:simplecontent> </xs:complextype> 48

25 Écriture des schémas XML (4) Types simples prédéfinis : 49 Écriture des schémas XML (5) Types simples définis par l utilisateur : Restriction sur un intervalle de valeurs : <xs:simpletype name="type-age"> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="100"/> </xs:restriction> </xs:simpletype> Restriction sur un ensemble de valeurs : <xs:simpletype name="type-sexe"> <xs:restriction base="xs:string"> <xs:enumeration value="homme"/> <xs:enumeration value="femme"/> </xs:restriction> </xs:simpletype> Facettes applicables au type de base 50 <xs:restriction base="xs:string"> <xs:pattern value="homme femme"/> </xs:restriction> On reviendra sur pattern

26 Écriture des schémas XML (6) Restriction sur la longueur d une chaîne : <xs:simpletype name="type-password"> <xs:restriction base="xs:string"> <xs:length value="8"/> </xs:restriction> </xs:simpletype> Restriction sur une expression régulière : <xs:minlength value="5"/> <xs:maxlength value="8"/> 51 <xs:simpletype name="type-isbn"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{10}"/> </xs:restriction> </xs:simpletype> <xs:simpletype name="type- "> <xs:restriction base="xs:string"> <xs:pattern </xs:restriction> </xs:simpletype> Écriture des schémas XML (7) Listes (suite de types simples) : <xs:simpletype name="type-numéro"> <xs:list itemtype="xs:unsignedbyte"/> </xs:simpletype> <xs:simpletype name="type-numéro"> <xs:list> <xs:simpletype> <list restriction base="xs:unsignedbyte"/> </xs:simpletype> </xs:list> </xs:simpletype> 52 L avantage de cette seconde méthode est de pouvoir ajouter des facettes On retrouve aussi les types NMTOKEN, ENTITIES et IDREFS des DTD Unions (associer plusieurs types simples) : <xs:simpletype name="type-numéroetendu"> 18 <xs:union membertype="xs:string type-numéro"/> Pompiers </xs:simpletype>

27 Écriture des schémas XML (8) Types complexes : Il y a 4 sortes d éléments complexes : Les éléments vides Les éléments qui contiennent seulement d autres éléments Les éléments qui contiennent seulement du texte et des attributs Les éléments qui contiennent du texte et d autres éléments Séquences d éléments : <xs:complextype name="type-personne"> <xs:sequence> <xs:element name="nom" type="xs:string"/> <xs:element name="prénom" type="xs:string"/> <xs:element name="datedenaissance" type="xs:date"/> </xs:sequence> </xs:complextype> 53 Équivalent à la déclaration d éléments suivante dans une DTD : <!ELEMENT personne (nom, prénom, datedenaissance)> Écriture des schémas XML (9) Choix d éléments : <xs:complextype name="type-personne"> <xs:sequence> <xs:element name="nom" type="xs:string"/> <xs:element name="prénom" type="xs:string"/> <xs:element name="datedenaissance" type="xs:date"/> <xs:choice> <xs:element name="adresse" type="xsd:string"/> <xs:element name="adress " type="xsd:string"/> </xs:choice> </xs:sequence> </xs:complextype> Ensembles d éléments : <xs:complextype name="type-adresse"> <xs:all> <xs:element name="adresse" type="xsd:string"/> <xs:element name="adress " type="xsd:string"/> </xs:all> </xs:complextype> Les éléments peuvent apparaître dans n importe quel ordre 54

28 Écriture des schémas XML (10) Indicateurs d occurrence : Dans les trois structures (séquence, choix, ensemble) on peut spécifier des indicateurs d occurrence mini et maxi pour chaque élément : <xs:complextype name="type-personne"> <xs:sequence> <xs:element name="nom" type="xs:string"/> <xs:element name="prénom" type="xs:string"/> <xs:element name="enfant" type="xs:string" minoccurs="0" maxoccurs="10"/> <xs:all> <xs:element name="adresse" type="xsd:string"/> <xs:element name="adress " type="xsd:string" minoccurs="0"/> </xs:all> </xs:sequence> </xs:complextype> 55 Écriture des schémas XML (11) Éléments vides (avec attributs) : <xs:complextype name="type-produit"> <xs:attribute name="id" type="xs:positiveinteger"/> </xs:complextype> Éléments textuels : <xs:complextype name="type-pointure"> <xs:simplecontent> <xs:extension base="xs:integer"> <xs:attribute name="pays" type="xs:string"/> </xs:extension> </xs:simplecontent> </xs:complextype> Éléments à contenu mixte : <xs:complextype name="type-lettre" mixed="true"> <xs:all> <xs:element name="nom" type="xs:string"/> <xs:element name="date" type="xs:date"/> </xs:all> </xs:complextype> 56

29 Écriture des schémas XML (12) Groupes d éléments et d attributs : Ressemble aux entités utilisées dans les DTD : <xs:group name="base-livre"> <xs:sequence> <xs:element name="titre" type="xs:string"/> <xs:element name="auteur" type="xs:string"/> </xs:sequence> </xs:group> <xs:attributegroup name="attributs-livre"> <xs:attribute name="isbn" type="type-isbn" use="required"/> <xs:attribute name="disponible" type="xs:string"/> </xs:attributegroup> 57 <xs:complextype name="type-livre"> <xs:sequence> <xs:group ref="base-livre"/> <xs:element name="personnage" type="xs:string" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> <xs:attributegroup ref="attributs-livre"/> </xs:complextype> Trois approches de la modélisation Style «poupées russes» : Consiste à suivre la structure du document XML et de définir chaque élément au moment où nous le rencontrons Imbrication de balises xs:element et xs:complextype Avantage = proche de la structure du document XML modélisé Inconvénient = manque de déclarativité (difficile à lire et à maintenir) Style DTD : Consiste à énumérer les éléments en précisant pour chacun la liste de ses attributs et de ses fils Première partie = succession d éléments xs:element à type simple Deuxième partie = succession d éléments xs:element à type complexe Style le plus typé : Consiste à définir des types de données (simples et complexes) et de les nommer, avant de définir les éléments et les attributs Première partie = succession d éléments xs:simpletype et xs:complextype Deuxième partie = succession d éléments xs:element à type nommé 58

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

INTRODUCTION. méta-langage

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

Plus en détail

Le langage XML. Sébastien Jean. IUT de Valence Département Informatique. v3.3, 10 novembre 2008

Le langage XML. Sébastien Jean. IUT de Valence Département Informatique. v3.3, 10 novembre 2008 Le langage XML Sébastien Jean IUT de Valence Département Informatique v3.3, 10 novembre 2008 Qu est ce que XML? Généralités XML = extensible Markup Language Spécification du W3C Version 1.0 (1998-2004)

Plus en détail

Introduction à XML. 1. Notions de base. Introduction à XML

Introduction à XML. 1. Notions de base. Introduction à XML Introduction à XML INTRODUCTION À XML 1. NOTIONS DE BASE 2. EXEMPLE SIMPLE 3. SYNTAXE XML 3.1. LES CARACTÈRES SPÉCIAUX 4. DTD 5. DOCUMENT XML AVEC FEUILLE DE STYLE CSS 6. XLS ET XSLT 6.1. EXEMPLE DE DOCUMENT

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

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

Internet statique et dynamique XML. Programmation de sites web statiques et dynamiques. extended Markup Language (XML) Jean CARTIER MASTER INI

Internet statique et dynamique XML. Programmation de sites web statiques et dynamiques. extended Markup Language (XML) Jean CARTIER MASTER INI Programmation de sites web statiques et dynamiques extended Markup Language () Jean CARTIER MASTER INI jcartier@laposte.net 1 extented Markup Language () Le HTML est un langage très bien adapté à la diffusion

Plus en détail

XML (extensible Markup Language)

XML (extensible Markup Language) XML (extensible Markup Language) Références : XML, Micro Application e-poche http://giles.chagnon.free.fr/cours/xml/base.html http://www.cgmatane.qc.ca/forgetj/formation/int4/xml.php 1. Qu est-ce que XML?

Plus en détail

Plusieurs façons de communiquer AJAX? Communication, manière facile. AJAX en jquery

Plusieurs façons de communiquer AJAX? Communication, manière facile. AJAX en jquery Programmation web AJAX Jean-Christophe Dubacq IUT de Villetaneuse S3 2013 AJAX A Jean-Christophe Dubacq (IUTV) Programmation web S3 2013 1 / 33 Le modèle classique Jean-Christophe Dubacq (IUTV) Programmation

Plus en détail

INTRODUCTION. Plan du cours. Introduction à XML XML? XML

INTRODUCTION. Plan du cours. Introduction à XML XML? XML Plan du cours Introduction à XML Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine 1. XML : (a) introduction (b) le langage (c) les DTD (d) les espaces de noms 2. les schémas

Plus en détail

DTD (Document Type Definition) - XML (extensible Markup Language)

DTD (Document Type Definition) - XML (extensible Markup Language) DTD (Document Type Definition) - XML (extensible Markup Language) Références : XML, Micro Application e-poche http://giles.chagnon.free.fr/cours/xml/base.html http://www.cgmatane.qc.ca/forgetj/formation/int4/xml.php

Plus en détail

XML et DTD: rappels Cours Document et Web Sémantique. Quelques concepts importants. Évolution de XML. Organisation

XML et DTD: rappels Cours Document et Web Sémantique. Quelques concepts importants. Évolution de XML. Organisation Plan et : rappels Cours Document et Web Sémantique Nicolas Malandain 1 Généralités Organisation Les éléments Les attributs Les sections littérales Les Entités Conseils 2 Organisation Les éléments Les attributs

Plus en détail

Université de Reims Champagne-Ardenne. XML - Introduction. F. Nolot Licence professionnelle CMSII 1

Université de Reims Champagne-Ardenne. XML - Introduction. F. Nolot Licence professionnelle CMSII 1 Université de Reims Champagne-Ardenne XML - Introduction F. Nolot Licence professionnelle CMSII 1 Université de Reims Champagne-Ardenne XML - Introduction Historique F. Nolot Licence professionnelle CMSII

Plus en détail

1 XML : Une première définition. 2.1 SGML... 1 2.2 HTML... 2 2.3 Feuille de style CSS... 3. 3 XML : extensible Markup Language 4

1 XML : Une première définition. 2.1 SGML... 1 2.2 HTML... 2 2.3 Feuille de style CSS... 3. 3 XML : extensible Markup Language 4 Introduction au Table des matières 1 : Une première définition 1 2 Historique d 1 2.1 SGML................................................. 1 2.2 HTML................................................. 2

Plus en détail

Introduction au langage XML. Nhan Le Thanh

Introduction au langage XML. Nhan Le Thanh Introduction au langage XML Nhan Le Thanh 1 Plan du cours extensible Markup Language Éléments de base du XML DTD : Document Type Description S1 XPath : XML Path Language XML Schema S2 XSLT : Transformations

Plus en détail

Université de Reims Champagne-Ardenne XML. DTD : Document Type Definition. F. Nolot Licence professionnelle CMSII 2004-2005 1

Université de Reims Champagne-Ardenne XML. DTD : Document Type Definition. F. Nolot Licence professionnelle CMSII 2004-2005 1 Université de Reims Champagne-Ardenne XML DTD : Document Type Definition F. Nolot Licence professionnelle CMSII 2004-2005 1 Qu'est qu'une DTD? Permet de vérifier qu'un document XML est conforme à une syntaxe

Plus en détail

Les technologies XML. Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT. Novembre 2010 - Version 3.2 -

Les technologies XML. Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT. Novembre 2010 - Version 3.2 - Les technologies XML Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT Novembre 2010 - Version 3.2 - SOMMAIRE DU COURS TRANSFORMATIONS DE DOCUMENTS XML Introduction à XSL Noeuds

Plus en détail

Web et présentation d information spatiale

Web et présentation d information spatiale Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Web et présentation d information spatiale Format XML Jean-Michel FOLLIN jmfollin@univ-lr.fr Limitations HTML Limitations

Plus en détail

Programmation d applications pour le Web

Programmation d applications pour le Web Programmation d applications pour le Web Cours 2 ème année ING ISI-Tunis Elaboré par: Hela LIMAM Chapitre 3 Partie 2 XML+XSL Année universitaire 2011/2012 Semestre 2 1 Le XML ne fait rien. Il faudra passer

Plus en détail

Plan. 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD. Référence :

Plan. 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD. Référence : Définitions de types de documents : DTD Plan 1.Rappels 2.Type de documents 3.Définition de types de documents (DTD) 4.Syntaxe des DTD 5.Utilisation des DTD Référence : Extensible Markup Language (XML)

Plus en détail

Chapitre II. Notions de base

Chapitre II. Notions de base Chapitre II 1 2 3 Espace de noms Web Sémantique M1 2015-2016 10 Chapitre II 1 ref 2 3 Espace de noms Web Sémantique M1 2015-2016 11 Uniform Resource Identifier () Une est une chaîne qui identifie une ressource

Plus en détail

Outil pour le Web XML. Polytech Marseille. E. Tranvouez. Département Génie Industriel et Informatique

Outil pour le Web XML. Polytech Marseille. E. Tranvouez. Département Génie Industriel et Informatique Outil pour le Web XML E. Tranvouez erwan.tranvouez@polytech.univ-mrs.fr http://erwan.tranvouez.free.fr Polytech Marseille Département Génie Industriel et Informatique 1 Sommaire 2 Problématique Contexte,

Plus en détail

XML, DOM & XSL Synthèse de lecture

XML, DOM & XSL Synthèse de lecture Dorine MAZEYRAT XML, DOM & XSL Synthèse de lecture Novembre 2008 NFE107 - Urbanisation des SI 0 SOMMAIRE 1. LE LANGAGE XML...2 1.1. Définition...2 1.2. Historique...2 1.3. Objectif...2 1.4. Présentation

Plus en détail

Créer des documents XML

Créer des documents XML 1 Créer des documents XML La spécification XML définit comment écrire un document au format XML. XML n est pas un langage en lui-même mais, en revanche, un document XML est écrit dans un langage à balises

Plus en détail

2. XML. Cours Web. extended Markup Language (XML) 2. XML 2. XML. extented Markup Language (XML) Lionel Seinturier. Université Pierre & Marie Curie

2. XML. Cours Web. extended Markup Language (XML) 2. XML 2. XML. extented Markup Language (XML) Lionel Seinturier. Université Pierre & Marie Curie Cours Web extended Markup Language (XML) Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr extented Markup Language (XML) Constat sur HTML langage très bien adapté à la diffusion

Plus en détail

Bertrand DAVID : Interaction Humain-Machine

Bertrand DAVID : Interaction Humain-Machine Interaction Humain-Machine Xml La transformation avec Xslt Les parseurs les outils pour Xml Transformation de documents dans les applications multimédia 1 XML extensible Markup Langage Un langage universel

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

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises XML, extensible Markup Language 1-Origine de XML On trouve l origine des langages à balises dans la nécessité d échanger des informations dont la structure est trop complexe pour être simplement mise sous

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

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 - 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

HTML/XHTML/XML. Olivier Aubert 1/26

HTML/XHTML/XML. Olivier Aubert 1/26 HTML/XHTML/XML Olivier Aubert 1/26 Liens http://www.brics.dk/~amoeller/xml/overview.html http://www.w3.org/tr/xhtml1/#guidelines : annexe C, compatibility guidelines http://www710.univ-lyon1.fr/~exco/cours/cours/htm

Plus en détail

DTD & XML Schema. Sébastien Laborie Sebastien.Laborie@iutbayonne.univ- pau.fr. Christian Sallaberry Christian.Sallaberry@univ- pau.

DTD & XML Schema. Sébastien Laborie Sebastien.Laborie@iutbayonne.univ- pau.fr. Christian Sallaberry Christian.Sallaberry@univ- pau. DTD & XML Schema Sébastien Laborie Sebastien.Laborie@iutbayonne.univ- pau.fr Christian Sallaberry Christian.Sallaberry@univ- pau.fr DTD Le rôle d une DTD (Document Type Definition) est de définir la structure

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

Dom, XML, Lecture de fichiers

Dom, XML, Lecture de fichiers Projet de développement web : Développement côté client Chapitre 4 Dom, XML, Lecture de fichiers Page 1 / 11 Table des matières Table des matières Introduction DOM : Document Object Model Structure habituelle

Plus en détail

INU3011 Documents structurés

INU3011 Documents structurés INU3011 Documents structurés Cours 1 Hiver 2016 Copyright 2010-2016 Yves Marcoux - Reproduction interdite 1 Plan Introduction à XML En quoi ce cours peut vous être utile dans votre carrière? Contextes

Plus en détail

XSL Langage de transformation de XML. Approfondissements

XSL Langage de transformation de XML. Approfondissements XSL Langage de transformation de XML Approfondissements http://www.zvon.org/xxl/xsltreference/output/index.html Retour sur les modèles (template) Une feuille de style peut contenir plusieurs modèles Chaque

Plus en détail

Autres technologies XML. Plan. XML et la sécurité. Cryptage XML. Signatures XML. Vincent Quint

Autres technologies XML. Plan. XML et la sécurité. Cryptage XML. Signatures XML. Vincent Quint Autres technologies XML Vincent Quint INRIA Rhône Alpes École d été CEA INRIA EDF juin 2003 Plan 1. XML et la sécurité 2. Liens hypertexte : XLink 3. Inclusions XML 4. Formulaires XML : XForms 5. Événements

Plus en détail

Outils de développement XML

Outils de développement XML Université de Nice Sophia-Antipolis UFR de Sciences Travail d étude Licence Informatique Année 2002 / 2003 Outils de développement XML Antoine Perroud & Sylvain Petrucci Enseignant responsable : Fabrice

Plus en détail

Observons un site... Une entête. Le corps de la page. Un à-côté. Un pied de page

Observons un site... Une entête. Le corps de la page. Un à-côté. Un pied de page Créer une page web Observons un site... Une entête Le corps de la page Un à-côté Un pied de page Un logo Un menu Un autre menu Une entête La fenêtre de gauche La partie principale de la page Plusieurs

Plus en détail

WSIA? 6 cours de 3h 5 séances de TD/TP 3h. 1 séance de soutenance de 3h. Evaluation?

WSIA? 6 cours de 3h 5 séances de TD/TP 3h. 1 séance de soutenance de 3h. Evaluation? 2008-2009 Master 1 Info. Info 2 WSIA Cours 1 : Introduction à XML et aux DTD Jérôme Nobécourt jerome.nobecourt@gmail.com Sylvie Després sylvie.despres@lipn.univ-paris13.fr WSIA? 6 cours de 3h 5 séances

Plus en détail

Arbres Mathématiques Informatique et Navigateurs Internet

Arbres Mathématiques Informatique et Navigateurs Internet Arbres Mathématiques Informatique et Navigateurs Internet Jacques Duma http://math.et.info.free.fr/ http://ateliermathematique.free.fr/ Arbres Expressions Mathématiques Structure arborescente de l expression

Plus en détail

Introduction à XML. Définitions Applications Règles Affichage et transformation Documentation mathématique Métadonnées En conclusion

Introduction à XML. Définitions Applications Règles Affichage et transformation Documentation mathématique Métadonnées En conclusion Introduction à XML transformation 1 XML n est pas Transformations Une norme de description bibliographique «Enfin le moyen pour que les documentalistes s approprient la documentation en ligne» (entendu

Plus en détail

IV. Localisation des composants avec XPath

IV. Localisation des composants avec XPath IV. Localisation des composants avec XPath 90 Langage XPath Est un langage d expression (non XML) Standard du W3C: XPath1.0 (1999), XPath2.0 (2010), XPath3.0 (2014) Objectif: exprimer des requêtes pour

Plus en détail

Création de documents <XML/> avec XEmacs

Création de documents <XML/> avec XEmacs 1-Introduction Création de documents avec XEmacs Qu est-ce que XML? Equipe TICE Académie de Caen XML (extensible Markup Language, ou Langage Extensible de Balisage)est un langage de description

Plus en détail

Technologies du Web. Phases de travail Objectifs Activités

Technologies du Web. Phases de travail Objectifs Activités Technologies du Web Tutoriel 1 : «Structurer une page Web» PROBLEMATIQUE Créer la structure d une page Web avec un éditeur de texte. CONDITIONS DE DEROULEMENT DE L ACTIVITE Phases de travail Objectifs

Plus en détail

Réalisation d'un site web. Première partie : Création des pages HTML. <tv>thierry.vaira@orange.fr</tv>

Réalisation d'un site web. Première partie : Création des pages HTML. <tv>thierry.vaira@orange.fr</tv> Réalisation d'un site web Première partie : Création des pages HTML 1 Objectifs Se familiariser avec le codage HTML Acquérir une pratique minimale Être capable de mener à bien la construction d'un site

Plus en détail

Introduction. Transformer des documents XML. XPath. XPath. Langage d'expressions de chemins dans un. permet de désigner un noeud (sous-arbre)

Introduction. Transformer des documents XML. XPath. XPath. Langage d'expressions de chemins dans un. permet de désigner un noeud (sous-arbre) Introduction Transformer des documents 1 Désignation d un nœud (sous-arbre) d un document : XPATH Associer une présentation à un document : CSS Transformer un document en un autre document (HTML) : XSLT

Plus en détail

Java script. DU CMSI : Création et Maintenance des Sites Internet. Wadi TAHRI

Java script. DU CMSI : Création et Maintenance des Sites Internet. Wadi TAHRI Java script DU CMSI : Création et Maintenance des Sites Internet Plan Évolution vers le web dynamique Définition du langage JavaScript Avantages Difficultés Codage Exercices Évolution -1- Avant pages Internet

Plus en détail

Java : Programmation Impérative

Java : Programmation Impérative 1 Java : Programmation Impérative Résumé du cours précédent (I11) Paradigme impératif Algorithmique simple Découpage fonctionnel Qu est-ce qu un programme informatique? / un langage de programmation? /

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

T-GSI STAGE RENOVATION - HTML.Chapitre 6 - Le Langage XML

T-GSI STAGE RENOVATION - HTML.Chapitre 6 - Le Langage XML T-GSI STAGE RENOVATION - HTML.Chapitre 6 - Le Langage XML Sources du document : Introduction au XML, Simon St-Laurent, éditions Eyrolles, année 2000 ; XML en concentre (XML in a Nutshell) 3 ème édition,

Plus en détail

XML Les documents semi-structurés

XML Les documents semi-structurés XML Les documents semi-structurés XML - extensible Markup Language XSL(T) - extensible Stylesheet Language XSD XML Schema DTD Document Type Definition Ivan Madjarov, IUT-R&T, 2006-2008 XML dérive d'un

Plus en détail

Présentation de XQuery

Présentation de XQuery 97 Chapitre 5 Présentation de XQuery 1. Présentation de XQuery Présentation de XQuery XML Query (plus communément appelé XQuery) est une spécification du W3C. De nos jours, de nombreux documents sont au

Plus en détail

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr Cours HTML/PHP E.Coquery emmanuel.coquery@liris.cnrs.fr Pages Web Pages Web statiques Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis son navigateur. Adresse tapée, clic

Plus en détail

Développement Partie Cliente

Développement Partie Cliente ISI 1022 : Jean-Noël Sorenti. Année 2002/2003 Développement Partie Cliente ISI 1022 : 1 ISI 1022 : Développement Partie Cliente Le développement partie cliente concerne tout développement étant interprété

Plus en détail

Web & XML. Evaluation 1/2. ENSEIRB Programmation Web / XML. Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP. Page 1/9

Web & XML. Evaluation 1/2. ENSEIRB Programmation Web / XML. Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP. Page 1/9 Web & XML ENSEIRB Programmation Web / XML Evaluation 1/2 Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP Page 1/9 Historique : Version Date Origine de la mise à jour Rédigée par Validée par

Plus en détail

xaltarica documents Intégration du langage XML Java Data Bnding JAXB, XML spy

xaltarica documents Intégration du langage XML Java Data Bnding JAXB, XML spy Le monde XML xaltarica Christophe de Charentenay, ENSAE, Toulouse, octobre 2003 xaltarica consiste en une spécification du langage altarica en langage XML. Altarica rejoint alors le monde des langages

Plus en détail

Implémentation dans Active Tags d'un module Web pour XUnit

Implémentation dans Active Tags d'un module Web pour XUnit Implémentation dans Active Tags d'un module Web pour XUnit Table des matières 1. Introduction... 2 2. Application Web interactive en Reflex... 2 3. Module Web pour XUnit... 3 3.1. Principes... 3 3.2. Implémentation

Plus en détail

Licence Pro SIL - IUT XML

Licence Pro SIL - IUT XML Licence Pro SIL - IUT Structure et échange d informations XML Julien Pinquier, pinquier@irit.fr Plan Organisation Introduction à XML Structure d un document XML Déclarations de Type de Documents (DTD)

Plus en détail

Langage (X)HTML Damien Nouvel

Langage (X)HTML Damien Nouvel Langage (X)HTML Plan Quelques statistiques du web Architecture client / serveur Langage XML Mise en forme HTML Structure d'un document HTML 2 / 36 Plan Quelques statistiques du web Architecture client

Plus en détail

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE XML/ SOA/ Web services TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE Réf: PXM Durée : 4 jours (7 heures) OBJECTIFS DE LA FORMATION XML est devenu une technologie incontournable tant sur le poste utilisateur

Plus en détail

Module : Programmation site web dynamique

Module : Programmation site web dynamique Module : Programmation site web dynamique LEÇON : MANIPULATION DES FICHIERS XML VIA.NET C# (LECTURE ET ECRITURE) Proposé par : A BENDAOUD XML Sommaire Créer un fichier XML à l aide de Visual Studio...

Plus en détail

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration statiques LIF4 - Initiation aux Bases de données : E.Coquery emmanuel.coquery@liris.cnrs.fr http ://liris.cnrs.fr/ ecoquery Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis

Plus en détail

Modélisation et interopérabilité : Semaine 40, cours 3

Modélisation et interopérabilité : Semaine 40, cours 3 Modélisation et interopérabilité : Semaine 40, cours 3 Benoît Valiron http://inf356.monoidal.net/ 1 Question pratique : Evaluation Trois choses : Un examen final (coef 2/3)

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

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

Cours No 10 - Conclusion et perspectives

Cours No 10 - Conclusion et perspectives B. Amann - Cours No 10 - Conclusion et perspectives 1 Slide 1 Cours No 10 - Conclusion et perspectives Gestion de contenus Web La gestion de contenus Web est possible grâce à des technologies complémentaires

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

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

Le XML et ses normes associées partie I

Le XML et ses normes associées partie I Le XML et ses normes associées partie I TechnofuturTIC (formateur : Luc Libert, ULB) Exercice à distance Version complète (et plus complexe) Le but de l exercice est de mettre en pratique de manière concrète

Plus en détail

Séances 4a/4b Technologies du Web

Séances 4a/4b Technologies du Web Formations en Informatique de Lille 2012/2013 Séances 4a/4b Technologies du Web février 2013 Javascript Exercice 1 : Préalable : mise en place des outils Pour ce premier exercice, nous allons utiliser

Plus en détail

Programmation Web Avancée JQuery

Programmation Web Avancée JQuery 1/27 Programmation Web Avancée JQuery 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, F-93017

Plus en détail

Cours Web - Javascript

Cours Web - Javascript Cours Web - Javascript Thierry Vaira BTS IRIS Avignon tvaira@free.fr v0.1 Objectifs Se familiariser avec le langage Javascript et acquérir une pratique minimale. Être capable d intégrer des scripts clients

Plus en détail

Bases de Données Avancées

Bases de Données Avancées Bases de Données Avancées Enseignant / chargé de TD : Dario COLAZZO www.lri.fr/~colazzo Chargée de TP : Jesús CAMACHO-RODRIGUEZ www.lri.fr/~camacho Plan Tuning d index Concurrence Reprise sur panne Données

Plus en détail

SUPPORTS DE COURS SUR LE LANGAGE XML

SUPPORTS DE COURS SUR LE LANGAGE XML SUPPORTS DE COURS SUR LE LANGAGE XML 1 1 COURS D'INTRODUCTION A XML GENERALITES XML n'est pas un langage à proprement parler comme peut l'être HTML : XML est une famille de langages ayant en commun le

Plus en détail

LE LANGAGE XML. I. Généralités. Historique

LE LANGAGE XML. I. Généralités. Historique I. Généralités Historique LE LANGAGE XML Année Langage Description 1950 Hypertexte Premiers développements théoriques par Ted Nelson. 1969 Generalized Markup Language Développement du GML par IBM. 1986

Plus en détail

Formation JavaScript : Perfectionnement. Programme. L approche AJAX. L objet XMLHttpRequest. Objectif(s):

Formation JavaScript : Perfectionnement. Programme. L approche AJAX. L objet XMLHttpRequest. Objectif(s): Formation JavaScript : Perfectionnement Objectif(s): Comprendre l'approche AJAX Comprendre l'objet XMLHttpRequest Durée : 2 jour(s) Pré-requis : Bonnes connaissances en (X)HTML, CSS et JavaScript Public

Plus en détail

Le langage UML 2.0 Diagramme de Déploiement

Le langage UML 2.0 Diagramme de Déploiement Claude Belleil Université de Nantes Le langage UML 2.0 Diagramme de Déploiement 1 Introduction Le diagramme de déploiement spécifie un ensemble de constructions qui peuvent être utilisées pour définir

Plus en détail

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

Rapport TP4. Nicolas LERMÉ nicolas.lerme@ig-edu.univ-paris13.fr. Dernière MAJ : 16 avril 2007 @ 22:58. Cours de Web Sémantique

Rapport TP4. Nicolas LERMÉ nicolas.lerme@ig-edu.univ-paris13.fr. Dernière MAJ : 16 avril 2007 @ 22:58. Cours de Web Sémantique Cours de Web Sémantique Nicolas LERMÉ nicolas.lerme@ig-edu.univ-paris13.fr Dernière MAJ : 16 avril 2007 @ 22:58 A propos de ce document Cet article est généré par LATEX, un outil de compilation open-source

Plus en détail

Le langage JAVASCRIPT

Le langage JAVASCRIPT Le langage JAVASCRIPT I Introduction Vous vous dites encore un langage alors qu il y en a déjà un nombre non négligeable. En effet un de plus, mais à chaque langage son utilisation et sa particularité.

Plus en détail

STRUCTURE D UNE PAGE HTML/CSS

STRUCTURE D UNE PAGE HTML/CSS STRUCTURE D UNE PAGE HTML/CSS C01 1. STRUCTURE Le langage Html est composé de balises ou (tags) qui permettent de structurer le texte, de le mettre en forme et d insérer des images. Ces instructions sont

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

SII Stage d informatique pour l ingénieur

SII Stage d informatique pour l ingénieur SII Stage d informatique pour l ingénieur Création d un site Web École nationale supérieure de techniques avancées SII Stage d informatique pour l ingénieur 1 / 15 L informatique et le temps qui passe...

Plus en détail

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté.

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté. Persistance en Php Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d articles (titre, auteur, texte), un article est dans une seule

Plus en détail

1/28 XML. I XML = extensible markup language. I Langage de description de documents (semi)-structurés, utilisant des.

1/28 XML. I XML = extensible markup language. I Langage de description de documents (semi)-structurés, utilisant des. 1/28 2/28 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 XML I XML = extensible markup language I Langage de description de documents (semi-structurés, utilisant des balises

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

C.P.G.E - Meknès Langage Python 3 Haouati Abdelali

C.P.G.E - Meknès Langage Python 3 Haouati Abdelali 3. Langage Python 3 2 a. Introduction Présentation du langage Python : Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans l imposer) une approche modulaire et orientée objet

Plus en détail

Créer des documents pour le projet «Ermitage» : catalogue de modèles et de maquettes 1 de documents disponibles

Créer des documents pour le projet «Ermitage» : catalogue de modèles et de maquettes 1 de documents disponibles Créer des documents pour le projet «Ermitage» : catalogue de modèles et de maquettes 1 de documents disponibles Développer le projet «Ermitage», c est créer des documents et les organiser en salles. Ce

Plus en détail

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

Plus en détail

Module BDWEB Master Informatique Spécialité IAD

Module BDWEB Master Informatique Spécialité IAD Module BDWEB Master Informatique Spécialité IAD Cours 9 XQuery Anne Doucet Anne.Doucet@lip6.fr Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Langages de requêtes

Plus en détail

AJAX AJAX. Asynchronous JavaScript And XML. Technologie pour créer des pages web interactives Basées sur XML, HTML et JavaScript

AJAX AJAX. Asynchronous JavaScript And XML. Technologie pour créer des pages web interactives Basées sur XML, HTML et JavaScript AJAX Ajax 1 AJAX Asynchronous JavaScript And XML. Technologie pour créer des pages web interactives Basées sur XML, HTML et JavaScript Utilise: HTML pour le marquage XML pour représenter les résultats

Plus en détail

Représenter les images

Représenter les images Représenter les images 4/1/01 1 Travail La séance de travail du 4/1 consiste à travailler l ensemble de ce document Les résolutions des exercices 3 et 11 sont à déposer dans les casiers numériques de vos

Plus en détail

Introduction à la programmation web

Introduction à la programmation web Introduction à la programmation web Nouvelles Technologies Dr. Thé Van LUONG The-Van.Luong@heig-vd.ch HEIG-VD Switzerland 8 octobre 2015 1/34 8 octobre 2015 1 / 34 Plan 1 État de l art des langages orientés

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

Description, parcours et transformation d un. document XML. Jacques Le Maitre. Université de Toulon et du Var

Description, parcours et transformation d un. document XML. Jacques Le Maitre. Université de Toulon et du Var document XML Jacques Le Maitre Université de Toulon et du Var Jacques Le Maitre document XML 1 document XML 2 Différents aspects d un document Editorial présentation du document. Signalétique identification

Plus en détail

Javascript : les bases du langage

Javascript : les bases du langage Javascript : les bases du langage Technologies du Web 1 Jean-Christophe Routier Licence 1 SESI Université Lille 1 Université Lille 1 - Licence 1 SESI Technologies du Web 1 1 Javascript présentation partielle,

Plus en détail

The extensible Markup Language (XML)

The extensible Markup Language (XML) The extensible Markup Language (XML) Stéphane Genaud 21 mars 2007 1 Historique Dans les années 1980, de nombreux industriels de l informatique essayèrent de promouvoir un format de données indépendant

Plus en détail