DU24 Septembre 20021 Introduction à XML test et correction Université Paris II & LRI Michel de Rougemont 1.Introduction.

Slides:



Advertisements
Présentations similaires
Données structurées et XML
Advertisements

XML.
1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
D.U Introduction à XML Université Paris II & LRI Michel de Rougemont 1.Introduction à XML 2.DTD 3.XSL : style.
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
eXtensible Markup Language
Les espaces de nommage XML par Philippe Poulard 1
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
Données structurées et XML
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
le langage les éléments
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Manipulation d’XML avec XSL
CREATION DE FEUILLE DE STYLE pour structuré le document XML
Langage de structuration des données: XML
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
17 octobre 2012 Grégory Petit
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Web Structurel
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
XML: Syntaxe XML, DTD et Schémas
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Structures de données IFT-2000
Xpath XML Path language par Yves Bekkers
XSLT Langage de transformation darbre par Yves Bekkers.
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Animateur : Med HAIJOUBI
8 - XML Cours XML.
Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB
1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années.
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
LE HTML ISN Terminale S Un peu d’histoire …
Le langage XML.
XPath XML Path UP Web Année universitaire
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Bien présenter des documents longs…
Copyright © 2005 Yves MARCOUX1 Concepts XML de base Yves MARCOUX EBSI - Université de Montréal.
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
XHTML les fondamentaux M.DIENG Abdoulaye DTS 1 Réseaux & Données.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
Document Type Definition (DTD) Plan 2.1Introduction 2.2Déclaration de Document Type 2.3Déclaration d’élément Type 2.3.1Séquences, Choix, indicateurs d’Occurrence.
eXtensible Markup Language. Généralités sur le XML.
Verification approchée Michel de Rougemont, University Paris II et LRI.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
XML et données semi-structurées
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ? 1.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Dreamweaver Séance 1.
DREAMWEAVER Première séance Villaron Audrey – Shibly Tarek.
Le langage XML Documents bien formés Un document XML est dit bien formé lorsque le document est correct sans toutefois posséder une DTD. Le prologue du.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
INF2005– Programmation web– A. Obaid Variantes de HTML.
Amalia Todirascu 1.  Enseignants: Amalia Todirascu groupe  Contrôle de connaissances: examen.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
DTD - Y. Bekkers - IFSIC1 DTD Document Type Definition Yves Bekkers Mise à jour : 31 mai 2016.
Transcription de la présentation:

DU24 Septembre Introduction à XML test et correction Université Paris II & LRI Michel de Rougemont 1.Introduction à XML 2.Test de propriétés, Correction Mots Arbres

DU24 Septembre XML (S. Abiteboul) eXtensible Markup Language "successeur" de HTML héritier de SGML XML est un métalangage de description et d’échange de documents structurés

DU24 Septembre Le monde XML Historique –"successeur" de HTML –héritier de SGML Structure DTD Espaces Nominaux XSL

DU24 Septembre Notion de balisage structurel Principe clé de SGML Idée fondamentale: Étant donné un document, il est souhaitable de séparer complètement les informations de structure des informations de présentation.

Exemple de document Saint Pétaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis WindStar 2000 Les rosières en buget AB562 Saint Pétaouchnoque Tel: Fax: Objet: ben quoi? Monsieur, Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jùkvbc lkhdklvn v Veuillez agréer patati patata vachement sincères. signature Pied de page Logo Date Destinataire Corps Pied de page En-tête Objet Salutation Formule de politesse Signature

Représentation XML … 30 Nivose 2004 Monsieur, Ici le premier paragraphe et là le deuxième &abrev-adresse; Mr Schnock rue des églantiers Saint Glin bla bla …

DU24 Septembre Points importants La représentation de cette lettre en XML ne comporte aucune indication sur sa mise en page. De nombreuses propriétés graphiques ou typographiques sont absentes du source XML. Ces propriétés seront définies par l'intermédiaire d'une feuille de style. Une feuille de style est un ensemble de règles pour spécifier la réalisation concrète d'un document sur un média particulier.

DU24 Septembre Exemples de documents XML Bonjour! Bonjour! Bonjour!

DU24 Septembre Structure d’un document Un document XML se compose –d’un prologue, éventuellement vide –d’un arbre d’éléments –de commentaires et d’instructions de traitement, facultatifs Bonjour!

DU24 Septembre Le prologue contient Une déclaration XML, facultative –de la forme: –indique au processeur qui va traiter le document: la version du langage XML utilisée le codage de caractères utilisé l'existence de déclarations extérieures au document Une déclaration de type de document, facultative –de la forme –indique la structure particulière à laquelle doit se conformer un document

DU24 Septembre Structure d'une DTD Une DTD peut comprendre deux parties –une partie externe la partie externe est définie en dehors du document. Elle est référencée par une référence DTD, le plus souvent un URL. Ce mécanisme permet d'assurer une réutilisation de DTDs souvent utilisées. –une partie interne utilisée pour spécialiser une DTD externe générique ou redéfinir certains types d'éléments

DU24 Septembre Structure d'un élément (1) Un élément est de la forme: contenu est la balise d'ouverture est la balise de fermeture. Sa présence est obligatoire, à l'exception très particulière des éléments vides, notés indifféremment ou. contenu est le contenu d'un élément. Il peut s'agir: attr='valeur' représente un ensemble éventuellement vide d'attributs, c'est à dire de paires (nom,valeur). Un élément ne peut posséder qu'un seul attribut de nom donné. – de vide – de texte – d'autres éléments – d'une imbrication de texte et d'éléments – d'instructions de traitement – de commentaires

DU24 Septembre Structure d'un élément (2) Un nom d'élément est une suite non vide de caractères pris parmi –les caractères alphanumériques –le tiret-souligné (undescore) –le signe moins –le point –le caractère deux-points (:) est utilisable, mais il a un sens particulier qui doit satisfaire les contraintes suivantes –le premier caractère doit être alphabétique ou un tiret- souligné –les trois premiers caractères ne doivent pas former une chaîne dont la représentation en lettres minuscules est "xml". Exemples de noms d'éléments correctsincorrects _ toto Nom_société xsl:rule X catalogue XmlSpécififica tion nom société

DU24 Septembre Syntaxe des attributs Un attribut est une paire nom='valeur' qui permet de caractériser un élément. Un élément peut avoir plusieurs attributs. Dans ce cas, les paires nom='valeur' seront séparées par un espace. Exemples – Le nom d'un attribut obéit aux mêmes règles que le nom d'un élément La valeur d'un attribut est une chaîne encadrée par des guillemets ( " ) ou des apostrophes simples ( ' ).

DU24 Septembre Arbre d'éléments Dire qu'un document XML contient un arbre d'éléments, c'est imposer les contraintes suivantes: –Il existe dans un document un et un seul élément père qui contient tous les autres. C'est l'élément racine du document. –Tout élément distinct de la racine est totalement inclus dans son père. Il ne peut donc y avoir recouvrement partiel. Ainsi: bla bla bla n'est pas une structure XML.

DU24 Septembre Documents bien formés Un document est dit bien formé si: –son prologue ne contient pas de déclaration de type de document –il contient un arbre d'éléments –Exemple Bonjour!

DU24 Septembre Documents valides Un document est dit valide si: –son prologue contient une déclaration de type de document –son arbre d'éléments respecte la structure définie par la déclaration de type <!DOCTYPE document [ ]> Bonjour!

DU24 Septembre Notion de DTD Un document valide doit contenir une Déclaration de Type de Document ou DTD. Cette déclaration peut faire référence, par l'intermédiaire d'une URL à un fichier externe. Bonjour!

DU24 Septembre Contenu d'une DTD Une DTD peut contenir des déclarations –d'éléments –de listes d'attributs –d'entités générales –d'entités paramètres –de notations ainsi que des commentaires

DU24 Septembre Déclaration d'élément Une déclaration d'élément est de la forme –ELEMENT est un mot-clef et s'écrit impérativement en majuscules –nom est un nom valide d'un élément –modèle est le modèle de contenu de cet élément. On distingue cinq modèles de contenu éléments données mixte libre vide

DU24 Septembre Modèle de contenu éléments (1/2) Séquence d'éléments fils (..,..,..) –Exemple Un élément chapitre doit contenir, impérativement et dans cet ordre, un sous-élément titre, intro et section. Alternative (..|..|..) –Exemple Indicateurs d'occurrence *, +, ? Un nom d'élément apparaissant dans le modèle d'un élément père peut-être suffixé par un indicateur d'occurrence. p* : p peut apparaître zéro, une ou plusieurs fois dans le contenu d'une instance p+ : p peut apparaître une ou plusieurs fois p? : p peut apparaître zéro ou une fois

DU24 Septembre Exemple simple Livre.dtd. <!ELEMENT auteur (#PCDATA) s1.xml <!DOCTYPE livre SYSTEM 'livre.dtd' [ ]> &ionesco; s1.xsl

DU24 Septembre Modèle de contenu éléments (2/2) Exemples <!ELEMENT chapitre ( titre, intro?, section+ ) > <!ELEMENT section ( titre-section, texte-section ) >

DU24 Septembre Modèle de contenu données La présence de données dans le contenu d'un élément est spécifiée par le mot-clé #PCDATA Exemple

DU24 Septembre Modèle de contenu mixte Ce modèle permet de définir des modèles de contenu autorisant de mêler données et éléments Forme du modèle (#PCDATA | nom 1 | …|nom n )* Exemples de déclarations <!ELEMENT p (#PCDATA | em | exposant | indice | renvoi)* > Exemple d'utilisation un paragraphe peut contenir du texte mis en évidence ou en exposant

DU24 Septembre Modèle de contenu libre (1/2) Un élément peut être défini comme ayant un contenu quelconque, sous réserve que ce contenu respecte les règles générales du langage XML. Exemple Pour que le contenu d'un élément de modèle de contenu libre soit valide, il faut que, s'il contient des éléments, ceux-ci soient déclarés dans la DTD

DU24 Septembre Modèle de contenu libre (2/2) Utilité: ce modèle de contenu est particulièrement utile lors de la création d'un DTD complexe Exemple

Saint Pétaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis WindStar 2000 Les rosières en buget AB562 Saint Pétaouchnoque Tel: Fax: Objet: ben quoi? Monsieur, Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jùkvbc lkhdklvn v Veuillez agréer patati patata vachement sincères. signature Pied de page Si lettre alors enfants Si entete alors … Si corps alors enfants para Si para alors Police new roman, taille 12, décaler première ligne Si … alors … Principe de fonctionnement des feuilles de style

DU24 Septembre XML : "successeur" de HTML HTML Hypertext Markup Language. Un ensemble prédéfini et limité de balises, défini par une norme (HTML 2.0, 3.2, 4.0). Ces balises ont des sémantiques variées: –h1,.., h6, title, address, … donnent des indications structurelles –center, hr, b, i, big, small,… ne servent qu'à décrire une mise en page.

DU24 Septembre Exemples (1) Attribut CDATA ' > L'attribut att1 des éléments de type f a une valeur constante. C'est la chaîne de caractères. Cette chaîne ne sera pas traitée et reconnue comme un balisage par un processeur XML. Attribut énuméré –Exemple 1 24 Mai L'attribut format est obligatoire, et doit prendre sa valeur parmi ANSI, ISO ou FR –Exemple 2 Jean Pierre Jacques

DU24 Septembre Exemples (2) Attributs ID et IDREF Ces types d'attributs permettent de créer des renvois à l'intérieur d'un document, par exemple vers une références bibliographiques, une note, une section... contenu d'une section autre section. Fait référence à la section X321 Problème: on ne référence pas en fait une section, mais un élément du document possédant un attribut de type ID et dont la valeur est X321.

DU24 Septembre Entités internes Entités prédéfinies –certains caractères, comme & ne peuvent être utilisés dans le texte d'un document –ces caractères doivent être représentés par des codes prédéfinis, appelées entités prédéfinies <: < >: > &: &

DU24 Septembre Entités internes Entités définies par l'utilisateur –il est possible de déclarer des entités dans la DTD –cette déclaration a pour forme Exemple la déclaration suivante <!DOCTYPE toto [ ]> &copyright produira © Editions titi remarque: 00A9 est le codage Unicode du caractère ©

DU24 Septembre Entités externes adressées par URL Exemple <!DOCTYPE bouquin [ ]> XML par la joie &auteur; Il était une fois le Web… &chapitre1; &chapitre2; Contrainte: les entités externes doivent être des documents bien formés

DU24 Septembre Entités paramètres Les entités vues jusqu'à présent étaient définies dans une DTD pour être utilisées dans un document Elles jouent le rôle de constantes symboliques Il peut être intéressant de posséder le même mécanisme au sein d'une DTD, afin par exemple de nommer et réutiliser des modèles de contenu apparaissant de façon répétitive XML propose pour cela le mécanisme des entités paramètres

DU24 Septembre Déclaration d'entité paramètre Formes possibles Exemple

DU24 Septembre Espaces nominaux DTD : définition de structure réutilisable et modulaire Possiblité de composer un document à partir d'un ensemble de DTDs publiques Nécessité de pouvoir résoudre des conflits de noms d'éléments Objectif des espaces nominaux

DU24 Septembre Principe Préfixer un nom d'élément par un identificateur unique, le plus souvent un url Déclaration –Attribut spécial, xmlns: ="URL" Exemple <rapport xmlns:math=' TR/REC/MathML> …

DU24 Septembre DOM Document Object Model DOM –modèle de document –interface de programmation indépendante du langage et des plates- formes Permet d'accéder –la structure des documents (HTML et XML) –le contenu des documents –le style –Les événements API définie pour trois langages –OMG IDL, Java, ECMAScript

DU24 Septembre XPath Langage d'expressions de chemin –adresser des parties de documents XML Une expression élémentaire XPath contient –un axe qui spécifie la relation structurale : fils, descendants, ancêtres, frères, attributs,... –un test qui spécifie le type de noeud –des prédicats pour raffiner la sélection Brique de base d'autres applications XML –Xlink, XSLT, Xquery, …

DU24 Septembre XLink XML Linking Language –Hypertexte avancé –permet d'insérer dans les documents XML de quoi décrire les liens entre ressources Web Liens simples unidirectionnels à la HTML Liens hors document Liens multidirectionnels Comportement des liens XLink utilise XPath pour adresser l'intérieur des structures XML

DU24 Septembre Transformation de documents Le Web présente de multiples cas de transformation –Formatage –Réutilisation de document –Adaptation aux appareils de présentation –Conversion de format, par exemple XML vers HTML Trois approches –Des programmes utilisant le DOM –Les feuilles de transformation XSLT –Le langage de requêtes XQuery

DU24 Septembre XSLT Langage de transformation « le Perl de XML » Une feuille de transformation XSLT contient un ensemble de règles pattern/template Pattern –Contexte structurel dans l'arbre source –Expression XPath Template –Un fragment du résultat à produire pour le pattern correspondant Principe –Quand le pattern est reconnu dans le document source, le template correspondant est engendré dans le document résultat

DU24 Septembre XQuery « le SQL de XML » Un modèle de données pour les documents XML Un ensemble d'opérateurs sur ce modèle (algèbre) Un langage de requête fondé sur ces opérateurs (syntaxe) Les requêtes XQuery –Peuvent sélectionner des documents entiers ou des sous-arbres qui répondent à la requête –Peuvent construire des documents nouveaux fondés sur ce qui est sélectionné

DU24 Septembre Fonctions arithmétiques Vérifier si P(x,y) calcule x/y Que faire si P est incorrect? Corriger! Itérer P(x.r, y.r) pour r aléatoire. Majorité. 2.Langages réguliers 3.Langages d’arbres Vérification, Test et Correction

DU24 Septembre Property F on a class K Goldreich, Golwasser, Ron ~1995 An test for F is a probabilistic algorithm A such that –If U |= F, A accepts –If U is far from F, A rejects with high probability (>2/3) –Time(A) independent of n Test de propriété

DU24 Septembre Property testing on words F : 0*1* W |= F  Prob [ H |= F’ ] =1 W is -far from F  Prob [ H |= not F’] >2/3 H random subword Word W

DU24 Septembre A testable regular property W |= F  Prob [ H |= F’ ] =1 W is -far from F  Prob [ H |= not F’] >2/3 Many 10 appear in W. Repeating the test will detect it with high probability H random subword  F’ Word W How can we verify F : 0*1* ? distance(w,w’) = Hamming distance

DU24 Septembre Regular properties are testable Theorem. Regular languages are testable. N. Alon, M. Krivelevich, I. Newman, M. Szegedy FOCS 99. General idea : if a word is far from a regular language, it contains many subwords which are infeasible and can be detected.

DU24 Septembre Tree-automata Logical definability on trees Tree grammar Regular expression Tree properties r(a,b(a,b(a,b(a,b(a,b(a,b)....)r(a(a,b(a,b(a(a,b),b)....),b)

DU24 Septembre Distance(T1,T2) = # flips T1 : T2 (when defined) Flips : Distance on Trees Distance(T1,T2) =2

DU24 Septembre Expansion. Operations on Trees

DU24 Septembre (q0, q0)  q1 (q0,q1)  q1 Tree automata q0 q1 q0 q1 q2 (q1,q1)  q2 (q1,q0)  q2 (q2,-)  q2 (-,q2)  q2

DU24 Septembre Logical definability on a class K of trees Tree properties Equivalence of : Automata definable Monadic Second-order Regular

DU24 Septembre Definition : a subtree t is feasible for L if there are subtrees (for its leaves) which reach states (q1...ql) such that the state of the root q=t(q1...ql) can reach an accepting state (in the automaton for L). Feasible subtree feasible infeasible

DU24 Septembre Theorem. If then the number of unfeasible subtrees of length a is O(n). Infeasible subtrees Intuition : if the Distance is large then there are many infeasible subtrees

DU24 Septembre Decision principle: analysis of the esssentially strongly connected component Deciding the transformation qq’ Q Find a path in the tree automaton from (q,q’) until Q. It will determine the sequence of flips and expansions.

DU24 Septembre Avoir un testeur est équivalent à avoir un correcteur, lorsque le mot n’est pas trop loin d’un langage. Projets: 1.Implémenter le testeur 2.Implémenter le correcteur Test et Correction

DU24 Septembre Conclusion XML : standard pour les documents WEB Manipulation d’arbres réguliers –DTD=Automate=Expression régulière. Arbres: –Les arbres réguliers sont testables –On peut les corriger.