Tutoriel XML

ACCUEIL XML Introduction XML XML Comment utiliser Arbre XML Syntaxe XML Éléments XML Attributs XML Espaces de noms XML Affichage XML Requête HTTP XML Analyseur XML DOM XML XPath XML XML XSLT XQuery XML XMLXLink Validateur XML DTD XML Schéma XML Serveur XML Exemples XML XML Quiz Certificat XML

XMLAJAX

Présentation d'AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

DOM XML

Présentation du DOM Nœuds DOM Accès au DOM Informations sur le nœud DOM Liste des nœuds DOM Traversée du DOM Navigation DOM DOM Obtenir des valeurs Nœuds de changement DOM DOM Supprimer les nœuds DOM Remplacer les nœuds DOM Créer des nœuds DOM Ajouter des nœuds Nœuds de clonage DOM Exemples DOM

Tutoriel XPath

Présentation de XPath Nœuds XPath Syntaxe XPath Axes XPath Opérateurs XPath Exemples XPath

Tutoriel XSLT

Présentation de XSLT Langages XSL Transformation XSLT XSLT <modèle> XSLT <valeur-de> XSLT <pour-chaque> XSLT <sort> XSLT <si> XSLT <choisir> Appliquer XSLT XSLT sur le client XSLT sur le serveur XSLT Éditer XML Exemples XSLT

Tutoriel XQuery

Présentation de XQuery Exemple XQuery XQuery FLWOR XQuery HTML Termes XQuery Syntaxe XQuery Ajouter XQuery Sélection XQuery Fonctions XQuery

DTD XML

Présentation de la DTD Blocs de construction DTD Éléments DTD Attributs DTD Éléments DTD vs Attr Entités DTD Exemples de DTD

Schéma XSD

Présentation XSD Comment XSD XSD <schéma> Éléments XSD Attributs XSD Restrictions XSD

Complexe XSD

Éléments XSD XSD vide Éléments XSD uniquement Texte XSD uniquement XSD Mixte Indicateurs XSD XSD <tout> XSD <anyAttribute> Remplacement XSD Exemple XSD

Données XSD

Chaîne XSD Date XSD Numérique XSD Divers XSD Référence XSD

Services Web

Services XML XMLWSDL SAVON XML XML RDF XML RSS

Les références

Types de nœuds DOM Nœud DOM Liste de nœuds DOM DOM NamedNodeMap Documents DOM Élément DOM Attribut DOM Texte DOM DOM CDATA DOM Comment DOM XMLHttpRequest Analyseur DOM Éléments XSLT Fonctions XSLT/XPath

DTD XML


Un document XML avec une syntaxe correcte est appelé "Well Formed".

Un document XML validé par rapport à une DTD est à la fois "bien formé" et "valide".


Qu'est-ce qu'une DTD ?

DTD signifie Définition de type de document.

Une DTD définit la structure et les éléments et attributs juridiques d'un document XML.


Documents XML valides

Un document XML "Valide" est "Bien Formé", ainsi qu'il est conforme aux règles d'une DTD :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

La déclaration DOCTYPE ci-dessus contient une référence à un fichier DTD. Le contenu du fichier DTD est illustré et expliqué ci-dessous.


DTD XML

Le but d'une DTD est de définir la structure et les éléments et attributs légaux d'un document XML :

Remarque.dtd :

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

La DTD ci-dessus est interprétée comme suit :

  • !DOCTYPE note - Définit que l'élément racine du document est note
  • !ELEMENT note - Définit que l'élément note doit contenir les éléments : "to, from, header, body"
  • !ELEMENT to - Définit l'élément to comme étant de type "#PCDATA"
  • !ELEMENT from - Définit l'élément from comme étant de type "#PCDATA"
  • !ELEMENT en-tête - Définit l'élément d'en-tête comme étant de type "#PCDATA"
  • !ELEMENT body - Définit l'élément de corps comme étant de type "#PCDATA"

Conseil : #PCDATA signifie données de caractères analysables.



Utilisation de la DTD pour la déclaration d'entité

Une déclaration DOCTYPE peut également être utilisée pour définir des caractères spéciaux ou des chaînes, utilisés dans le document :

Exemple

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [
<!ENTITY nbsp "&#xA0;">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer;&nbsp;&copyright;</footer>
</note>
Essayez-le vous-même »

Conseil : Une entité comporte trois parties : elle commence par une esperluette (&), puis vient le nom de l'entité et se termine par un point-virgule (;).


Quand utiliser une DTD ?

Avec une DTD, des groupes indépendants de personnes peuvent convenir d'utiliser une DTD standard pour échanger des données.

Avec une DTD, vous pouvez vérifier que les données que vous recevez du monde extérieur sont valides.

Vous pouvez également utiliser une DTD pour vérifier vos propres données.

Si vous souhaitez étudier la DTD, veuillez lire notre Tutoriel DTD .


Quand NE PAS utiliser une DTD ?

XML ne nécessite pas de DTD.

Lorsque vous expérimentez XML ou lorsque vous travaillez avec de petits fichiers XML, la création de DTD peut être une perte de temps.

Si vous développez des applications, attendez que la spécification soit stable avant d'ajouter une DTD. Sinon, votre logiciel pourrait cesser de fonctionner en raison d'erreurs de validation.