J'ai fait, dans mes posts, des typos (évidents ? je ne sais pas ... comme itemlist au lieu de listitem qu'on doit y mettre, ou </orderdist> au lieu de </orderedlist>. Ce n'est pas trop graves, mais si vous ne faites pas d'attention ...
Mais il y a des choses plus graves si vous n'avez pas assez d'idées en ce que j'entends à dire.
D'abord les écritures de parameter entity dans le dtd en maint endroit sont fautes. Pour votre bénéfice, je peux re-lister ce qu'il faut s'écrire. Je veux dire aussi tout de suite qu'il vous faut le sauvegarder dans un fichier extérieur (comme book.dtd à titre d'exemple seulement).
Je veux dire qu'il faut être chargé comme un sous-ensemble externe ('external subset') des documents xml, sinon, c'est-à-dire en le mettant comme internal subset, la syntaxe utilisée reste problèmatique et incorrect dans le détail.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <!ELEMENT book (bookinfo,chapter*)>
<!ELEMENT chapter (title,section*)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT bookinfo (title,author,copyright)>
<!ELEMENT author (firstname,surname)>
<!ELEMENT copyright (year,holder)>
<!ENTITY % divers "para|programlisting|itemizedlist|orderedlist">
<!ELEMENT section (title, (%divers;)+)>
<!ELEMENT para (#PCDATA)>
<!ELEMENT programlisting (#PCDATA)>
<!ELEMENT holder (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT itemizedlist (listitem+)>
<!ELEMENT orderedlist (listitem+)>
<!ELEMENT listitem (%divers;)+> |
Faites beaucoup d'attention aux détails : sur ceux qui sont différents par rapport à ce que vous avez montrés.
Et puis, dans les documents xml, vous le référenciez avec, comme l'usage normal en simplifiant beaucoup :
<!DOCTYPE book SYSTEM "book.dtd">
Partager