[OSM-talk-fr] Afficher un flux WMS de l'ONF dans JOSM
Philippe Verdy
verdyp at gmail.com
Ven 24 Jan 16:31:25 UTC 2020
Le ven. 24 janv. 2020 à 15:36, Thomas Gratier <osgeo.mailinglist at gmail.com>
a écrit :
> Bonjour,
>
> "Visiblement un développeur de l'ONF a bidouillé "à la main" l'entête XML
> de ce fichier qui n'est visiblement pas créé entièrement par un outil
> automatique, si on regarde simplement l'indentation changeante et
> inconsistante (qu'un outil automatique n'aurait pas généré comme ça)."
>
> Complètement faux. L'outil c'est Mapserver et c'est généré automatiquement
> (cf https://github.com/mapserver/mapserver/blob/master/mapwms.c#L2992)
>
C'est peut-être un serveur mais il se base sur des fichiers macros ou des
bouts de code édités manuellement. Et ça se voit dans les warnings laissés
en commentaires. Un générateur automatique ne ferait pas ça.
Sinon, j'ai trouvé encore plus simple pour contourner proprement
> http://ws.carmencarto.fr/WMS/105/ONF_Forets?request=GetCapabilities&version=1.3.0
> Il faut rajouter la version 1.3.0 dans l'appel GetCapabilities (voir l'url
> du lien précédent) pour ne plus avoir les mentions Inspire qui font planter
> JOSM car par défaut c'est la 1.1.1 qui retourne ces références Inspire
> (suffit de lire le code dans le premier lien fourni pour le comprendre)
>
Ca montre que ça a été un peu bricolé sur un serveur qui n'était pas fait
initialement pour ça. Rien que l'inclusion d'une DTD dans un XML montre une
solution manuelle de compatibilité (sans doute pour les outils internes
maison qui ne savent pas traiter les namespaces XML mais utilisent un
parseur XML plus simple, plus ou moins hérité des parseurs SGML; d'où les
déclarations SGML, inutiles en XML dont les schémas sont plutôt gérés par
des références à des URI d'espaces de noms, et où les préfixes assignés
n'ont pas de signification.
Il suffit de voir que le DTD interne déclare des "attributs" (uniquement
pour SGML) alors que ce sont des pseudo-attributs en XML et qu'on n'a pas
besoin (ni même normalement le droit) de déclarer, tels que
<!ATTLIST nom-d-élément xmlns:nom-d-espace ...>".
Un parseur XML ne peut faire qu'ignorer ces déclarations, ou bien les
rejeter en mode strict, elles n'ont aucune signification pour lui et ce
n'est pas parce qu'on indique que ces attributs sont implicites pour SGML
qu'ils signifient quelquechose dans le corps du document, à moins d'un
traitement spécial des DTD pour construire le DOM au chargement du document.
Les namespaces XML sont totalement indépendants des DTD.
https://docstore.mik.ua/orelly/xml/xmlnut/ch04_04.htm
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20200124/83a22c7a/attachment.htm>
Plus d'informations sur la liste de diffusion Talk-fr