Partager via


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*)  >
    

Voir aussi

Concepts

ATTLIST (Liste d'attributs)
ENTITY
NOTATION