UNIVERSITÉ GASTON BERGER DE SAINT-LOUIS Technologies XML Awa DIATTARA awa.diattara@ugb.edu.sn 06/01/2025 Objectifs du cours Objectif général o Comprendre le standard XML, ses standards dérivés (XSL, XPATH, XSLT) et les méthodes de manipulation de données XML. Compétences à acquérir : o Comprendre les concepts de base du langage XML permettant de concevoir des documents XML. o Comprendre les techniques de manipulation de données XML basées sur XSL et les langages de programmation (Java, PHP, JavaScript, …). o Être capable de développer des applications basées sur XML en utilisant XSLT ou des APIs (Java, PHP, …) pour XML. DIATTARA Awa Technologies XML Déroulement du cours Des cours magistraux : 18h Des travaux pratiques : 18h Des QCM DIATTARA Awa Technologies XML Modalités d’évaluation Les apprentissages seront évalués par : o Un devoir sur table o Un examen final Première session o Note finale = (contrôle_continu + (examen * 2)) / 3 Deuxième session o Note finale = (contrôle_continu + (examen * 3)) / 4 DIATTARA Awa Technologies XML Plan du cours I. Généralités sur XML II. Grammaires XML : DTD III. Grammaires XML : XML schéma IV. Manipulation de données XML avec XSL (XML Stylesheet Langage) V. Manipulation de données XML avec XPATH VI. Standards DOM, SAX, APIs XML pour les langages de programmation (Java, PHP, JavaScript, …). DIATTARA Awa 6 Technologies XML Présentation de XML 7 XML c’est quoi, et pour faire quoi ? 8 Technologies XML Historique 9 De SGML à XML Historique o SGML (Standard Generalized Markup Language) : année 1980, par Charles Godfard Normalisé (ISO 8879 - 1989) Langage à balises pour représenter des documents structurés Complexe et difficile à apprendre Exige une expertise approfondie pour être utilisé efficacement (exige une grande rigueur à l’entrée des documents) Réservé aux professionnels de la documentation Difficilement extensible au web (Liens hypertextes possibles mais complexes) Tentative sur le web échec DIATTARA Awa Technologies XML De SGML à XML Historique o HTML (Hypertext Markup Language) : année 90, par Tim Berners-Lee Principal langage utilisé pour le web Basé sur un ensemble prédéfini et limité de balises Simple, très populaire, Standard reconnu par tous les navigateurs Dédiée à la présentation de contenu Ne permet pas d’échanger des données entre applications Ne permet pas un traitement des données outre que l’affichage Ne convient pas à l’échange de données structurées DIATTARA Awa Technologies XML De SGML à XML Historique o XML (eXtensible Markup Langage), introduit en 1996 par le W3C Langage de balisage extensible : création de vos propres balises adaptées à vos besoins Générique : pas destiné à domaine spécifique, s’adapte à différents types de données Séparation des données et de la présentation : XML se concentre uniquement sur la les données sans se soucier de leur apparence Lisible par les machines et par les humains Adapté à l’échange de données structurées entre systèmes informatique Version 1.0 : Février 1998 - la plus largement utilisée. Version 1.1 : Février 2004 DIATTARA Awa Technologies XML Objectifs de XML Faciliter les échanges de données entre machines. Décrire les données de manière aussi bien compréhensible par les hommes qui les écrivent que par les machines qui les exploitent. Être standardisé, simple, mais surtout extensible et configurable afin que n’importe quel type de données puissent être décrit. DIATTARA Awa Technologies XML Technologies XML Introduction à XML 14 Définition et caractéristiques XML est un langage qui fournit un format universel (des façons de représenter de l’information) pour décrire et structurer des documents. XML permet de standardiser la manière dont l’information est : o Echangée (XML) o Personnalisée (XSL) o Retrouvée (Xquery) o Sécurisée (Encryption, Signature) o Liée (Xlink) o … DIATTARA Awa Technologies XML Définition et caractéristiques Description des données : pas de collections de balises prédéfinies, XML permet aux concepteurs de documents de définir : o Leurs propres marqueurs (balises) o La structure de ces balises Structuration : XML est un modèle de données (décrivant la manière dont sont représentées les données) fondé sur des arbres. Il organise les données en une hiérarchie logique facilitant la gestion et l’accès aux données. DIATTARA Awa Technologies XML Remarques importantes XML fournit une syntaxe, pas de sémantique à priori. Les balises n’ont pas de présentation ou de signification définie par le langage, mais elles peuvent avoir un sens pour les applications. XML ne définit que la structure et le contenu d’un document, pas son comportement. Développement et promotion par le W3C depuis 1996 Supporté par les grands industriels (Oracle, IBM, Microsoft, Apple, etc.), laboratoires de recherche (MIT, INRIA, Université Keio, …). DIATTARA Awa Technologies XML Les 10 objectifs de XML 1. XML doit être utilisé sans difficultés sur Internet. 2. XML doit soutenir une grande variété d'applications. 3. XML doit être compatible avec SGML et HTML. 4. Il doit être facile d'écrire des programmes traitant les documents XML. 5. Le nombre d'options dans XML doit être réduit au minimum, idéalement à aucune. 6. Les documents XML doivent être lisibles par l'homme et raisonnablement clairs. 7. La spécification de XML doit être disponible rapidement. 8. La conception de XML doit être formelle et concise. 9. Il doit être facile de créer des documents XML 10. La concision dans le balisage de XML est peu importante DIATTARA Awa Technologies XML Avantages de XML Une communauté inventive Liberté pour l’utilisateur : o Définir ses propres structures de document o Se confronter à des structures type comme les DTD, les schémas (abordés plus loin dans le cours). Problématique d’interrogation et d’échange de données entre systèmes d’information hétérogènes Exemple : indexation et interrogation de grosses bases documentaires, en raison de ses caractéristiques clés : • non-ambiguité : règles syntaxiques strictes • lisibilité : lisible pour un humain (facile d’appréhender le langage) • passivité : dépend du programme informatique qui va le transformer DIATTARA Awa Technologies XML Quels outils pour XML ? Il suffit juste d’un éditeur de texte. Mais, des outils spécialisés pour nous faciliter la vie (coloration syntaxique, numéro de lignes, validation de documents, … ) : o Altova XML o EditiX o oXygen o Liquid studio o Notepad++ (onglet langage XML) - coloration syntaxique o XML Notepad o Visual Studio Code o XML Copy Editor o Les éditeurs XML en ligne o … DIATTARA Awa Technologies XML Les langages apparentés Un des atouts de XML est le nombre de technologies et de langages qui se sont développés autour : o XLINK et XPOINTER (liens entre documents). o XPATH : langage de sélection o XQUERY : langage de requête o Schémas XML : modèles de documents o XSLT (transformations, pesonnalisation de documents) o … DIATTARA Awa Technologies XML Concurrents de XML Quelques concurrents de XML : o JSON o CSV o HTML o YAML o RDF o Etc. o … DIATTARA Awa Technologies XML Technologie XML Syntaxe de base 23 Document bien formé Un document XML est dit bien formé lorsqu’il respecte les règles syntaxiques du XML. Règles à respecter : o Il existe un seul élément père (appelé racine) par document. o Tout élément fils est inclus complètement dans son père (pas d’éléments croisés). Attention : XML ne spécifie pas le comportement ni la manière dont un document doit être traité, mais se contente de définir un format. DIATTARA Awa Technologies XML Exemple de document XML Exemple décrivant un email DIATTARA Awa Technologies XML XML : les balises Les balises sont les composants fondamentaux permettant l’écriture de documents XML. Elles n’ont pas de présentation ou de signification définie par le langage mais elles auront un sens pour les applications et/ou le lecteur. Types de balise : o Balise d’ouverture : <nom_balise> o Balise de fermeture </nom_balise> o Balise vide <nom_balise/> balise sans contenu Exemple de balise : <adresse> UGB, Sanar, Saint-Louis </adresse> DIATTARA Awa Technologies XML XML : règle de nommages des balises Le nom de l’élément (ou balise) : o Doit commencer par un caractère alphabétique ou le caractère de soulignement (_). Ceux commençant par xml sont réservés. o Les autres caractères peuvent être alphanumériques, le soulignement ou le trait d’union XML différencie les majuscules des minuscules. Deux éléments ne peuvent pas avoir un contenu croisé. o Par exemple : <nom1> … <nom2> … </nom1> … </nom2> est interdit. Les syntaxes <element></element> et <element/> sont strictement équivalentes (ce sont des balises sans contenu). DIATTARA Awa Technologies XML Balise : attribut Un attribut est une information supplémentaire attachée à un élément, on parle de métadonnée. Les attributs d’un élément sont formés d’une suite d’affectations séparées par des espaces : Exemples : attribut1 = 'valeur' attribut2 = 'valeur'… Les attributs sont ajoutés à la balise ouvrante ou à une balise vide (jamais à une balise fermante) : o <nom_element [attribut1 = 'valeur' …]> o <nom_element [attribut1 = 'valeur' …] /> Un élément ne peut pas contenir deux attributs ayant le même nom. DIATTARA Awa Technologies XML Balise : attribut La valeur d'un attribut est indiquée entre apostrophes ou guillemets (au choix, mais pas de mélange des deux). Exemple : attribut1 = 'valeur' ou attribut1 = "valeur" Conseil : utilisez des apostrophes si la valeur de l’attribut comporte des guillemets et vice versa. Le nom d’un attribut est soumis aux mêmes contraintes que les noms des éléments. La valeur de l’attribut quand à elle peut contenir tout caractère à l’exception de ^ et &. DIATTARA Awa Technologies XML Balise : attribut L’ordre des attributs n’a pas d’importance. Les deux exemples suivants sont équivalents : DIATTARA Awa Technologies XML Équivalence attribut / élément Un attribut peut toujours être représenté par un élément fils de l’élément qu’il caractérise avec une signification du même ordre : o <element attribut = ''x''/> ou o <element><attribut>x</attribut></element> Il est donc tout à fait possible de faire du XML sans utiliser d’attribut. DIATTARA Awa Technologies XML Usage des attributs Méthode : on utilise généralement les attributs pour : o Différencier le contenu destiné à être affiché dans le document des métadonnées qui ne le seront pas (exemple : version, date de création,…). o Simplifier l’écriture du document. o Ajouter des identifiants et des références. DIATTARA Awa Technologies XML Structure générale d’un fichier XML Un document XML est constitué de : o Un prologue Il est facultatif et comprend une déclaration XML indiquant la version du langage XML utilisée et le codage des caractères dans le document. Chacune de ces informations est optionnelle mais leur ordre est obligatoire. Exemple de prologue o Un arbre d’éléments contenant au moins un élément (l’élément racine). DIATTARA Awa Technologies XML Exercice d’application 1 Distinguez les noms XML corrects des noms incorrects et corrigez les erreurs. 1. <4-bonjour> 4-645 Coucou </4-bonjour> 2. <first name> Aissatou </first name> 3. <_hello> Bonjour les amis </_hello> 4. <Aujourd’hui> C’est le jour de mon anniversaire </Aujourd’hui> 5. <Nom> C’est le jour de mon anniversaire </nom> DIATTARA Awa Technologies XML Exercice d’application 2 Observez le document suivant : – Est-il bien formé (c’est-à-dire respecte-t-il la syntaxe XML) ? – S’il ne l’est pas, corrigez les erreurs DIATTARA Awa Technologies XML Exercice d’application 3 Soit le document XML suivant décrivant un courrier. Proposez une représentation arborescente du document. DIATTARA Awa Technologies XML Exercice d’application 4 Proposez une représentation de la table personne dans un formalisme XML. NOM TELEPHONE EMAIL Fatou 771254879 fatou@ugb.edu.sn Modou 781252879 modou@ugb.edu.sn Alice 761252879 alice@ugb.edu.sn DIATTARA Awa Technologies XML
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )