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