Systèmes de communication
XML, les déclarations principales (2)
Elle permet de déclarer les éléments et leur contenu.
<!ELEMENT 'nom' 'modele de contenu'>
Une 'modele de contenu' est un des mots clés: ANY, EMPTY ou ('groupe').
Un 'groupe' est constitué d'éléments avec les opérations de liste (,) ou de choix (|)
Exemple: <!ELEMENT a (b,(c|d),e)>
Les éléments du groupe peuvent être suivis d'indicateur d'occurence: + * ?
Un élément peut être remplacé par une 'entity' (voir ci-dessous)
Outre contenir des éléments, les modèles de contenu peuvent aussi être de type:
caractère: (#PCDATA)
mixte: (#PCDATA | A | B)*
Exemple:
<!ELEMENT para (#PCDATA | note)*> <!ELEMENT note (#PCDATA)>
L'objet suivant est conforme à cette définition:
<para>Voici un paragraphe<note>c'est un exemple</note>avec une note</para>
Elle permet de donner un nom significatif à un ensemble d'éléments
Exemple:
<!ELEMENT note (titre,para+)> <!ELEMENT entete (titre,para+)> <!ELEMENT resume (titre,para+)>
Peut-être remplacé par:
<!ENTITY % corps.texte "titre,para+"> <!ELEMENT note (%corps.texte;)> <!ELEMENT entete (%corps.texte;)> <!ELEMENT resume (%corps.texte;)>
Elle permet de déclarer les attributs associés à un élément.
<!ATTLIST 'element' 'attribut1' 'type1' 'defaut1'
'attribut2' 'type2' 'defaut2'
....
'attributn' 'typen' 'defautn'>
Avec:
Type: CDATA, ENTITY (IES), ID, IDREF(S), NMTOKEN(S), énumération
Défaut: valeur, #FIXED valeur, #IMPLIED, #REQUIRED
Exemple: <!ATTLIST P ALIGN (left | center | right) "left">
![]()