This is a draft cheat sheet. It is a work in progress and is not finished yet.
Définition eXtended Markup Language
Un document XML est composé de balises, elles mêmes possédant des attributs. Il peut également contenir des entités, des règles d'analyse, des déclarations d'espace de nom (namespace), des commentaires et du texte |
Prologue
<?xml version = "1.0" encoding="UTF-8" standalone="yes" ?>
|
Impérativement la première ligne du fichier |
version (de XML): 1.0 ou 1.1 |
encoding : Jeu de caractères du bloc XML (UTF8, ISO8859-1,...) |
standalone : yes si aucun autre fichier n'est nécessaire |
Règles de nommage balise et attribut
Un nom contient des lettres, des chiffres ou des caractères spéciaux. |
Un nom ne débute pas par un nombre ou un caractère spécial. |
Un nom ne commence pas par XML ou xml. |
Un nom ne contient pas d'espaces. |
Eviter - , ; . < et > qui peuvent être mal interprétés. |
Well formed (Document bien formé)
Dans la version 1.1 du XML, le prologue est bien renseigné. |
Une seule balise racine. |
Nom des balises et des attributs est conforme aux règles. |
Balises en paires sont correctement fermées. |
Valeurs des attributs sont entre guillemets simples ou doubles. |
Les balises du document XML ne se chevauchent pas. |
Contenu
Commentaire |
|
Balise simple |
|
Balise par paire |
<exemple>contenu</exemple>
|
Balise avec attribut |
<exemple attr="valeur"></exemple>
|
DTD (Document Type Definition)
La DTD peut être Interne au document ou externe (.dtd). |
Elle définit les règles devant être respectées dans le corps XML. |
Conformité et validation
Un document valide est un document bien formé conforme à une définition. |
Un document conforme à une définition est un document qui respecte toutes les règles qui lui sont imposées dans la DTD. |
DTD - ELEMENT
Syntaxe |
<!ELEMENT balise (contenu)>
|
personne contient 1 nom |
<!ELEMENT personne (nom)>
|
nom contient une valeur simple |
<!ELEMENT nom (#PCDATA)>
|
nom ne contient pas de valeur |
|
nom contient ou non une valeur |
|
personne contient 1 nom et 1 prenom (dans cet ordre) |
<!ELEMENT personne (nom,prenom)>
|
personne contient 1 nom ou un prenom |
<!ELEMENT personne (nom|prenom)>
|
personne contient 1 nom et éventuellement un prenom |
<!ELEMENT personne (nom,prenom?)>
|
répertoire contient de 0 à n personne |
<!ELEMENT repertoire (personne*)>
|
répertoire contient de 1 à n personne |
<!ELEMENT repertoire (personne+)>
|
DTD - ATTLIST (attribut)
Syntaxe |
<!ATTLIST balise attribut ID mode>
|
sexe est masculin ou feminin |
<!ATTLIST personne sexe (masculin|féminin)>
|
id est un identifiant unique |
|
father fait référence à une autre élément |
|
id est un identifiant unique |
|
civilité est une valeur simple |
<!ATTLIST civilite CDATA>
|
civilité est obligatoire |
<!ATTLIST civilite CDATA #REQUIRED>
|
civilité est facultatif |
<!ATTLIST civilite CDATA #IMPLIED>
|
civilité est par defaut Mr |
<!ATTLIST civilite CDATA "Mr">
|
DTD - ENTITY
Syntaxe entité générale Remplace un élément |
|
Exemple d'utilisation d'une entité générale |
<!ENTITY apple "Apple"> <telephone> <marque>&apple;</marque> <modele>iPhone X</modele> </telephone>
|
Syntaxe entité paramètre Remplace un attribut |
<!ENTITY % nom "valeur">
|
Exemple d'utilisation d'une entité paramètre dans la DTD |
<!ENTITY % civs "civ (Mr|Mme)"> <!ATTLIST personne %civs;>
|
Syntaxe entité externe analysée (équivaut à include) |
<!ENTITY nom SYSTEM "URI">
|
Exemple d'utilisation d'une entité externe analysée |
<!ENTITY apple SYSTEM "apple.xml"> <telephone> &apple; <modele>iPhone 4</modele> </telephone>
|
Contenu apple.xml |
<marque>Apple</marque>
|
Les entités sont des alias permettant de réutiliser des informations dans le document
|
|
|