1. Introduction à XML
Transcription
1. Introduction à XML
REPRESENTATION DES CONNAISSANCES Cours préparé pour l’Université de Stendhal, Grenoble (France) Cédric Lopez [email protected] Frédérique Segond [email protected] www.viseo.net 1 RAPPELS (1/3) Web => conçu pour les humains (HTML : présentation des données) Problèmes: ●Comment trouver l’information pertinente ? ●Comment extraire l’information pertinente ? => Le contenu du Web doit être compréhensible pour les machines ! 2 RAPPELS (2/3) ● Réseau sémantique (jeuxdemots.org) 3 RAPPELS (3/3) Exemple de réseau sémantique (exprimé en Prolog) : isa(mammifère, animal). isa(Mouska, chien). isa(chien, mammifère). isa(chat, mammifère). isa(Félix, chat). isa(vache, mammifère). 4 2. Introduction à XML Cours préparé pour l’Université de Stendhal, Grenoble (France) Cédric Lopez [email protected] VISEO – Objet Direct 4, avenue Doyen Louis Weil 38000 Grenoble www.viseo.net 5 1. Introduction à XML Historique des langages descriptifs ●GML : Generalized Markup Language ●HTML : Hypertext Markup Language ●DHTML : Dynamic HTML ●XML : Extensible Markup Language HTML DHTML XML SGML GML 6 Années 1990 1986 1969, IBM Vers le Web sémantique ●Dans le cadre du Web Sémantique : 7 XML Extensible Markup Language RDF Resource Description Framework RDFS RDF Schema OWL Web Ontology Language 1. Introduction à XML XML = langage de balisage extensible Reconnaissable par son usage des chevrons (< >) encadrant les balises. Objectif : stocker dans un fichier des informations structurées. On parle alors de document XML. faciliter l'échange automatisé de contenus complexes (arbres, texte riche…) entre systèmes d’informations hétérogènes. Différence avec HTML : ● XML permet de séparer le contenu de la présentation ● Toute balise ouverte doit être fermée ! 8 1. Introduction à XML HTML : présentation des données ≠ XML : description des données 9 1. Introduction à XML Avantages de XML ● Aucune connaissance ne doit théoriquement être nécessaire pour comprendre un contenu d'un document XML ● Une structure arborescente ● Universalité et portabilité : les différents jeux de caractères sont pris en compte ● Déployable : il peut être facilement distribué par n'importe quels protocoles à même de transporter du texte, comme HTTP ● Intégrabilité : un document XML est utilisable par toute application pourvue d'un parser ● Extensibilité : un document XML doit pouvoir être utilisable dans tous les domaines d'applications ● Adapté à l'échange de données et de documents. 10 1. Introduction à XML HTML : les balises sont déjà définies … XML : à nous de les définir ! <personne> <etudiant> <nom>Dupont</nom> <prenom>Pierre</prenom> <mail>[email protected]</mail> </etudiant> <professeur> … </professeur> </personne> 11 1. Introduction à XML Document XML bien-formé = respect de certaines règles : Une seule balise racine Toute balise ouverte doit être fermée Les noms des balises doivent commencés par une lettre ou «_» Les autres caractères peuvent être des chiffres, des lettres, "_", "." ou "-". Les noms des balises ne doivent pas commencer par « xml » Par convention, les balises sont en minuscules. Aucun chevauchement n'est autorisé Les valeurs des entités doivent toujours être encadrées par des guillemets (simples ou doubles) Quand un élément est vide, les balises peuvent être simplifiées <balise></balise> est identique à <balise/> 12 1. Introduction à XML <personne> <etudiant> <nom>Dupont</nom> <prenom>Pierre</prenom> <mail>[email protected]</mail> </etudiant> <professeur/> </personne> 13 1. Introduction à XML Exercice 1 : Représenter la salle en XML 14 1. Introduction à XML Document XML valides = un document XML bien formé qui se conforme aussi aux règles d'un modèle (ou schéma) de documents donné par une DTD DTD (Document Type Definition) : description de manière stricte de la structure du fichier XML. La DTD d'un document peut être écrite à l'intérieur et à l'extérieur du fichier XML. 15 1. Introduction à XML <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE annuaire SYSTEM « personne.dtd"> <annuaire> <personne type="étudiant"> <nom>Dupont</nom> <prenom>Pierre</prenom> <email>[email protected]</email> </personne> <personne type="professeur"> <nom>Lopez</nom> <prenom>Cédric</prenom> <email>[email protected]</email> </personne> </annuaire> 16 1. Introduction à XML <?xml version="1.0" encoding="ISO-8859-1"?> <!ELEMENT annuaire (personne*)> <!ELEMENT personne (nom,prenom,email+)> <!ATTLIST personne type (étudiant | professeur | secrétaire | technicien) "étudiant"> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT email (#PCDATA)> 1. 2. 3. 4. 5. 17 Définition des éléments : <!ELEMENT nom_element (structure)> Définition des attributs : <!ELEMENT nom_element nom_attribut (structure)> Choix par défaut : après le structure du type Opérateurs : * + ? | , Type de contenu : #PCDATA, EMPTY, ANY 1. Introduction à XML Opérateurs + L'élément doit être présent au minimum une fois A+ * L'élément peut être présent plusieurs fois (ou aucune) A* ? L'élément peut être optionnellement présent A? | L'élément A ou l'élément B peuvent être présents A|B , L'élément A doit être présent et suivi de l'élément B A,B () Les parenthèses permettent de regrouper des éléments afin de leur appliquer les autres opérateurs (A,B)+ <!ELEMENT annnuaire (personne*)> 18 1. Introduction à XML Types de contenu ANY L'élément peut contenir tout type de données EMPTY L'élément ne contient pas de données spécifiques #PCDATA L'élément doit contenir une chaîne de caractères <!ELEMENT email (#PCDATA)> 19 1. Introduction à XML Exercice 2 : À partir de la DTD suivante, donner deux exemples de document XML. <!ELEMENT mail? > <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT 20 personne (nom,prenom,adresse), telephone?, nom (#PCDATA) > prenom (#PCDATA) > adresse (#PCDATA) > telephone (#PCDATA) > mail (#PCDATA) > 1. Introduction à XML Exercice 3 : Ecrire la DTD de la classe (selon le XML de l’exercice 1). 21 1. Introduction à XML La DTD n’est pas obligatoire, on l’écrit seulement lorsqu’il y a un intérêt (contraintes lors de la saisie d’un document XML) !!! 22 1. Introduction à XML Exercice 4 : Structurer le texte suivant en XML (par G. Chagnon) Il existe diverses variétés de nuages. La plupart de ceux dont nous allons parler ne produit aucun "hydrométéore", sauf le cumulonimbus, qui est accompagné d'averses (parfois sous la forme de neige, de grésil ou de grêle). L'altocumulus et le cirrocumulus partagent les mêmes "espèces" : lenticularis, stratiformis, castellanus et flocus. On retrouve ces deux espèces également chez le cirrus, ainsi que les espèces spissatus, uncinus et fibratus. Les espèces stratiformis, lenticularis et castellanus sont quant à elles partagées également avec les strato-cumulus. Ces derniers peuvent se traîner au ras du sol et monter à 2000m, mais certains nuages ont une altitude minimale à peine plus élevée, puisqu'elle n'est que de 200m pour les cumulus, et de 300m pour les cumulonimbus. Il est vrai que ces derniers compensent en montant jusqu'à une altitude maximale de 18000m, soit plus haut encore que les cirrus, qui plafonnent à 12000m. L'altitude minimale de ces derniers coïncide avec la fin de la présence possible des altocumulus, à 6000m. Et c'est autour de cette zone, entre 5000 et 7000m, que se trouvent les cirrocumulus. L'altitude minimale des altocumulus est de 2000m, soit quatre fois moins que l'altitude maximale des cumulus. Ces pauvres cumulus ne sont pas favorisés en nom d'espèces, puisqu'ils se trouvent affligés de noms tels que fractus, mediocris, humilis et congestus... alors que les cumulonimbus ont des espèces aux noms plus... capillaires tels que calvus, capillatus. Les très gros cumulonimbus sont appelés mammatus. 23 1. Introduction à XML Correction 24 Editeur XML ALTOVA http://www.altova.com/thankyou.asp 25 Exercice 5 (par G. Chagnon) Rédiger un XML et une DTD pour une bibliographie. Cette bibliographie contient des livres et des articles. les informations nécessaires pour un livre sont : ● son titre général ; ● les noms des auteurs ; ● ses tomes et pour chaque tome, leur nombre de pages ; ● des informations générales sur son édition comme par exemple le nom de l'éditeur, le lieu d'édition, le lieu d'impression, son numéro ISBN ; les informations nécessaires pour un article sont : ● son titre ; ● les noms des auteurs ; ● ses références de publication : nom du journal, numéro des pages, année de publication et numéro du journal on réservera aussi un champ optionnel pour un avis personnel. Tester cette DTD avec un fichier XML que l'on écrira ex-nihilo et validera. 26