370 likes | 567 Views
Créer un document XML élémentaire. Créer un fichier .txt Enregistrer le fichier en lui donnant l’extension .xml Ou changer l’extension .txt en.xml. Vérifier un document XML. Une fois le document XML terminé, on détecte les erreurs de syntaxe éventuelles grâce à un parseur
E N D
Créer un document XML élémentaire • Créer un fichier .txt • Enregistrer le fichier en lui donnant l’extension .xml • Ou changer l’extension .txt en.xml Le 10/05/2006
Vérifier un document XML • Une fois le document XML terminé, on détecte les erreurs de syntaxe éventuelles grâce à un parseur • Il existe deux types de parseurs : Validant et non validant Le 10/05/2006
Parseurs validant • Les parseurs validants contrôlent la syntaxe du document XML. • Ils vérifient également que les données XML respectent les éventuelles règles de validation prédéfinies en comparant les documents XML aux définitions de type de document (DTD) et aux schémas. Exemple : MSXML : parseur validant inclus dans Internet Explorer 5.5 Le 10/05/2006
Parseurs non validants • Les parseurs non validants vérifient la syntaxe des documents XML, mais ne contrôlent pas la concordance de ces derniers avec les DTD et les schémas. Exemples de parseurs de ce type : • RUWF de XML.com, fondé sur le parseur Lark : www.xml.com/pub/tools/ruwf/check.html. • Expat de James Clark : www.jclark.com/xml/expat.html. Le 10/05/2006
Vérifier un document XML • Ouvrir le document .xml : ici essai1.xml Voici le résultat Le 10/05/2006
Interpréter les rapports d’erreur de MSXML • Nous introduisons une erreur dans le fichier XML, puis nous chargeons ce dernier dans Internet Explorer, afin d’étudier le rapport d’erreur généré par le parseur MSXML. Résultat Ici, le parseur XML indique la ligne et la position exacte en nombre de caractères de l’erreur syntaxique XML. Le 10/05/2006
Créer un processeur XML élémentaire • Pour traiter des données XML, nous devons créer un processeur XML, code qui accède aux données XML, les gère ou les affiche sous une forme intelligible. Il existe quatre grandes catégories de processeurs XML : 1- Feuilles de styles en cascade (CSS). Assurent un affichage élémentaire des données XML. (simple à créer, mais limité). 2- Feuilles de styles XSL. Assurent un affichage dynamique et complexe des données XML. Le 10/05/2006
3- Îlots de données et script. Incorporent des données XML dans une présentation HTML et, outre l’affichage de ces informations, assurent certaines opérations de traitement, comme la recherche d’erreurs éventuelles ou la gestion de données. 4- Modèle d’objet de données et script ou programme côté client. Créent une application XML complète. Le 10/05/2006
Ici, nous expliquons comment • créer une feuille de styles en cascade, • lier une CSS à un document XML. <?xml-stylesheet type="text/css" href="styles.css"?> Le 10/05/2006
Créer une déclaration de document XML • Nous créons un document XML grâce à un type d’instruction spécial : la déclaration XML. Tout document XML doit commencer par cette dernière. • La syntaxe est la suivante : • <?xml version="numéro_version" • [encoding="jeu_de_caractères"] • [standalone="yes | no"] ?> Facultative Le 10/05/2006
numéro_version indique la version de la spécification XML à laquelle se conforme le document. • jeu_de_caractères est une valeur facultative. Par défaut les documents XML sont écrits dans le jeu de caractères UTF-8, version compressée d’Unicode optimisée pour l’anglais américain. • l’attribut optionnel standalone peut prendre la valeur yes ou no, selon que le document XML doit ou non être associé à d’autres fichiers XML pour être valide. La valeur par défaut est yes : elle indique que le document XML ne dépend d’aucun autre fichier XML. Le 10/05/2006
La liste des jeux de caractères • UTF-8 : Unicode compressé • UTF-16 : UCS (Universal Character System) compressé : prise en charge parfois plus étendue des caractères d’autres langues que l’anglais. • UTF-10646-UCS-2 : Unicode brut, non compressé. • UTF-10646-UCS-4 : UCS (Universal Character System) brut. • ISO-8859-1 : Latin-1 : langues d’Europe occidentale. • ISO-8859-2 : Latin-2 : langues d’Europe orientale. • ISO-8859-3 : Latin-3 : langues d’Europe du Sud. • ISO-8859-4 : Latin-4 : langues d’Europe du Nord. Le 10/05/2006
La liste des jeux de caractères (suite) • ISO-8859-5 : alphabet cyrillique : bulgare, russe, serbe, etc. • ISO-8859-6 : Arabe. • ISO-8859-7 : Grec. • ISO-8859-8 : Hébreux. • ISO-8859-9 : Latin-5 : prise en charge du turc. • ISO-2022-JP : Japonais. • Shift_JIS : Japonais, Windows. • EUC_JP : Japonais, UNIX. Le 10/05/2006
Ajouter un commentaire • Il est forcément recommandé de commenter précisément vos documents XML Syntaxe : <!--Auteur de ce fichier : toto --> Balise de fermeture du commentaire Balise d’ouverture du commentaire Saisissez votre commentaire Le 10/05/2006
Déclarer l’élément racine • Il doit figurer au début du document XML, après la déclaration XML mais avant toute autre déclaration d’élément • La syntaxe à utiliser est la suivante : <nom_élément_racine> </nom_élément_racine> • nom_élément_racine est le nom de l’élément que vous voulez spécifier comme racine. N’oubliez pas que XML est sensible à la casse et que les balises d’ouverture et de fermeture doivent se correspondre exactement. Le 10/05/2006
Déclarer un élément de données non-racine • La structure des éléments de données se décrit en imbriquant des éléments contenus dans des éléments conteneurs • Tous les éléments de données non-racines sont contenus dans l’élément racine du document. • Les éléments de données non-racines se déclarent au moyen de la syntaxe suivante : <élément_conteneur [infos_attribut]> [<élément_contenu [infos_attribut]> </élément_contenu>] </élément_contenu> Le 10/05/2006
Exemple Entre les balises d’ouverture et de fermeture de l’élément conteneur, on insère un ou plusieurs éléments contenus, c’est-à-dire inclus dans l’élément conteneur. Ici, infos_marketing est à la fois un élément contenu et un élément conteneur Le 10/05/2006
Déclarer un élément de données répétitif • Vous pouvez ajouter plusieurs instances d’un même type d’élément de données en réutilisant simplement le nom de ce dernier. • Cette méthode permet de déclarer des éléments répétitifs et, ainsi, de créer des listes. • La syntaxe employée pour déclarer un élément de données répétitif est la même que celle utilisée dans le cas d’un élément de données XML non-racine : <nom_élément>données_élément_1</nom_élément> <nom_élément>données_élément_2</nom_élément> <nom_élément>données_élément_N</nom_élément> nom_élément correspond au nom de l’élément de données répétitif. Le 10/05/2006
Exemple On peut insérer toute Autre instance de l’élément de données répétitif Le 10/05/2006
Décrire un élément de données au moyen d’attributs • Vous pouvez déclarer des attributs et les associer à des éléments XML particuliers, afin de construire des groupes de données complexes. Cette déclaration doit s’effectuer dans la balise d’ouverture de l’élément, en respectant la syntaxe suivante : <nom_élément [nom_attribut_2="valeur_attribut_2"] [nom_attribut_N="valeur_attribut_N"]> valeur_élément</nom_élément> [nom_attribut_1="valeur_attribut_1"] Le 10/05/2006
Exemple Insérez toute autre déclaration d’attribut souhaitée. • Attention : Il est impossible de coupler deux attributs de nom identique à un même élément. Si vous soumettez, par exemple, la déclaration XML suivante à un parseur, il signale une erreur : • <infos_nutrition calories="128" • calories="461"> Le 10/05/2006
Utiliser une entité XML prédéfinie • Exemple : <desc_err>En cas de panne du PC, vous pouvez lire le message suivant : <<error 101>></desc_err> N’ayant aucun moyen de savoir que le deuxième chevron d’ouverture ci-dessus ne commence pas de balise, le parseur génère une erreur au moment de traiter cette déclaration. Le 10/05/2006
Pour pouvoir définir des données qui renferment des caractères comme des signes supérieur à et inférieur à, XML prévoit des entités prédéfinies qui permettent de différencier des symboles avec une signification particulière en XML (comme les chevrons d’ouverture) de ces mêmes caractères insérés dans une chaîne de texte ordinaire. • XML accepte cinq entités prédéfinies : • < pour représenter le signe inférieur à (<) ; • > pour représenter le signe supérieur à (>) ; • & pour représenter l’esperluette (&) ; • ' pour représenter l’apostrophe (’) ; • " pour représenter les guillemets ("). Le 10/05/2006
Insérer un texte avec des caractères spéciaux • Ce que nous avons vu précédemment convient parfaitement à une utilisation occasionnelle, mais lorsque vous vous trouvez obligé d’insérer beaucoup de symboles, mieux vaut recourir à une instruction spécialement prévue à cet effet : la section CDATA. Syntaxe : <![CDATA[texte]]> texte est une chaîne de texte qui renferme des caractères spéciaux et n’est pas contrôlée par les parseurs XML. Ce texte est ignoré, en quelque sorte. Le processeur XML est quant à lui chargé d’analyser et/ou d’exploiter ce texte pour le rendre intelligible. Le 10/05/2006
Exemple balise d’ouverture de la section CDATA : ]]>. balise de fermeture de la section CDATA : ]]>. Le 10/05/2006
Ajouter une instruction de traitement spéciale • Les instructions de traitement permettent de transmettre des instructions propres à l’application d’un document XML à un processeur XML. Elles respectent la syntaxe suivante : <?instructions?> • « instructions » correspond au nom de n’importe quel exécutable valide, suivi de tout paramètre obligatoire. Les instructions de traitement visant des applications spécifiques, leur intitulé commence souvent par le nom de l’application en question, suivi d’autres termes représentant des paramètres attendus par cette application. Le 10/05/2006
exemple Ici, l’instruction de traitement iexplorer.exe Correspond à l’exécutable d’Iternet Explorer Le 10/05/2006
Étudions quelques instructions : • <?gcc monProgramme.c?> réfère à un compilateur C (gcc.exe), auquel elle transmet un fichier source C (monProgramme.c). • <?doit.exe paramètre1="16463" paramètre2="79182" paramètre3="51"?> réfère à un exécutable interne (doit.exe), auquel elle transmet trois paramètres (16463, 79182 et 51). • <?xml-stylesheet type="text/xsl" href="exemple5.xsl"?> appelle un module qui fournit une feuille de styles XSL. Le 10/05/2006
Déclarer une DTD • Vous pouvez définir des types de données spécifiques pour chaque composant d’un document XML grâce à une définition de type de document (DTD). Vous pouvez implémenter une DTD de deux manières : • En incluant son texte dans le document XML. Privilégiez cette approche fondée sur des DTD en ligne dans de petits documents XML et dans tous les fichiers XML en phase de développement, ainsi que dans les cas où vous n’envisagez pas d’appliquer la DTD à d’autres documents XML. • En enregistrant le texte de la DTD dans un fichier indépendant, auquel vous faites référence au sein du document XML. Le 10/05/2006
Déclarer une DTD en ligne • Une DTD en ligne se crée au moyen de la syntaxe suivante : <!DOCTYPE élément_racine [règles_dtd]> élément_racine correspond à la racine du document XML qui renferme la DTD. règles_dtd désigne une ou plusieurs déclarations XML qui définissent des règles de DTD pour des éléments particuliers inclus dans la racine. Le 10/05/2006
Exemple Ici, nous insérons le mot clé #PCDATA, afin de limiter la valeur de l’élément BIENVENUE à des caractères. Le 10/05/2006
Déclarer et enregistrer un fichier DTD externe Pour créer une DTD externe, utilisez la syntaxe suivante : <!DOCTYPE élément_racine SYSTEM "fichier_dtd"> élément_racine correspond à la racine du document XML à laquelle est appliquée la DTD. fichier_dtd est le nom du fichier DTD externe. Il est de rigueur d’ajouter l’extension .dtd à tous les fichiers DTD. Le 10/05/2006
Exemple Note. Si le fichier DTD se trouve dans un autre dossier que le document XML, indiquez son chemin d’accès complet. S’il se situe sur le Web, spécifiez son URL. Le 10/05/2006
Définir et réutiliser du texte dans une DTD • Il est possible de décrire un bloc de texte unique,appelé entité paramètre, et d’y faire plusieurs fois référence dans un fichier DTD. • Dans le cas d’une entité paramètre interne, la • syntaxe à utiliser est la suivante : • <!ENTITY % nom "texte de remplacement"> • nom correspond au texte qui sera remplacé. • Dans le cas d’une entité paramètre externe, en revanche, • vous devez ajouter l’URL indiquant l’emplacement du • contenu. La syntaxe devient alors : • <!ENTITY % nom SYSTEM "URL"> Le 10/05/2006
Exemple : Pendant la phase d’exécution, le texte de remplacement, c’est-à-dire (importante | moyenne | insuffisante), vient se substituer à la référence de l’entité (IMI). Ce développement/ remplacement s’opère en interne, au moment de l’analyse du fichier DTD par le parseur. Le 10/05/2006
Définir un texte réutilisable dans un fichier XML • Cela évite d’avoir à répéter des passages de texte longs ou complexes. • Une entité générale interne se crée au moyen de la syntaxe suivante : • <!ENTITY % nom "élément remplacé"> • Les entités générales sont référencées dans les fichiers XML au moyen d’une esperluette et d’un point-virgule (&NomEntité;). Le 10/05/2006
Exemple : Le 10/05/2006