Envoyé par : HüN
Date : 07/09/2005 23:40
J'ai actuellement un problème pour réaliser une extension. Après pluiseurs essais infructueux, j'ai suivi à la lettre le XUL Application Tutorial de XULPlanet (http://xulplanet.com/tutorials/xulapp/in(..)). Je n'arrive pourtant toujours pas à utiliser les DTD définies dans le dossier locale. Mon arboresence ressemble à ça :
filemanager-+ | +-content-+ | | | +-contents.rdf | +-filemanager.xul | +-locale-+ | +-en-US-+ | +-contents.rdf +-filemanager.dtd
Voici le contenu des différents fichiers :
content/filemanager.xul
<?xml version="1.0"?> <?xml-stylesheet href="filemanager.css" type="text/css"?> <!DOCTYPE window [ <!ENTITY % filemanagerDTD SYSTEM "chrome://filemanager/locale/filemanager.dtd"> %filemanagerDTD; ]> <window id="filemanagerMainWindow" title="&window.title;" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> </window>
content/contents.rdf
<?xml version="1.0"?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <RDF:Seq about="urn:mozilla:package:root"> <RDF:li resource="urn:mozilla:package:filemanager"/> </RDF:Seq> <RDF:Description about="urn:mozilla:package:filemanager" chrome:displayName="egin File Manager" chrome:author="Ronan BERDER" chrome:name="filemanager"> </RDF:Description> </RDF:RDF>
locale/en-US/filemanager.dtd
<!ENTITY window.title "FileManager">
locale/en-US/contents.rdf
<?xml version="1.0"?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <RDF:Seq about="urn:mozilla:locale:root"> <RDF:li resource="urn:mozilla:locale:en-US"/> </RDF:Seq> <RDF:Description about="urn:mozilla:locale:en-US"> <chrome:packages> <RDF:Seq about="urn:mozilla:locale:en-US:packages"> <RDF:li resource="urn:mozilla:locale:en-US:filemanager"/> </RDF:Seq> </chrome:packages> </RDF:Description> </RDF:RDF>
Voilà. J'ai de plus rajouté ces deux lignes à mon fichier installed-chrome.txt :
(...) content,install,url,resource:/chrome/filemanager/content/filemanager/ locale,install,url,resource:/chrome/filemanager/locale/en-US/filemanager/
J'ai beau redémarrer Firefox, effacer le fichier chrome.rdf, rien n'y fait, la bête m'affiche toujours le même message :
chrome://filemanager/content/
Erreur d'analyse XML : entité non définie Emplacement : chrome://filemanager/content/filemanager.xul Numéro de ligne 9, Colonne 43 : <window id="filemanagerMainWindow" title="&window.title;" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> ------------------------------------------^
Je ne sais absolument pas d'où ça peut venir. Le plus étonnant c'est que j'ai accès à la DTD lorsque je tape l'url chrome correspondante (chrome://filemanager/locale/filemanager.dtd). Pour précision j'utilise Mozilla Firefox v 1.0.6 sous Windows 2000 et Mac OS X. Pour les plus courageux, vous pourrez trouver une archive de l'arborescence de fichiers ici : http://hunvreus.free.fr/boxroom/filemana(..)
Sincèrement, je ne sais plus quoi faire.
Envoyé par : HüN
Date : 08/09/2005 04:03
J'ai travaillé de mon côté à résoudre cet épineux problème et je dois dire être surpris. En effet, même si je parviens à faire fonctionner l'appli, il me faut pour cela respecter deux choses : ne pas utiliser UTF-8 pour l'encodage de ma DTD et ne pas utiliser d'accent dans cette dernière.
J'aimerais donc avoir l'avis de certaines personnes qui auraient une expérience sur les DTDs avec les accents et les caractères spéciaux en général. Je voudrais à terme pouvoir utiliser des caractères "exotiques" dans mes DTDs (comme des caractères chinois par exemple) et je voudrais pour cela avoir une idée claire de l'encodage dans les technologies de Mozilla. Je suis preneur aussi de tout artcile sur la question des traductions ou des applis multilingues concernant cette plateforme. :D
Envoyé par : laurentj
Date : 12/09/2005 10:29
Les DTD doivent être écrites en UTF-8
Envoyé par : Utilisateur anonyme
Date : 26/09/2005 14:07
Hello,
Je viens de rencontrer le même problème en effectuant à la lettre l'exemple du livre "XUL : les cahiers du Programmeur". Dès que ma dtd est encodé en UTF-8, il n'arrive pas à la charger alors qu'en ANSI ca passe sans problème.
Cela n'étant pas une solution satisfaisante, quelqu'un aurait-il une vrai solution ?
Merci
Envoyé par : Utilisateur anonyme
Date : 26/09/2005 14:20
Re,
En éditant ma dtd avec Visual Studio, j'ai testé plusieurs façon d'enregistrer le fichier en UTF-8. C'est à dire avec ou sans signature. Conclusion :
. avec signature --> error . sans signature --> pas de problème
Je n'ai trouvé cette option de sauvegarde que sous Visual Studio. UltraEdit et Notepad ne fournissent pas cette option (enfin avec mes version).
Voily voilou
En espérant que cela évite des matinées perdues aux futurs développeur XUL
Envoyé par : Utilisateur anonyme
Date : 05/10/2005 11:22
Bonjour
J'ai eu le même problème (Erreur d'analyse XML : entité non définie) en lisant les cahiers du programmeur sur l'internationalisation. Inutile de préciser que j'ai relu plusieurs fois mon code, vérifier les rép, les noms de fichiers et recommencer 2 fois à patir de zéro. J'ai aussi essayé les enregistrements en ANSI, UTF-8, Unicode avec Texpad. Rien n'y fait. Puis j'ai inclus ma dtd dans le fichier xulforum.xul.
Donc dans le xulforum.xul au lieu d'avoir
<!DOCTYPE window SYSTEM "chrome://xulforum/locale/xulforum.dtd">
Attention parfois j'ai vu dans des posts
<!DOCTYPE window SYSTEM "chrome://xulforum/locale/fr-FR/xulforum.dtd">
ce qui est faux car c'est Firefox doit s'en charger tout seul en fonction de la langue définie dans les préférences du navigateur
J'ai donc
<!DOCTYPE window [ <!ENTITY ident.titre "Identification"> <!ENTITY ident.xf-ident_nom "Votre nom"> <!ENTITY ident.xf-ident_pass "Votre mot de passe"> <!ENTITY fenetre.titre "XUL Forum!"> ]>
comme ça c'est nikel, je n'ai plus d'erreur. Sauf que ça ne résoud pas le problème, ça le contourne. Cela m'a cependant permis d'isoler un peu mieux le problème et j'ai décidé alors d'incriminer ma version FireFox (1.0.6). J'ai téléchargé la version 1.5 béta (l'encart page 40 du livre met la puce à l'oreille...) et suivi la nouvelle façon d'enregistrer les extentions et la oh miracle, du premier coup cela fonctionne.
Contenu de xulforum.manifest à mettre dans .../Mozilla Firefox/chrome (si on développe au sein du rep de FireFox)
content xulforum resource:/chrome/xulforum/content/ locale xulforum fr-FR resource:/chrome/xulforum/locale/fr-FR/
Envoyé par : jonathan
Date : 16/10/2005 18:02
Je suis d'accord avec toi, les dernières versions de Firefox sont beaucoup mieux en ce qui concerne la gestion de l'internationalisation. Je t'avouerai que j'ai fait une grande majorité du livre avec des 1.1 et 1.5, et que les problèmes d'internationalisation ont été beaucoup moins violents avec ces versions-là...
En plus comme j'utilise Vim j'ai pas eu du tout ce genre de problèmes avec le BOM (Byte Order Mark, la signature des fichiers UTF8) :-(
Envoyé par : Utilisateur anonyme
Date : 03/12/2005 12:22
salut, j'aimerais enregistrer mon fichier text sur l'extension dtd mais je n'arrive pas que doit je faire?
Envoyé par : Julien Appert
Date : 03/12/2005 16:41
hum. Je ne suis pas sûr de comprendre. Tu n'arrives pas à changer l'extension .txt en .dtd ?
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.