Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 1 sur 34 2021/2
Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 1 sur 34 2021/2022 Module M203 : Développement Web coté client Filière : Techniques de Développement Informatique XML/DTD/XSD/XPATH/XSLT Office de la formation Professionnelle et de la promotion du travail DR SM/ISTA TIZNIT XMLDTD, Schéma XML, XPath et SXLTRésumé du cours et exercices Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 2 sur 34 Table des matières XML ...................................................................................................................................................................................... 4 IDE .................................................................................................................................................................................... 4 Définition de XML ............................................................................................................................................................ 4 Qu’est-ce qu’un élément XML ? ....................................................................................................................................... 5 Élément vide : .................................................................................................................................................................. 5 Comment écrire un élément : .......................................................................................................................................... 5 Attributs en XML .............................................................................................................................................................. 5 Syntaxe XML ..................................................................................................................................................................... 6 Racine (root) .................................................................................................................................................................... 6 Prolog ............................................................................................................................................................................... 6 Règles: .......................................................................................................................................................................... 6 Attributs .......................................................................................................................................................................... 6 Règles : ......................................................................................................................................................................... 6 Références d’entités ......................................................................................................................................................... 7 L’espace blanc est conservé dans XML ....................................................................................................................... 7 DTD ....................................................................................................................................................................................... 9 Elément en DTD ............................................................................................................................................................. 11 Syntaxe ....................................................................................................................................................................... 11 Exemple d'élément mixte ........................................................................................................................................... 11 Attribut en DTD .............................................................................................................................................................. 11 Syntaxe ....................................................................................................................................................................... 11 Exemple de choix au niveau des attributs : ................................................................................................................ 12 Entité en DTD ................................................................................................................................................................. 12 Les entités générales .................................................................................................................................................. 12 Les entités paramètres ............................................................................................................................................... 12 Schéma W3C ...................................................................................................................................................................... 15 Un schéma XML est plus performant qu’un DTD ......................................................................................................... 15 Exemple : Le document XML ci-dessous contient une référence à un schéma XML : ................................................... 15 Exemple : Le document XML ci-dessous est un exemple de schéma XML : .................................................................. 16 Déclarations d'éléments simples ................................................................................................................................... 17 Syntaxe: ...................................................................................................................................................................... 17 Les types pour les chaînes de caractères ....................................................................................................................... 17 Les types pour les dates et heures ................................................................................................................................. 18 Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 3 sur 34 Les types pour les dates et heures ................................................................................................................................. 18 Autres types ................................................................................................................................................................... 19 Les types complexes ...................................................................................................................................................... 19 Les contenus des types complexes ................................................................................................................................ 19 Les contenus simples ..................................................................................................................................................... 19 Les contenus standards .................................................................................................................................................. 20 Balise contenant un ou plusieurs attributs ................................................................................................................ 20 Balise contenant d'autres éléments ........................................................................................................................... 21 Les contenus mixtes ....................................................................................................................................................... 22 Le nombre d'occurrences ............................................................................................................................................... 22 XSLT transformation: ......................................................................................................................................................... 23 XSLT utilise XPath ........................................................................................................................................................... 23 comment ça fonctionne ? .............................................................................................................................................. 24 C’est quoi XPath? ........................................................................................................................................................... 24 Sélection d’éléments et attributs : ................................................................................................................................. 26 Filtrage : ......................................................................................................................................................................... 27 Prédicats composés ....................................................................................................................................................... 28 Selection Noeuds ........................................................................................................................................................... 29 Prédicats......................................................................................................................................................................... 31 Séléction les noeuds anonymes ................................................................................................................................... 32 Sélection de plusieurs chemins ...................................................................................................................................... 33 Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 4 sur 34 XML IDE Pour l’éditeur on peut utiliser VisualStudioCode et ajouter cette extension Définition de XML ✓XML signifie eXtensible markup langage. ✓XML a été conçu pour stocker et transporter des données. ✓XML a été conçu pour être à la fois lisible par l’homme et la machine. Exemple : <?xml version="1.0" encoding="utf-8" ?> <etudiants> <etudiant code="12" dateN="12/03/2000" > <nom>Rami</nom> <prenom>Ahmed<</prenom> <diplomes> <diplome codeD="123" nomD="licence"/> <diplome codeD="143" nomD="Technicien"/> <diplome codeD="324" nomD="bac"/> </diplomes> </etudiant> <etudiant code="13"> <nom>Alami</nom> <prenom>Ali</prenom> <diplomes> <diplome codeD="143" nomD="Technicien"/> <diplome codeD="324" nomD="bac"/> </diplomes> </etudiant> </etudiants> Différence entre XML et HTML XML et HTML ont été conçus avec des objectifs différents : ➢ XML a été conçu pour transporter des données - en se concentre sur les données. ➢ HTML a été conçu pour afficher des données présentation en se concentrer sur l’apparence des données. ➢ Les balises XML ne sont pas prédéfinies comme les balises HTML. Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 5 sur 34 Un fichier XML est constitué d’éléments Qu’est-ce qu’un élément XML ? Un élément XML est constitué d’une balise ouvrante et balise fermante. <nom>Rami</nom> nom est un élément Un élément peut contenir : Du texte <nom>Rami</nom> Un autre(s) élément(s) <diplomes> <diplome codeD="143" nomD="Technicien"/> <diplome codeD="324" nomD="bac"/> </diplomes> Texte et élément <p>code:<span>121</span></p> Attribut(s) <diplome codeD="143" nomD="Technicien"/> Élément vide : Un élément vide est un élément qui ne contient rien <diplome codeD="143" nomD="Technicien"> </diplome > Peut être écrit autrement <diplome codeD="143" nomD="Technicien"/> Comment écrire un élément : Il n’y a pas de styles de nommage définis pour les éléments XML. Mais voici quelques noms couramment utilisés : Style Example Description Lower case <firstname> Toutes les lettres sont en minuscule Upper case <FIRSTNAME> Toutes les lettres sont en majunuscule Underscore <first_name> Underscore separates words Pascal case <FirstName > Uppercase first letter in each word Camel case <firstName> Uppercase first letter in each word except the first Camel case est la règle de nommage en JavaScripts. Les éléments XML peuvent avoir des attributs, tout comme html. Attributs en XML Les attributs sont conçus pour contenir des données liées à un élément spécifique. Les valeurs d’attribut doivent toujours entre Des guillemets simples ou doubles peuvent être utilisés. <diplome codeD="143" nomD="Technicien"/> <diplome codeD=’143’ nomD=’Technicien’/> Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 6 sur 34 Syntaxe XML Racine (root) XML doit contenir un root (racine) élément qui est parent de tous les éléments: <root> <child> <subchild>.....</subchild> </child> </root> Dans l’exemple précèdent etudiants est un élément racine (root) Prolog Cette ligne s’appelle XML prolog: <?xml version="1.0" encoding="UTF-8"?> Les documents XML peuvent contenir des caractères internationaux, comme øæå norvégien ou Français êèé. Pour éviter les erreurs, vous devez spécifier l’encodage utilisé, ou enregistrer vos fichiers XML sous le nom d’UTF-8. UTF-8 est le codage par défaut des caractères pour les documents XML. Règles: ✓ Tous les éléments XML doivent avoir la balise ouvrante et fermante <nom>Rami</nom> <diplome codeD="143" nomD="Technicien"/> <diplome codeD="143" nomD="Technicien"></diplome > ✓ Les éléments sont sensibles à la casse (majuscule/minuscule) <nom>Rami</Nom> faux ✓ les éléments doivent être correctement imbriqués En HTML, vous pouvez voir des éléments incorrectement imbriqués : <b><i>This text is bold and italic</b></i> faux <b><i>Thi text is bold and italic</i> </b> vrai Attributs Les éléments peuvent contenir des attributs : Règles : Les valeurs des attributs doivent être entre guillemet L’ordre des attributs dans un élément n’est pas important (Le codeD et nomD se sont des attributs) <diplome codeD="123" nomD="licence"/> Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 7 sur 34 Une information peut être stocké comme #PCDATA dans un élément Exemple : <nom>Rami</nom> Ou bien dans un attribut par exemple <etudiant code="12" dateN="12/03/2000" > Les données d’un attribut sont toujours entre double quottes. Références d’entités Certains caractères ont une signification particulière dans XML. Si vous placez un caractère comme « < » à l’intérieur d’un élément XML, il générera une erreur parce que le parseur l’interprète comme le début d’un nouvel élément. Cela générera une erreur XML : <message>salary < 1000</message> Pour remédier à ce problème il faut remplacer le caractère « <« par son entité référence <message>salary < 1000</message> Voici la liste des entités prédéfinies : < < less than > > greater than & & ampersand ' ' apostrophe " " quotation mark Commentaire en xml : <!--c’est un commentaire --> L’espace blanc est conservé dans XML XML ne tronque pas plusieurs espaces blancs (HTML tronque plusieurs espaces blancs en un seul espace blanc) : XML Hello world HTML Hello world Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 8 sur 34 Exercice 1 Création d’un livre en XML On souhaite écrire un livre en utilisant le formalisme XML. Le livre est structuré en sections (au moins 2), en chapitres (au moins 2) et en paragraphes (au moins 2). Le livre doit contenir la liste des auteurs (avec nom et prénom). Tous les éléments doivent posséder un titre, sauf le paragraphe qui contient du texte. Proposez une structuration XML de ce document (avec 2 auteurs, 2 sections, 2 chapitres par section et 2 paragraphes par chapitre). Vérifiez, à l’aide de l’éditeur, que votre document est bien formé. Attention : ne pas utiliser d’attributs ; l’encodage utilisé est ISO-8859-1 Votre document sera nommé livre1.xml. Exercice 2 Utilisation des attributs Conception de livre2.xml à partir de livre1.xml On souhaite compléter la structure du document XML de l’exercice précédent par les attributs nom et prenom pour les auteurs et titre pour le livre, les sections et les chapitres. Analysez la structure du nouveau document. Y a-t-il des simplifications possibles ? Vérifiez, à l’aide de l’éditeur, que votre document est bien formé. Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 9 sur 34 DTD DTD (Document Type Definition ) signifie Définition de type document. Un DTD définit la structure et les éléments et attributs légaux d’un document XML. Plan d’un fichier XML. Permet de valider un fichier XML <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE etudiants [ <!ELEMENT etudiants (etudiant+)> <!ELEMENT etudiant (nom,prenom,diplome*)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT diplome EMPTY> <!ATTLIST etudiant code CDATA #REQUIRED> <!ATTLIST diplome codeD CDATA #REQUIRED nomD CDATA #REQUIRED> ]> <etudiants> <etudiant code="10"> <nom>Ali</nom> <prenom>Salem</prenom> <diplome codeD="9" nomD="bac"/> <diplome codeD="10" nomD="Technicien"/> </etudiant> <etudiant code="11"> <nom>Rami</nom> <prenom>Ahmed</prenom> <diplome codeD="120" nomD="Master" /> </etudiant> </etudiants> Une DTD peut être interne ( [ … ] ) ou externe (SYSTEM ou PUBLIC) au document XML. Un DTD peut être à l’extérieur du fichier XML : <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE etudiants SYSTEM "dtdEtudiant.dtd"> <etudiants> <etudiant code="10"> <nom>Ali</nom> Cours XML/DTD/XSD/XPATH/XSLT Développement web coté client Page 10 sur 34 <prenom>Salem</prenom> <diplome codeD="9" nomD="bac"/> <diplome codeD="10" nomD="Technicien"/> </etudiant> <etudiant code="11"> <nom>Rami</nom> <prenom>Ahmed</prenom> <diplome codeD="120" nomD="Master" /> </etudiant> </etudiants> Le fichier dtdEtudiant.dtd <!ELEMENT etudiants (etudiant+)> <!ELEMENT etudiant (nom,prenom,diplome*)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT diplome EMPTY> <!ATTLIST etudiant code CDATA #REQUIRED> <!ATTLIST diplome codeD CDATA #REQUIRED nomD CDATA #REQUIRED> uploads/S4/ coursxml-dtd-xsd-xpath-xslt.pdf
Documents similaires
-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 27, 2021
- Catégorie Law / Droit
- Langue French
- Taille du fichier 1.5115MB