Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# DOCTYPE et portée

Envoyé par : Utilisateur anonyme

Date : 09/11/2005 14:47

Constatation :

  1. Les dtd de la fenetre ne s'applique pas aux overlay inclus.Il faut donc répéter la déclaration de DOCTYPE dans le source de chaque overlay.
  2. La portée des entités s'applique aux tag window et à ses descendants à l'exclusion des tags <? xml.

Par exemple : Soit la DTD suivante

<!ENTITY xulappli.titre "Ma fenetre Xul">
<!ENTITY xulappli.host "http://localhost/Xul/">
<!ENTITY xulappli.xmlns "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!ENTITY xulappli.overlay  "http://localhost/Xul/xulappli/content/xulappli_overlay.php">
<!ENTITY xulappli.css  "chrome://xulappli/skin/xulappli.css" >
  • Pour une balise en dehors du tag window, ce mecanisme n'a aucun effet (logique)
<?xml-stylesheet href="&xulappli.css;" type="text/css"?> 

ne focntionne pas

  • Pour le titre et les labels pas de surprise.
  • Pour le namespace cela fonctionne (à priori sans intérêt)
<window title="&xulappli.titre;" width="800" height="600" xmlns="&xulappli.xmlns;">
  • Pour une variable javascript cela fonctionne aussi.
<script>
 var host="&xulappli.host;" ;
 .....
  • Par contre dans une balise overlay, il n'y a pas substitution d'ou erreur javascript : le chargement de l'overlay échoue
<?xul-overlay href="&xulappli.overlay;"?>

Dommage, j'aurais bien aimé paramétrer le chemin de l'overlay à partir de la DTD.

Une idée ?

# Re: DOCTYPE et portée

Envoyé par : hhf

Date : 09/11/2005 21:23

en tous cas normalement, pour les javascript, si tu as placé des balise pour dire à mozilla de ne pas parser le contenu des balise <script>, ton exemple ne marchera pas. A savoir la balise <![CDATA[.......]]> parce que tu vois bien le probleme dans ton exemple, c'est que si tu fais par exemple :

<script>
 var bool=a&&b;
</script>

le parser va essayé de rechercher une entity &&b ce qui n'est pas le but...

# Re: DOCTYPE et portée

Envoyé par : Utilisateur anonyme

Date : 10/11/2005 10:56

remarque judicieuse ;-)

Bon mais cela ne fait pas mon affaire, j'aurais aimé trouver un moyen de parametrer ces appels aux overlays

# Re: DOCTYPE et portée

Envoyé par : laurentj

Date : 14/11/2005 14:01

# Les dtd de la fenetre ne s'applique pas aux overlay inclus.Il faut donc répéter la déclaration de DOCTYPE dans le source de chaque overlay.
# La portée des entités s'applique aux tag window et à ses descendants à l'exclusion des tags <? xml.

Oui, normal, conforme aux spécifications XML ;-) Une entité ne peut être utilisée que dans les élements XML, leurs attributs et leur contenu. les tags <?..?> sont des processing instructions, pas des élements XML.

Dommage, j'aurais bien aimé paramétrer le chemin de l'overlay à partir de la DTD.

Eh bien met ton overlay dans un repertoire local (un exemplaire pour chaque langue).

<?xul-overlay href="chrome://mon_appli/locale/mon_overlay.xul"?>

Le repertoire locale ne contient pas obligatoirement des dtd ou fichier properties. Tu peux y mettre tout fichier qui dépendent de la langue.

# Re: DOCTYPE et portée

Envoyé par : Utilisateur anonyme

Date : 14/11/2005 19:00

non, justement. mes overlay sont sur le serveur et en php.

En local il n'y a que les "enveloppes" de ces fichiers overlays dans une url chrome, ceci afin d'avoir les permissions nécessaire pour l'appli. c'est (ce sera ;-) une appli web (maintenance et evolution du code uniquement sur le serveur) à accès réservé aux machines disposant de l'appli "enveloppe".

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.