De ce que je peux en voir, le but n'est absolument pas de rendre XML plus court, mais plus simple.
Et je suis plutôt d'accord avec l'idée, mais elle arrive un peu tard : nous avons une bonne décennie de XML compliqué à gérer, maintenant.
Plus simple :
- Pas de DTD incluse ou de DTD tout court : s'il y a un doctype, il ne fait que donner le nom du premier élément, comme en HTML5 (et donc il n'a aucun intérêt et n'est là que pour compatibilité, oui.) Ça signifie pas de déclaration d'entités, et donc les seuls références d'entités qu'on puisse avoir, c'est < > & ' et ". Ça signifie aussi pas de valeur par défaut pour les attributs.
=> C'est pas dommage. Les entités externes et internes avaient des intérêts, mais les outils les géraient trop mal, c'était la merde. Les valeurs par défaut d'attributs, c'était juste complètement chiant. Et puis franchement c'est trop compliqué.
- Pas de déclaration XML. Ça servait essentiellement à indiquer le charset, qui du coup doit être utf-8 et puis c'est tout.
=> Ça élude le problème.
- Pas de CDATA.
=> C'est gadget, mais bon, c'est plus simple.
- Syntaxe simplifiée des processing instructions.
=> Je me demande si c'est pas une erreur... Ça casse la compatibilité avec l'existant. D'un autre côté, personne n'utilise les processing instructions autrement... Et presque personne ne les utilise tout court. Moi je les aurais carrément virées.
Me semble pas très intéressant.
Réponses aux questions habituelles :
- Pourquoi pas JSON ?
=> Il gère très mal les flux à la HTML
=> Il n'est pas extensible
=> Il est moins explicite
Si JSON est mieux pour votre besoin, servez-vous en. Sinon, non.
- Pourquoi ne pas standardiser JSON ?
JSON est déjà standardisé, simplement, de nombreux auteurs de bibliothèques ne savent pas ce qu'ils font. Même si ce n'est pas mérité, les endroits où on ne jure que par JSON ne sont pas franchement des modèles de rigueur. Pas de chance, c'est comme ça. On a les nôtres du côté XML aussi.
- Pourquoi pas Yaml ?
=> Il ne gère pas les flux à la HTML
=> Il n'est pas extensible
=> Son modèle d'imbrication est très limité.
=> Que ça nous plaise ou non, les gens sont plus perturbés par cette syntaxe que par les autres (qui, au contraire, leur vient naturellement.) À quoi ça sert d'attirer les ennuis ?
Si Yaml résout vos problèmes, servez-vous en. Sinon, non.
Partager