Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Problème avec un fichier dtd

Envoyé par : Mushu

Date : 04/07/2007 16:13

Bonjour à tous,

J'ai un petit soucis avec mon fichier dtd. Avec mes labels mis directement dans le fichier XUL, pas de soucis, mais dès que je veux utiliser un fichier dtd, ça marche pas. J'ai certainement un soucis de remplissage quelquepart, mais je ne vois pas où.

Arborescence de mon répertoire :

Applis
|__ chrome
  |__ chrome.manifest
  |__ content
  | |__applis
  |   |__ applis.xul
  |__ locale
  | |__ fr-FR
  |   |__ texte.dtd
  |__ skin
    |__ classic
      |__ applis
        |__ styles.css

Fichier texte.dtd

<!ENTITY appli.title "Applis">
<!ENTITY quitter.label "Quitter">
<!ENTITY quitter.accesskey "Q">
<!ENTITY outils.label "Outils">
<!ENTITY outils.accesskey "U">

Fichier chrome.manifest

content applis content/applis/
locale applis fr-FR locale/fr-FR/
skin applis classic skin/classic/applis/

Fichier applis.xul

<?xml version="1.0" encoding="iso-8859-15"?>
<?xml-stylesheet href="chrome://applis/skin/classic/styles.css"  type="text/css"?>
<?xml-stylesheet href="./styles.css" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://applis/locale/fr-FR/texte.dtd">
<window id="applis"
       title="&appli.title;"
       xmlns:html="http://www.w3.org/1999/xhtml"
       xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

Et voici l'erreur que j'obtiens lors de l'exécution avec XulRunner :

XML Parsing Error: undefined entity
Location: chrome://applis/content/applis.xul
Line Number 8, Column 1:
<window id="applis" title="&appli.title;" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
^

Si vous avez des idées, je suis fortement preneur car ça fais 3 jours que je tourne en rond la dessus en essayant tout et n'importe quoi pour une erreur qui, j'en suis sur, est super bête.

Merci de votre aide Mushu

# Re: Problème avec un fichier dtd

Envoyé par : papy

Date : 04/07/2007 16:20

Salut,

essai de remplacer ca :

 <!DOCTYPE window SYSTEM "chrome://applis/locale/fr-FR/texte.dtd">

par ca :

 <!DOCTYPE window SYSTEM "chrome://applis/locale/texte.dtd">

En fait c'est firefox qui gère la langue à utiliser (déterminée en fonction du système etc...) donc tu ne dois pas y faire référence.

Ce système te permet de créer un répertoire fr-FR, un autre en-US etc... et dans tes fichiers XUL tu ne change rien, c'est firefox qui choisi

# Re: Problème avec un fichier dtd

Envoyé par : Mushu

Date : 05/07/2007 14:27

Merci de ta réponse.

J'ai modifié comme tu me l'as dis, mais hélas je me retrouve toujours avec la même erreur :-/

Si tu vois autre chose, n'hésite pas.

Par avance merci

EDIT : J'ai testé en faisant :

<!DOCTYPE window [<!ENTITY quitter.label "Quitter">
<!ENTITY quitter.accesskey "Q">
<!ENTITY outils.label "Outils">
<!ENTITY outils.accesskey "U">]>

et ça fonctionne. Je ne vois vraiment pas où est le problème quand je bosse dans le chrome

# Re: Problème avec un fichier dtd

Envoyé par : chris

Date : 05/07/2007 17:14

Il n'y a pas d'accent dans ton fichier DTD ? Si oui, il est en ISO-8859-1 (ou-15) ou UTF8 ?

# Re: Problème avec un fichier dtd

Envoyé par : Mushu

Date : 05/07/2007 17:40

UTF-8

# Re: Problème avec un fichier dtd

Envoyé par : chris

Date : 05/07/2007 17:49

Ah, donc l'erreur n'est probablement pas là... Ceci dit, les problèmes que j'ai eu au départ avec les DTD étaient toujours des problèmes de codage.

# Re: Problème avec un fichier dtd

Envoyé par : Mushu

Date : 06/07/2007 00:53

Bon, ça y est ça fonctionne (un grand merci à laurentj sans qui je chercherais toujours)

Alors que fallait-il faire pour que ça fonctionne :

1°) Ne pas avoir les mains rondes ... :( Effectivement j'avais mis un _ au lieu d'un - entre fr et FR dans mon fichier chrome.manifest

2°) une erreur dans mon DOCTYPE. Par rapport à mon arborescence, celui-ci doit s'écrire ainsi :

<!DOCTYPE window SYSTEM "chrome://applis/locale/texte.dtd">

3°) il faut écrire une commande supplémentaire dans le fichier prefs.js

pref("general.useragent.locale", "fr-FR");

Voila en gros ce qu'ont été mes erreurs, si un jour ça sert à quelqu'un dans le même cas que moi.

Merci beaucoup à tous ceux qui m'on apportés de l'aide et qui font vivre ce forum super utile

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.