From: Cyril Jandia (cjandia@logfi.fr)
Date: 05/06/2002 - 08:25
> De : zze-STIENNE Nicolas FTRD/DMI/CAE
> À : xml-tech@xmlfr.org
> Objet : [xml-tech] wml et xmlns
>
> Bonjour !!
>
> Je génère des pages html avec mon installation de Cocoo 2.0.2 (avec
> Tomcat 4.0.3 et JDK1.3.1).
>
> Maintenant, j'aimerais générer des pages wml. Mon problème semble
> être que j'utilise un namespace pour mes documents :
> xmlns:site="http://www.monsite.fr"
>
> Il semblerait que ce soit interdit d'en utiliser dans une balise wml...
>
> Le code généré est le suivant :
> [...]Le simulateur Wap dit : invalid WML code
> Lorsque je modifie le code généré à la main et que j'enlève la partie
> xmlns (-><wml>
> au lieu de <wml xmlns:site="http://www.monsite.fr">), ça fonctionne !!
Oui: vous avez bien décrit/identifié le symptôme ;=) quant au diagnostic...
... eh bien il semble tout simplement que votre "simulateur WAP" cherche à
valider votre document WML contre la DTD à laquelle il est fait référence, via :
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
Or, si on résoud l'URI/URL de ladite DTD WML... on s'aperçoit (et sans réelle
surprise, d'ailleurs ;=) que votre attribut "xmlns:site" n'est pas prévu par
ceux qui l'ont écrite... - on y lit seulement :
[...]
<!ENTITY % coreattrs "id ID #IMPLIED
class CDATA #IMPLIED">
[...]<!ELEMENT wml ( head?, template?, card+ )>
<!ATTLIST wml
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
> Ma question est donc de savoir si je suis obligé d'enlever mes
> namespaces de tous mes documents :-( ou s'il y a une autre
> solution... et mon observation est-elle exacte ?
la solution est donc immédiate: si vous tenez "absolument" à votre déclaration
d'espace de noms, vous n'avez d'autre choix que d'adapter cette DTD pour l'y
ajouter (ce "xmlns:site") - qqchose comme :
<!ATTLIST wml
xmlns:site CDATA #FIXED "http://www.monsite.fr"
xml:lang NMTOKEN #IMPLIED
%coreattrs;
>
(le reste inchangé)
puis, de la mettre à disposition au document WML généré via l'URI/URL de votre
cru :
<!DOCTYPE wml PUBLIC "-//MONSITE.FR//DTD MON-APPLI WML 1.1//EN"
"http://www.monsite.fr/XML-DTDs/mon-appli.dtd">
la forme générale de l'identifiant public "-//MONSITE.FR//DTD MON-APPLI WML
1.1//EN" n'est qu'une simple convention - mais les détails sont laissés à la
discrétion de votre imagination ;=)
...l'identifiant système "http://www.monsite.fr/XML-DTDs/mon-appli.dtd" (*)
quant à lui, doit bien sûr pouvoir être résolu par votre simulateur WAP - comme
c'était le cas pour "http://www.wapforum.org/DTD/wml_1.1.xml".
(*: ou autre, de votre choix ;=)
> Merci de votre aide
> Nicolas !!
Cordialement,
--CJ
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|