<! ELEMENT
ListeDElements OptionBalise OptionBalise ExpressionContenuElement >
ELEMENT
, utilisable dans une Dtd, permet de définir un élément structurant le flux Standard Generalized Markup Language (SGML).
Un élément peut contenir du texte, des balises, des entités et du binaire.
Le contenu d'un élément est défini par une pseudo-expression régulière. Plusieurs éléments ayant la même définition peuvent partager cette expression.
Quand le contenu d'un élément est vide, il donne lieu à une balise. Sinon, il donne lieu à deux balises.
Un élément peut posséder zéro, un ou plusieurs attributs. Certains attributs sont particuliers :
ID
. Il est unique pour tout le flux Sgml.
NOTATION
. Elle permet de référencer le programme externe qui va gérer la valeur binaire de l'élément.
Enfin, il existe un élément principal déclaré dans l'instruction DOCTYPE
qui permet d'informer le décodeur Sgml par où commencer la lecture du flux.
<-- Definition d'un élément comportant trois attributs -->
<!ELEMENT MonElement1 - - CDATA>
<!ATTLIST MonElement1
<-- MonAttribut1 est un identifiant obligatoire -->
MonAttribut1 ID #REQUIRED,
<-- MonAttribut2 a une valeur par defaut -->
MonAttribut2 CDATA "MaValeurParDefaut",
<-- MonAttribut fait partie d'une liste de valeurs -->
MonAttribut3 (10,20,30) 10
>
<-- Definition d'un élément vide -->
<!ELEMENT MonElement2 - - EMPTY>
<-- Definition d'un élément dont la balise d'ouverture est facultative -->
<!ELEMENT MonElement3 O - CDATA>
<-- Definition d'un élément dont la balise de fermeture est facultative -->
<!ELEMENT MonElement4 - O CDATA>
<-- Definition d'un élément comportant trois attributs -->
<!ELEMENT MonElement1 CDATA>
<!ATTLIST MonElement1
<-- MonAttribut1 est un identifiant obligatoire -->
MonAttribut1 ID #REQUIRED,
<-- MonAttribut2 a une valeur par defaut -->
MonAttribut2 CDATA "MaValeurParDefaut",
<-- MonAttribut fait partie d'une liste de valeurs -->
MonAttribut3 (10,20,30) 10
>
<-- Definition d'un élément vide -->
<!ELEMENT MonElement2 - - EMPTY>
<-- Usage de l'élément ayant trois attributs -->
<MonElement1 MonAttribut1=100 MonAttribut2="Ma valeur" MonAttribut3=20>Ceci est mon contenu.</MonElement>
<-- Usage de l'élément vide -->
<MonElement2/>