Derniers tutoriels de développement web
 

DTD - Attributs


Dans une DTD, les attributs sont déclarés avec une déclaration ATTLIST.


Déclarant Attributs

Une déclaration d'attribut a la syntaxe suivante:

<!ATTLIST element-name attribute-name attribute-type attribute-value>

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

Le attribute-type peut être l' un des éléments suivants:

Type La description
CDATA La valeur est des données de caractère
( en1 | en2 |..) La valeur doit être une à partir d'une liste énumérée
ID La valeur est un identifiant unique
IDREF La valeur est l'identifiant d'un autre élément
IDREFS La valeur est une liste d'autres ids
NMTOKEN La valeur est un nom XML valide
NMTOKENS La valeur est une liste de noms XML valides
ENTITY La valeur est une entité
ENTITIES La valeur est une liste d'entités
NOTATION La valeur est un nom d'une notation
xml: La valeur est une valeur prédéfinie xml

L' attribute-value peut être l' un des éléments suivants:

Valeur Explication
value La valeur par défaut de l'attribut
#REQUIRED L'attribut est obligatoire
#IMPLIED L'attribut est facultative
#FIXED value La valeur d'attribut est fixe

A défaut Attribut Valeur

DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">

Valid XML:
<square width="100" />

Dans l'exemple ci - dessus, le "square" élément est défini comme un élément vide avec une "width" attribut de type CDATA. Si aucune largeur est spécifié, il a une valeur par défaut de 0.


#OBLIGATOIRE

Syntaxe

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

Exemple

DTD:
<!ATTLIST person number CDATA #REQUIRED>

Valid XML:
<person number="5677" />

Invalid XML:
<person />

Utilisez le mot-clé #REQUIRED si vous ne disposez pas d'une option pour une valeur par défaut, mais encore envie de forcer l'attribut d'être présent.


#IMPLICITE

Syntaxe

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

Exemple

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

Valid XML:
<contact fax="555-667788" />

Valid XML:
<contact />

Utilisez le mot-clé #IMPLIED si vous ne voulez pas forcer l'auteur à inclure un attribut, et que vous ne disposez pas d'une option pour une valeur par défaut.


#FIXÉ

Syntaxe

<!ATTLIST element-name attribute-name attribute-type #FIXED "value">

Exemple

DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">

Valid XML:
<sender company="Microsoft" />

Invalid XML:
<sender company="w3ii" />

Utilisez le mot-clé #FIXED quand vous voulez un attribut d'avoir une valeur fixe sans permettre à l'auteur de le changer. Si un auteur comprend une autre valeur, l'analyseur XML renvoie une erreur.


Attribut énumératif Valeurs

Syntaxe

<!ATTLIST element-name attribute-name (en1|en2|..) default-value>

Exemple

DTD:
<!ATTLIST payment type (check|cash) "cash">

XML example:
<payment type="check" />
or
<payment type="cash" />

Utilisez des valeurs d'attributs énumérés lorsque vous souhaitez que la valeur de l'attribut d'être l'un d'un ensemble fixe de valeurs légales.