Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# DTD

Envoyé par : hhf

Date : 09/11/2006 23:07

bonsoir, une petite question :

je fait un XBL mais pas dans le chrome..., je voudrais le localiser, je doit donc utiliser des fichiers externes pour ca, une DTD pour remplacer les ENTITY, et un file.properties pour les message genéré par les js.

bon deja est ce normal que le stringbundle ne fonctionne pas en client distant, il me dit l'erreur classic des XPCom, impossile unamed class etc... Bon pour ca j'ai trouvé la parade, mais pour la DTD :

j'ai mis :

   <!DOCTYPE bindings SYSTEM "chrome://browser/locale/browser.dtd" >

comme ca ca fonctionne, mais si je met :

   <!DOCTYPE bindings SYSTEM "http://localhost/monappli/locale/french.dtd" >

Ca marche pas... faut il mettre autre chose que SYSTEM dans le cas d'une DTD externe ?

Merci

# Re: DTD

Envoyé par : papy

Date : 10/11/2006 09:46

Pour faire court, l'utilisation de DTD externe n'est pas possible (en tout cas pas jusqu'a firefox 1.5).

Je me suis confronté au problème il y a un mois de cela, et après pas mal de recherche je suis tombé sur un bug report sur le sujet qui date d'il y a 6 ans. Résultat, c'est une limitation du parseur dû à l'asynchronisme du chargement des fichiers distants, et d'après l'avis des développeurs concernés ca nécessiterait trop de modification pour les prendre en charge...

Enfin je peux me tromper ou ca a pu évoluer depuis. Si tu trouve une solution tiens nous au courant ca me dépannerait bien : pour l'instant je télécharge les DTD externes au préalable pour les inclure depuis un répertoire local.

Par contre je n'arrive pas a retrouvé cette page Web, mais tu peut chercher sur le bugzilla de Mozilla, elle s'y trouve quelque part :D

# Re: DTD

Envoyé par : laurentj

Date : 10/11/2006 10:24

solution : générer le XBL par un script php ou autre, avec les bonnes locales... (ne pas oublier de spécifier le content-type xml).

# Re: DTD

Envoyé par : hhf

Date : 10/11/2006 23:50

merci de ces reponses, laurentj, tu m'avais habitué à de meilleurs reponse :-), inclure la locale dans le fichier qui definie l'interface, en plus generé par du code serveur quel heresie.... Bon, je t'accorde qu'il n'y pas trop de solution, sur le coup.

Pour ceux que ca interesse, pour le meme probleme mais avec les fichiers langue.properties, normalement exploités par les stringbundles, j'ai trouvé une solution esthetique :

j'ai recréé un xbl, un nouveau stringbundle qui est une simple vbox avec l'attribut hidden, celui ci prend comme source un datasource, qui genere des childs dans la vbox avec deux attribut, une key et une valeur. J'ai implanté aussi les 2 methodes getString et getFormattedString sur le xbl, qui me permette via getAnonymousElementByAttribute(this ,"key", key); de recuper la bonne ligne, puis via un simple getAttribute("value") de recuperer le texte localisé.

Je dis que j'ai eu le meme probleme avec les stringbundle, mais peut etre est ce un bug, quelqu'un a t'il reussi a faire marché ces dernier en client distant ???

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.