ELEMENT
L'instruction ELEMENT
permet de déclarer chaque élément utilisé dans le type de document défini par la DTD. Elle déclare d'abord l'élément par son nom, puis spécifie le contenu autorisé dans cet élément.
Syntaxe
<!ELEMENT name content >
Paramètres
- nom
Nom de l'élément. La casse exacte doit être respectée.
contenu
Modèle de contenu autorisé pour l'élément, qui doit être l'un des modèles suivants :ANY - N'importe quel contenu est autorisé dans l'élément. Utilisé dans la déclaration d'un élément, ce mot clé autorise un modèle de contenu ouvert illimité pour les éléments et leurs nœuds enfants.
EMPTY - L'élément ne peut pas recevoir de contenu et doit rester vide.
Règle de contenu déclarée – Pour cette option, vous devez rédiger une règle de contenu et la placer entre parenthèses.
Le tableau suivant indique les mots clés et signes de ponctuation réservés qui peuvent être utilisés avec des noms d'autres éléments déclarés dans la DTD pour construire la règle de contenu de l'élément.
Symboles Description #PCDATA
Autorise des données de type caractère analysées dans le contenu de l'élément.
name
Nom d'un élément. Cela peut être l'élément en cours de définition ou d'autres éléments définis par nom dans le DTD, à l'aide d'autres déclarations
ELEMENT
.S'il n'y a pas d'autres signes de ponctuation dans la règle de contenu, une seule occurrence de l'élément nommé est autorisée et requise.
()
Bien qu'au moins une paire de parenthèses soit obligatoire lors de la déclaration d'un modèle de contenu pour un élément, vous pouvez y insérer d'autres paires de parenthèses. Cette technique permet de définir un modèle de contenu plus complexe pour un élément.
|
Une barre verticale permet de séparer deux éléments nommés. Elle indique alors que l'un des deux éléments (celui qui précède la barre ou celui qui la suit) peut apparaître comme élément enfant.
,
La virgule peut être utilisée pour séparer deux éléments nommés ou règles imbriquées Elle indique alors que ces éléments/règles doivent apparaître dans l'ordre spécifié.
?
Le point d'interrogation peut être utilisé comme suffixe/opérande. Il indique alors que l'élément ou la règle qui le précède est facultative, mais il ne peut apparaître qu'une fois à ce point de la structure du document XML.
+
Le signe plus peut être utilisé comme suffixe/opérande. Il indique alors que l'élément ou la règle qui le précède est obligatoire et peut apparaître plusieurs fois à ce point de la structure du document XML.
*
L'astérisque peut être utilisé comme suffixe/opérande. Il indique alors que l'élément ou la règle qui le précède est facultative et peut apparaître plusieurs fois à ce point de la structure du document XML.
Exemples
Déclare un élément
<test>
qui peut recevoir n'importe quel contenu :<!ELEMENT test ANY >
Déclare un élément
<Image>
qui doit être vide (ne peut pas avoir de contenu) :<!ELEMENT Image EMPTY >
Déclare un élément
<title>
qui ne peut contenir que des données de type caractère (pas d'autres balises) :<!ELEMENT title (#PCDATA) >
Déclare un élément
<fruit>
qui peut contenir soit un élément<apple>
soit un élément<orange>
:<!ELEMENT fruit (apple|orange) >
Déclare un élément
<book>
qui doit contenir un élément<author>
suivi d'un élément<title>
:<!ELEMENT book (author,title) >
Déclare un élément
<memo>
qui doit contenir un élément<body>
qui peut être suivi d'un élément<postscript>
:<!ELEMENT memo (body,postscript?) >
Déclare un élément
<catalog>
qui doit contenir un ou plusieurs éléments<book>
:<!ELEMENT catalog (book+) >
Déclare un élément
<table>
qui peut être vide ou contenir des éléments<rowset>
:<!ELEMENT table (rowset*) >