XML:Déclarations d'attributs

Un article de WikiTuto.

Jump to: navigation, search
  • XML Concepts de base
  1. Historique : de SGML à XML
  2. XML:Mise en oeuvre
  3. Structure d'un document XML
  4. Support par les navigateurs
  • Prise en main d'XML CookTop
  1. XML CookTop généralités
  2. Interface
  3. Exercices
  • Prise en main d'oXygen XML Editor
  1. Généralités
  2. Interface
  3. Fonctionnalités
  4. Exercices
  • Déclarations de Type de Document
  1. Introduction
  2. Types de DTD
  3. Déclarations d'éléments
  4. Déclarations d'attributs
  5. Déclarations d'entités
  • Initiation aux Schéma XML
  1. Introduction
  2. Les premiers pas
  3. Déclarations d'éléments et d'attributs
  4. Les types de données
  5. Espaces de nom
  6. Les dérivations
  7. Diverses autres fonctionnalités
  • Mise en forme à l'aide de feuilles de style XSL
  1. Présentation
  2. Exemples de mises en forme
  • Mise en forme à l'aide de feuilles de style XSL (XSLT)
  1. Les expressions de sélection
  2. XPath
  3. Éléments XSLT
  • Fonctions XPath
  1. Fonctions XPath applicables aux nœuds
  2. Fonctions XPath applicables aux chaînes de caractèress
  3. Fonctions XPath applicables aux nombres
  4. Fonctions booléennes
  5. Autres fonctions
  • Utilisation du DOM et XSLT dynamique
  1. Insertion de code JavaScript dans une page
  2. Utilisation du DOM
  • Synchroniser des contenus multimédia avec SMIL
  1. Généralités
  2. Construction progressive d'un fichier SMIL
  3. Conclusion
  • Un format de dessin vectoriel en XML: SVG
  1. Introduction
  2. SVG de base
  3. Éléments graphiques de base
  4. Structuration: éléments de groupage et références
  5. Transformations
  6. Autres fonctionnalités
  • L'animation dans le SVG
  1. Introduction
  2. Animation de base: l'élément animate
  3. Des animations plus complexes
  • Plus loin que les formulaires HTML: XForms
  1. Généralités
  2. Fonctionnalités des formulaires XForms
  3. Dans la pratique
  4. Pour aller plus loin...
  • Quelques mots sur les Services Web
  1. Généralités
  2. Trouver un service Web
  3. Accéder à un service Web
  4. Récapitulation et inconvénients
Source : Gilles Chagnon

Sommaire

Introduction

Comme on peut trouver dans un document XML des éléments possédant des attributs, il est normal que la DTD permette de définir des contraintes sur ces derniers. On peut déclarer et attacher à un élément donné chaque attribut séparément, mais il est préférable de les assembler sous la forme d'une liste. Chaque attribut défini dans la liste possède un nom et un type. On peut lui donner une valeur par défaut, ou bien le spécifier obligatoire. Le mot-clef de cette déclaration est ATTLIST.

Valeurs par défaut

Chaque attribut peut être requis, optionnel ou fixe et avoir une valeur par défaut. Les exemples suivants montrent la déclaration d'un attribut appelé attr attaché à un élément nommé elt.

1.Déclaration d'un attribut avec une valeur par défaut :

<!ELEMENT elt (...)>
 <!ATTLIST elt attr CDATA "valeur">

Un tel attribut n'est pas obligatoire. S'il est omis dans le fichier XML lors de l'utilisation de l'élément elt, il est considéré comme valant valeur. Dans cet exemple, si on écrit <elt>(...)</elt>, cela est équivalent à écrire <elt attr="valeur">(...)>/elt>.

2.Déclaration d'un attribut requis :

<!ELEMENT elt (...)>
 <!ATTLIST elt attr CDATA #REQUIRED>

Un tel attribut est obligatoire. Son absence déclenche une erreur du vérificateur syntaxique sur le fichier XML.

3.Déclaration d'un attribut optionnel :

<!ELEMENT elt (...)>
 <!ATTLIST elt attr CDATA #IMPLIED>
  

4.Déclaration d'un attribut avec une valeur fixe :

<!ELEMENT elt (...)>
 <!ATTLIST elt attr CDATA #FIXED "valeur">

L'utilité d'un tel attribut peut sembler bizarre à première vue, puisqu'il ne peut prendre qu'une seule valeur. Cette fonctionnalité est cependant utile lors d'une mise à jour d'une DTD, pour préserver la compatibilité avec des versions ultérieures.

Type chaîne de caractères

Il s'agit là du type d'attribut le plus courant. Une chaîne de caractères peut être composée de caractères ainsi que d'entités analysables. Le mot-clef utilisé pour la déclaration de chaîne de caractère est CDATA.

Exemple de déclaration de CDATA :

<!ELEMENT elt (...)>
  <!ATTLIST elt attr CDATA #IMPLIED>

Exemples d'utilisations :

<elt attr="Chaîne de caractères"></elt>
<!ENTITY car "caractères">
 <elt attr="Chaîne de &car;">(...)</elt>

Type ID

Ce type sert à indiquer que l'attribut en question peut servir d'identifiant dans le fichier XML. Deux éléments ne pourront pas posséder le même atribut possédant la même valeur.

Exemple de déclaration de type ID optionnel :

<!ELEMENT elt (...)>
  <!ATTLIST elt attr ID #IMPLIED>
<!ELEMENT elt1 (...)>
  <!ATTLIST elt1 attr ID #IMPLIED>
<!ELEMENT elt2 (...)>
  <!ATTLIST elt2 attr ID #IMPLIED>

La déclaration précédente interdit par exemple...

<elt1 attr="machin"></elt1>
<elt2 attr="truc"></elt2>
<elt1 attr="machin"></elt1>

... ainsi que

<elt1 attr="machin"></elt1>
<elt2 attr="machin"></elt2>
<elt1 attr="truc"></elt1>

Type énuméré

On peut parfois désirer limiter la liste de valeurs possibles pour un attribut. On le définit alors comme étant de type énuméré. Donner une autre valeur dans le fichier XML provoque une erreur.

Exemple de déclaration d'une liste de choix d'attributs :

<!ELEMENT img EMPTY>
  <!ATTLIST img format (BMP | GIF | JPEG) "JPEG">

Cet exemple déclare un attribut format d'un élément img. La valeur de cet attribut peut être BMP, GIF ou JPEG. Si aucune valeur n'est affectée à cet attribut, c'est la valeur par défaut qui le sera, ici JPEG. On notera l'absence de guillemets dans la liste des valeurs possibles. C'est une source courante d'erreur dans la rédaction d'une DTD.


Exercice 1. Écriture d'une DTD avec attributs

Sources

Gilles Chagnon

Voir aussi

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire