Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

XML - Déclaration d'entités dans les DTD

XML - Déclaration d'entités dans les DTD Encyclopédie


Déclarer des entités

XML permet de créer des entités, c'est-à-dire de déclarer un groupe d'éléments sous un nom afin de ne pas avoir à réécrire ces derniers plusieurs fois dans la DTD s'ils se répètent, dans le même esprit que les macros dans les éditeurs de texte. D'autre part, l'utilisation d'entités dans un document XML permet :

  • une meilleure lisibilité
  • un contrôle accru sur le contenu
  • une plus grande facilité de mise à jour

On distingue plusieurs types d'entités dans XML :

  • les entités générales
  • les entités paramètres
  • les entités caractères

Entités générales

Les entités générales permettent de définir des éléments pouvant être substitués dans le corps du document XML (bien qu'ils soient définis au sein de la DTD et non du document XML lui-même). La syntaxe d'une entité générale est la suivante :

<!ENTITY nom_de_l_entite "Contenu de l'entite">
Il est par exemple possible de déclarer l'entité générale suivante dans la DTD :
<!ENTITY site "commentcamarche.net">
Les entités définies dans la DTD peuvent ainsi être utilisées dans le code XML en les appelant avec la syntaxe suivante :
&nom_de_l_entite;
La déclaration précédente pourra donc donner un document XML du style :
<personne>

	<nom>Pillou</nom>

	<prenom>Jean-Francois</prenom>

	<site>&site;</site>

	<email>webmaster@&site;</email>

</personne>
Le parseur transformera automatiquement chacune des entités contenues dans le code XML, en chaînes de caractères :
<personne>

	<nom>Pillou</nom>

	<prenom>Jean-Francois</prenom>

	<site>commentcamarche.net</site>

	<email>webmaster@commentcamarche.net</email>

</personne>
Les entités générales peuvent aussi être contenues dans un fichier extérieur (afin d'être utilisé par plusieurs DTD par exemple), on parle alors d'entité externe. La syntaxe d'une entité externe est la suivante :
<!ENTITY nom_de_l_entite SYSTEM "nom_du_fichier">
Dans l'exemple suivant, le contenu du fichier ccm.txt (situé dans le même répertoire que la DTD) sera inséré dans le fichier XML à chaque fois que l'entité &ccm; sera rencontrée :
<!ENTITY ccm SYSTEM "ccm.txt">

Entités paramètres

Les entités paramètres permettent d'utiliser des entités dans les DTD elles-même. La syntaxe de la déclaration d'une entité paramètre est la suivante :

<!ENTITY % nom_de_l_entite definition>
Le nom de l'entité doit toutefois suivre certaines règles :
  • Commencer par une lettre ou un sous-tiret (_)
  • Etre composé uniquement de lettres, de chiffres, de tirets (-), de sous-tirets (_),de points (.) ou du caractère 'deux points' (:)
Voici un exemple de déclaration d'entité paramètre :
<!ENTITY % ccm #REQUIRED type(K7|MiniDisc|Vinyl|CD) "CD">
D'autre part, il est également possible (comme pour les entités générales) de définir une entité paramètre externe grâce à la syntaxe suivante :
<!ENTITY % nom_de_l_entite SYSTEM "fichier.dtd">
La DTD fichier.dtd sera un fichier comportant la déclaration d'entité paramètre :
<!ENTITY % nom_de_l_entite "definition">

Entités caractères

Les entités caractères sont des caractères réservés du XML représentés sous forme d'entités générales afin de pouvoir insérer ces caractères réservés dans le document XML.

Voici la liste des entités caractères principales :

Entité caractère Représentation
&amp;
&
&lt;
<
&gt;
>
&apos;
'
&quot;
"

Il est également possible de définir des entités caractères pour n'importe quel caractère en utilisant le code hexadécimal du caractère :

<!ENTITY nom_de_l_entite "&#xCODEHEXA;">
Par exemple
<!ENTITY ccedille "&#x00E7;">

Discussions pertinentes trouvées dans le forum

17/03 14h17 http www.w3.org tr html4 loose.dtd http://www.w3.org/TR/html4/loose.dtd Webmastering 12/02 11h45->zack_6
13/01 15h38 dtd xml Les DTD sur XML Développement 13/01 16h07->teebo5
24/11 14h13 dtd xml AIDE DTD/XML Développement 21/05 12h57->Philou5
05/04 17h50 dtd Question DTD Développement 08/04 09h14->jibé2
08/06 16h30 dtd DTD Développement 08/06 17h24->teebo2
25/06 12h11 dtd code [DTD]............... problème de code Développement 25/06 14h04->hugo1022
01/01 18h27 dtd DTD pb Développement 24/10 16h42->eleni2
26/05 11h35 définition élément dtd Définition des élément de DTD Développement 26/05 11h51->Bill_Tcherno1
13/09 22h53 xml dtd codes caracteres speciaux XML / DTD / Codes caracteres speciaux Développement 13/09 23h07->Orel1
15/09 16h20 dtd attributs DTD et attributs Développement 18/09 18h21->Rakoun1
Discussion fermée Problème résolu DTD Plus de discussions sur « DTD »

Ce document intitulé « XML - Déclaration d'entités dans les DTD » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.