34 votes

HTML5 de la syntaxe HTML vs XHTML

Même avec HTML5 être la voie à suivre pour le HTML que nous avons deux options développeurs: la syntaxe XHTML et HTML syntaxe. J'ai été en utilisant XHTML comme mon doctype pour 5 ans, donc je suis très à l'aise avec elle.

Mais ma question est, étant donné que la non-syntaxe xml sera autorisé, il n'existe aucune raison de s'en tenir à un XML valide la syntaxe? Ne vous apporte rien d'aller avec un sur l'autre, en plus de préférence (compatibilité, etc)? Personnellement, je vais me sentir un peu sale de revenir à pas de balise de fermeture,
est une seconde nature pour moi maintenant, mais aurais-je gagner quelque chose allant de nouveau à la syntaxe HTML?

Mise à jour: je suppose que ma vrai question est est-il une raison pour passer du XHTML pour la syntaxe HTML? J'ai été en utilisant XHTML pendant des années et vous ne savez pas si il y a une raison de revenir. Compatibilité du navigateur (IE a été parfois finiky avec l'application/xhtml+xml mime-type), etc?

24voto

Lachlan Hunt Points 716

L'avantage de la syntaxe XHTML, c'est qu'il est le XML. Il peut facilement être analysé, compris et manipulé. La syntaxe HTML est beaucoup plus difficile pour les clients de travailler avec.

Non-sens! La spec HTML5 définit comment analyser le code HTML dans une manière qui est relativement facile à mettre en œuvre, et de l'off-the-shelf analyseurs sont en cours d'élaboration qui peut être facilement intégré dans l'outil de chaînes. Il est même possible pour un parser HTML5 pour être intégré dans un outil XML de la chaîne en place d'un analyseur XML.

Mais ce que vous devez comprendre, c'est que, dans la pratique, vous êtes plus susceptible à l'aide de HTML, de toute façon, même si vous pensez que vous êtes en utilisant XHTML basé sur le DOCTYPE. Si votre contenu est servi en tant que text/html, au lieu de l'application/xhtml+xml ou un autre XML de type MIME, votre contenu sera traité comme du HTML.

Avec HTML5, vous pouvez choisir d'utiliser de l'HTML-seulement la syntaxe, ce qui signifie qu'il est seulement compatible avec le fait d'être servi et traitées en tant que text/html, il n'est pas XML bien formé. Ou utiliser le XHTML seule syntaxe, sens qui s'est XML bien formé, mais utilise des fonctionnalités XML qui ne sont pas compatibles avec HTML. Ou, vous pouvez écrire un Polyglotte document, ce qui est conforme et compatible avec HTML et XHTML traitement (En principe, c'est conceptuellement similaire à l'écriture XHTML 1.0 conforme à l'Annexe C des lignes directrices).

19voto

hsivonen Points 5133

Je suppose que ma vrai question est est-il un raison de passer de XHTML HTML la syntaxe? J'ai été en utilisant XHTML pour ans et ne sais pas si il y a un raison de revenir en arrière. Navigateur compatibilité (c'est à dire était parfois finiky avec l'application/xhtml+xml mime-type), etc?

Comme mentionné dans une réponse précédente, text/html est obtient considérés comme des fichiers HTML et application/xhtml+xml obtient analysée comme du XML. Ainsi, vous devez utiliser la syntaxe qui correspond au type MIME vous utilisez.

Si vous êtes maintenant servant text/html mais en utilisant la syntaxe XHTML, alors vous devriez corriger votre contenu à utiliser la syntaxe HTML5. Vous avez peut-être déjà proche, depuis le HTML5 permet à l'XMLesque /> vide de l'élément de syntaxe pour les nuls éléments (éléments qui sont toujours vides, comme en img et br).

Si vous êtes maintenant à l'aide d' application/xhtml+xml, c'est à dire le soutien serait une raison pour passer à l' text/html et de la syntaxe HTML si vous vous souciez de soutenir IE.

Essayer d'écrire polyglotte documents qui sont correctes HTML5 et XHTML5 (pour servir différents types MIME différents navigateurs avec la même charge utile octets) est plus difficile qu'il n'y paraît à première vue et n'en vaut pas la peine.

8voto

Ionuț G. Stan Points 62482

Le HTML5 projet est très clair sur la syntaxe à utiliser:

  • utiliser la syntaxe HTML lors de l'envoi de pages texte/html
  • utiliser la syntaxe XHTML lors de l'envoi de pages en tant que application/xhtml+xml

Référence: http://dev.w3.org/html5/spec/Overview.html#authors-using-xhtml

2voto

liori Points 13629

Lors de l'utilisation de XHTML, vous pouvez le mélanger avec d'autres contenus XML, f.e. MathML, SVG ou de votre propre format propriétaire, en changeant juste l'espace de noms à un certain point. Aussi, vous pouvez incorporer XHTML à l'intérieur d'autres documents XML.

(eh bien, en fait MathML et SVG peut être utilisé dans la non-XML, HTML5, mais qu'ils sont spéciaux camelcase)

1voto

Thomas Broyer Points 45499

Vous ne devriez pas utiliser du XHTML pour servir du contenu sur le Web (ou tout réseau, y compris Internet Explorer clients); voir Envoi de XHTML en tant que texte/html Considéré comme Nocif pour la pleine justification.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X