web-dev-qa-db-fra.com

Pourquoi pas xhtml5?

Donc, HTML5 est le plus grand pas en avant, on me dit. Le dernier pas en avant, nous avons pris que je suis au courant de l'introduction de XHTML. Les avantages étaient évidents: la simplicité, la striction, la capacité d'utiliser des analyseurs et des générateurs XML standard pour travailler avec des pages Web, etc.

Quelle est étrange et frustrante, alors que HTML5 roule tout cela: une fois encore, nous travaillons avec une syntaxe non standard; Encore une fois, nous devons faire face à des bagages historiques et à analyser la complexité; Une fois encore, nous ne pouvons pas utiliser nos bibliothèques, analyseurs, générateurs ou transformateurs de XML standard; et tous les avantages introduits par XML (extensibilité, espaces de noms, normalisation, etc.), que le W3C a passé une décennie à pousser pour de bonnes raisons, sont perdues.

Bien, nous avons xhtml5, mais il semble que cela n'ait pas gagné de popularité comme le codage HTML5 a. Voir - ceci SO QUESTION , par exemple. Même la Spécification HTML5 indique que HTML5, pas XHTML5, "est le format suggéré pour la plupart des auteurs . "

Est-ce que j'ai mal mes faits? Sinon, pourquoi suis-je le seul à ressentir de cette façon? Pourquoi les gens choisissent-ils HTML5 sur XHTML5?

54
jameshfisher

Je recommanderais de lire Comment sommes-nous arrivés ici? . Mark Pilgrim donne une excellente et une brève histoire de HTML jusqu'à HTML5.

Essentiellement, ma compréhension est que de nombreuses pages Web ne profitent même pas du "X" de XHTML car ils ne spécifient pas le type MIME approprié pour cela.

25
pthesis

Si vous produisez du code HTML5 compatible XML et envoyez-les avec XML en tant que type MIME, alors l'analyseur XML sera utilisé tout ce que le bien jazz revient;)

Edit: Voir cela pour plus d'informations supplémentaires: http://wiki.whatwg.org/wiki/html_vs._xhtml

6
deadalnix

HTML5 est la conclusion logique et inévitable des navigateurs adoptant la loi de posel ("être libéral dans ce que vous acceptez").

Une fois qu'un navigateur avec une part de marché suffisante adopte ce principe, d'autres sont obligés de suivre de la poursuite, non seulement d'être libérales en acceptant un contenu non conforme, mais également de la même manière que leurs concurrents. HTML5 est le résultat logique de cette situation: les fournisseurs de navigateurs ont décidé que, puisqu'ils ne rejoigent aucun contenu comme invalide (au moins, pas au niveau HTML - JavaScript est une autre affaire!) Ils pourraient aussi bien assister à la Table de table et acceptez une interprétation pour tout ce que l'auteur de contenu pourrait les jeter. Dans cet environnement, ils n'ont pas mis à réagir gentiment aux normes-Geeks leur disant que si seulement ils avaient rejeté le contenu mal formé du mot aller, ils n'auraient pas eu dans ce gâchis.

Donc, vous et moi puissions crier de la touche et dire aux fournisseurs de navigateurs et à leurs utilisateurs que le monde aurait été un meilleur endroit s'ils n'avaient pas cru John posel, mais le dommage est fait et il est très difficile de l'annuler.

3
Michael Kay

La spécification HTML5 a été considérablement améliorée sur la spécification HTML4. En particulier, le traitement des conditions d'erreur et le balisage invalide est en réalité normalisé, ce qui signifie que tous les navigateurs qui implémentent correctement la norme géreront le balisage invalide de la même manière.

HTML est écrit par des humains plus souvent que non (généralement conjointement avec une sorte de langage de modèles), et les humains font des erreurs. Tant que tous les navigateurs gèrent les erreurs de syntaxe de la même manière, les règles "être libérales dans ce que vous acceptez" sont parfaitement acceptables.

Il y a vraiment peu d'avantages dans la production de XML valide, car des outils et des bibliothèques pour gérer HTML sont (presque) aussi facilement disponibles, et HTML est plus facile pour les humains d'écrire que XML.

2
Dean Harding

Vous n'obtiendrez jamais les avantages d'un parseur plus simple ou d'un outil XML standard de toute façon.

Il existe des milliards de pages sur le Web en HTML, certains d'entre eux sont écrits par des personnes mortes depuis longtemps. Ils ne seront donc jamais mis à jour à XML. Donc, si vous souhaitez créer un agent utilisateur généralement utile, vous avez pour pouvoir analyser HTML à l'ancienne. Sans doute, XHTML introduit uniquement une complexité supplémentaire car elle nécessite un nouveau mode d'analyse en plus de l'analyse HTML que vous devez déjà prendre en charge.

Sur le côté serveur, vous pouvez toujours tirer parti des outils XML par exemple. générer XHTML en utilisant XSLT. Mais si vous n'utilisez pas spécifiquement d'une boîte à outils XML, il n'y a aucun avantage à utiliser la syntaxe XML plutôt que de HTML.

(Vous n'êtes pas correct que HTML est une syntaxe "non standard". La syntaxe de HTML est spécifiée dans des détails minutieux dans la spécification HTML5. Il est donc tout aussi standard que la syntaxe XML.)

1
JacquesB