Introduction à XML - Université de Genève, CUI ©

Groupe VP-GL=>Cours en-ligne=>Introduction à XML=>Plan du cours=>Définition de Types...

Définition de Types de Documents (DTD)

Les entités paramétriques

Les entités de caractères

Entités internes

Entités externes

Note: il semble qu'il n'y ait pas le concept d'espace de noms pour les DTDs. Quand on importe une DTD externe dans la DTD courante, les symboles définis dans la DTD externe deviennent accessibles de la même façon que les symboles définis de manière interne. Il y a donc risque de collision de noms si la DTD externe emploie un ou plusieurs symboles identiques à ceux de la DTD courante.

Les éléments

Les attributs

Utilisation d'une DTD dans un document XML

Exemples

Si l'on reprend l'exemple de l'article vu au début, modifié pour utiliser la balise <img> d'HTML, la DTD pourrait être ainsi:

<!-- ce qui suit permet d'utiliser tous les elements de HTML -->

<!ENTITY % html PUBLIC
"-//W3C//XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
%html;

<!-- l'element "article" doit contenir, en sequence, un element titre, un element auteur, un element date, un element lieu et un element texte
-->
<!ELEMENT article (titre, auteur, date, lieu, texte)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT auteur (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT lieu (#PCDATA)>
<!-- l'element "texte" peut contenir du texte et des elements "grand" et "image" en nombre indetermine>
-->
<!ELEMENT texte (#PCDATA|grand|image)*>
<!ELEMENT grand (#PCDATA)>
<!-- l'element "image" doit contenir une balise HTML img et une legende facultative
-->
<!ELEMENT image (img, (legende)?)>
<!ELEMENT legende (#PCDATA)>

Il n'est toutefois pas recommandé d'inclure ainsi la totalité de la DTD du langage HTML, car cela risquerait d'être assez "indigeste" pour le butineur. Le document XML pourrait être ainsi:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE article SYSTEM "Exemple.dtd">
<?xml-stylesheet type="text/css" href="Exemple.css"?>
<article xmlns:html="http://www.w3.org/Profiles/XHTML-transitional">
  <titre>Un journaliste accuse, un policier d&#233;ment</titre>
  <auteur>Alain Connu</auteur>
  <date>14 juin 1972</date>
  <lieu>banquise</lieu>
  <texte>
    <grand>Un journaliste de la place accuse</grand>
    les autorit&eacute;s ...
    <image>
      <html:img html:src="photo.gif" />
      <legende>Legende de la photo</legende>
    </image>
    ...
  </texte>
</article>

document XML (code XML correspondant) - code de la DTD - code de la feuille de style CSS



Bertrand Ibrahim     

Dernière modification: 9.05.01

Site Hosting: Bronco