Un WMS c'est au départ un seul fichier XML descriptif qui contient toutes
les références aux serveurs de tuiles et décrire leur organisation. Ce
fichier est généralement (mais pas obligatoirement) hébergé par le même
fournisseur que le fournisseur des tuiles.

On peut en avoir une copie locale modifiée/"patchée" au lieu de le
télécharger depuis le serveur WMS (qui se charge alors de la diffusion ou
de ses mises à jour, ton logiciel le charge et le garde en cache).

Ensuite le logiciel de rendu utilisera les infos de ce fichier pour accéder
correctement aux tuiles avec les bonnes URL et les bons paramètres
d'affichage, et les bonnes métadonnées (dont celles de licence et droit
d'auteur, ou encore des infos sur les référentiels et projections utilisés,
ainsi que les infos sur le format des tuiles) pour que leur interprétation
et rendu soit corrects.

Le format XML n'est pas compliqué mais il impose une déclaration dans
l'entête des préfixes de "namespaces" pour les lier à une URI. Les préfixes
en XML sinon ne signifient rien, même pour XHTML ou SVG (et même le mot-clé
symbolique peut être librement redéfini, c'est la liaison du préfixe à
l'URI qui indique qu'il s'agit bien du même schéma et donc indique la
sémantique du fichier). Seuls quelques préfixes sont prédéfinis (il y en a
très peu, ce sont en fait des "pseudo-espaces" faisant partie intégrante de
la norme XML et qu'un fichier XML ne peut pas remplacer librement, car ces
espaces de noms sont réservés, notamment le préfixe "xml:").

Ainsi une balise XML nommée <toto:machin> ou <titi:Machin> peut signifier
la même chose, si "toto" et "titi" sont liés à la même URI par la
déclaration de ces espaces dans l'entête XML. C'est ce qui fait la
versatilité du format XML, qui donne la possibilité d'encapsuler des
fichiers contenant des balises et attributs homonymes sans les modifier,
alors qu'ils ont des sémantiques différentes selon la déclaration des
préfixes dans la balise de leur élément conteneur. Les espaces de noms
peuvent aussi être utilisés seulement pour les noms des attributs
individuels et se mélanger à d'autres espaces de noms pour les balises
elles-mêmes. XML permet aussi de déclarer quel est l'espace de noms par
défaut, pour les balises et attributs n'ayant aucun préfixe, autrement à
dit à quelle URI ces balises et attributs sont liés. L'URI n'est qu'un
identifiant supposé unique pour un schéma de codage donné, elle n'a pas
besoin d'être téléchargée, même si souvent on peut la télécharger pour y
trouver un fichier de schéma XML (mais ce schéma peut être implicite et
intégré parmi les URI reconnues par l'utilisateur du fichier). C'est bien
l'URI qui indique la sémantique du fichier, pas seumement les noms de
balises ni les préfixes utilisés.

Si on ne lie pas les préfixes aux espaces de noms par une URI, le fichier
XML n'est pas conforme, l'interprétation est hasardeuse, l'encapsulation de
données depuis plusieurs sources utilisant des schémas différents est
impossible sans ambiguité. C'est vrai aussi pour XHTML.

Mais pas nécessaire pour HTML. même en HTML5 (dont l'espace de noms par
défaut est prédéfini par la déclaration de l'entête <!DOCUMENT html> où il
n'est même pas nécessaire de préciser l'URI)

----

HTML5 peut être utilisé *aussi* en syntaxe XHTML mais dans ce cas il devra
comporter cette déclaration d'espace de son propre espace de noms pour être
conforme XML, et les règles syntaxiques de fermeture explicite et
obligatoire de toutes les  balise d'XML s'imposent, alors qu'elles sont
partiellement levées en HTML5 comme c'était aussi déjà le cas pour HTML4 et
SGML, qui n'imposent pas cela et utilisent un espace de noms unique pour
toutes leurs balises et attributs et sinon imposent quelques espaces de
noms prédéfinis pour des cas spéciaux, le reste nécessite une déclaration
dans le "DTD" de la pseudo-balise  <!DOCUMENT> en tête du fichier; mais les
DTD ont été bannies en HTML5 à cause de risques de sécurité et surtout à
cause des déclarations "d'entités nommées" pouvant remplacer n'importe quoi
dans la syntaxe de ce qui suit avec un mécanisme proche de ceux des
"macros" dans les préprocesseurs; HTML5 à la place prédéclare un certain
nombre d'entités nommées, et bannit désormais toute déclaration
supplémentaire ou implicite, contrairement à ce que "tolérait" HTML4 dont
les entités nommées étaient ajoutées à loisir par différents navigateurs ou
éditeurs de documents : en HTML5 les balises nommées prédéfinies, qu'on ne
doit pas déclarer dans un DTD comme on pouvait le faire en HTML4 mais qui
compliquait les parseurs et posaient de sérieux problèmes de sécurité et
performance, ne concerne que des caractères isolés, pas n'importe quel
élément de syntaxe comme en SGML; tous les autres caractères doivent être
encodés directement, en UTF-8 par défaut s'il n'y a pas un autre "charset"
déclaré, et HTML5 ne reconnait que certains charsets et les traite de façon
différente d'HTML4 qui était plus permissif, notamment pour ce qui concerne
les charsets 8 bits ASCII, ISO 8859-1 et Windows-1252, tous mappés en
Windows-1252 avec HTML5 alors qu'en HTML4 il y a pléthore de charsets sous
différents aliases; HTML5 ne permet plus que quelques "charsets" mais n'en
a plus besoin, c'est juste une concession de compatibilité avec les
contenus existants sur des tonnes de serveurs, sinon UTF-8 devrait être
utilisé partout).

Quand on a compris tout ça (j'ai simplifié malgré tout ci-dessus, le détail
est dans les normes), on comprend que la conformité XML est obligatoire
pour WMS. Un espace de noms XML non déclaré en XML invalide le format XML,
donc aussi le format WMS qui s'appuie dessus.



Le jeu. 23 janv. 2020 à 10:33, Romain MEHUT <rme...@openstreetmap.fr> a
écrit :

> Philippe Verdy wrote
> > Chez moi non, j'ai aussi une erreur XML, le flux WMS inutilisable, reste
> à
> > trouver un WMS corrigé donnant accès aux mêmes tuiles. Tu peux déjà créer
> > une copie du WMS existant, corriger la syntaxe XML, et utiliser ce
> fichier
> > pour accéder aux tuiles...
> > C'est à signaler à l'office qui a mis en place ce XML bogué.
>
> Sauf que je n'ai pas les compétences pour faire ce que tu proposes en
> correctif :(
>
> Romain
>
>
>
>
> --
> Sent from: http://gis.19327.n8.nabble.com/France-f5380434.html
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr
>
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à