Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Importer des entites d'une dtd externe

3 réponses
Avatar
Lea Gris
Bonjour,

Petits essais infructueux pour voir s'il est possible d'importer des
déclarations d'entités dans une DTD externe. Ça ne fonctionne pas (testé
avec différent navigateurs modernes) et je ne sais pas bien si je me
suis trompée quelque-part.

Ce serait pourtant bien pratique si ça marchait. Savez-vous s'il y a
moyen de faire reconnaître ces déclarations d'entités dans un document
externe pour ne pas pré-assembler les documents côté serveur ?

Une de mes idées serait de disposer de différentes dtd selon la langue
par exemple : my.dtd.fr my.dtd.en et que Apache serve l'une ou l'autre
selon l'en-tête Accept-Language fr,en;q=0.7,en-us;q=0.3

Voici une URL pour tester :
http://www.noiraude.net/customentity.xhtml

Firefox 4.0b13pre : se plaint de ne pas connaître les entités externes
et affiche une erreur

Chrome 11 : se plaint de ne pas connaître les entités externes, affiche
une erreur et tout de même la page avec ses entités internes

Opera 1.1 : affiche la page avec le nom des entités sans connaître leur
valeur et ne revoit aucune erreur.

Code de customentity.xhtml :

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % myDTD SYSTEM "my.dtd"> %myDTD;
<!ENTITY hello "Hello world!">
<!ENTITY internal "Here is an internal enttity.">
]>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Custom entity test</title>
</head>

<body dir="ltr">
<h1>&hello;</h1>
<p>&internal;</p>
<p>&external;</p>
</body>

</html>


Code de my.dtd :

<!ENTITY external "Tis is an external entity">
<!ENTITY hello "Hello world!">

--
Léa Gris

3 réponses

Avatar
Pierre Goiffon
On 26/02/2011 14:18, Lea Gris wrote:
Petits essais infructueux pour voir s'il est possible d'importer des
déclarations d'entités dans une DTD externe. Ça ne fonctionne pas (testé
avec différent navigateurs modernes) et je ne sais pas bien si je me
suis trompée quelque-part.

Ce serait pourtant bien pratique si ça marchait.



Quel est le besoin ?!??
Avatar
Lea Gris
Le 28/02/2011 15:39, Pierre Goiffon a écrit :

Quel est le besoin ?!??



De la pratique didactique avec XML seulement. L'idée était d'utiliser
les entités dans un fichier externe pour assembler le contenu en
plusieurs langue dans le navigateur. Comme le fait Firefox en interne.
Un simple exercice.

Au final, j'ai retrouvé un triste rapport de bug ouvert depuis janvier
2000 et c'est limité au contenu préfixé chrome://. Pour résumer, les
raisons invoquées sont :
- ça va poser des problèmes de sécurité (pas vraiment plus que CSS),
- on y travaille (depuis le temps),
- le type qui s'occupait de cette branche a abandonné (vive l'open-source),
- XML2 et suivants évoluent vers la suppression des entités qui est un
héritage de SGML (ok mais il y a quoi pour remplacer ?).

Références :
https://developer.mozilla.org/en/XML_in_Mozilla
https://bugzilla.mozilla.org/show_bug.cgi?id"942

--
Léa Gris
Avatar
yamo'
Salut,

Lea Gris a tapoté, le 01/03/2011 19:23:
Au final, j'ai retrouvé un triste rapport de bug ouvert depuis janvier
2000 et c'est limité au contenu préfixé chrome://. Pour résumer, les
raisons invoquées sont :
- ça va poser des problèmes de sécurité (pas vraiment plus que CSS),
- on y travaille (depuis le temps),
- le type qui s'occupait de cette branche a abandonné (vive l'open-source),
- XML2 et suivants évoluent vers la suppression des entités qui est un
héritage de SGML (ok mais il y a quoi pour remplacer ?).




Si tu y tiens, tu peux tenter d'envoyer un message en anglais sur
news://news.mozilla.org/mozilla.support.firefox

J'ai indiqué le serveur car, c'est en dehors d'usenet depuis Janvier
2006 ou décembre 2005...

--
Stéphane

<http://pasdenom.info/fortune/>

Un homme qui n'a pour moteur que son ambition
va très loin mais n'y apporte rien.
-+- Gilbert Cesbron (1913-1979), de petites choses. -+-