DTD - Propriété

Dans la DTD, les attributs sont déclarés par l'attribut ATTLIST.

Déclarer les attributs

L'utilisation de la syntaxe suivante pour déclarer les attributs :

<!ATTLIST 元素名称 属性名称 属性类型 默认值>

Instance DTD :

<!ATTLIST payment type CDATA "check">

Instance XML :

<payment type="check" />

VoiciType d'attributDes options :

Type Description
CDATA La valeur est des données de caractères (character data)
(en1|en2|..) Cette valeur est une valeur de la liste d'enumeration
ID La valeur est un id unique
IDREF La valeur est l'id d'un autre élément
IDREFS La valeur est une liste d'ids d'autres éléments
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 Cette valeur est le nom du symbole
xml: La valeur est une valeur XML prédéfinie

Les paramètres de valeur par défaut peuvent utiliser les valeurs suivantes :

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

Définir une valeur par défaut de l'attribut

DTD :

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

XML légal :

<square width="100" />

Dans l'exemple ci-dessus, "square" est défini comme un élément vide avec l'attribut "width" de type CDATA. Si la largeur n'est pas définie, sa valeur par défaut est 0.

#IMPLIED

Syntaxe

<!ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>

Exemple

DTD :

<!ATTLIST contact fax CDATA #IMPLIED>

XML légal :

<contact fax="555-667788" />

XML légal :

<contact />

Si vous ne souhaitez pas que l'auteur inclue l'attribut de force et que vous n'avez pas d'option de valeur par défaut, utilisez le mot-clé #IMPLIED.

#REQUIRED

Syntaxe

<!ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>

Exemple

DTD :

<!ATTLIST person number CDATA #REQUIRED>

XML légal :

<person number="5677" />

XML illégal :

<person />

Si vous n'avez pas d'option de valeur par défaut mais souhaitez toujours forcer l'auteur à soumettre l'attribut, utilisez le mot-clé #REQUIRED.

#FIXED

Syntaxe

<!ATTLIST nom_d_element nom_d_attribut type_d_attribut #FIXED "value">

Exemple

DTD :

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

XML légal :

<sender company="Microsoft" />

XML illégal :

<sender company="W3School" />

Si vous souhaitez que l'attribut ait une valeur fixe et ne permette pas à l'auteur de la modifier, utilisez le mot-clé #FIXED. Si l'auteur utilise une valeur différente, l'analyseur XML renverra une erreur.

Valeur de liste d'attributs

Syntaxe :

<!ATTLIST nom_d_element nom_d_attribut (en1|en2|..) valeur_par_defaut>

Exemple DTD :

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

Exemple XML :

<payment type="check" />

Ou

<payment type="cash" />

Si vous souhaitez que la valeur de l'attribut soit l'une des valeurs légales fixes, utilisez les valeurs de liste d'attributs.