Godzil (./4501) :
Nil: Oui c'est pour sa que le SGML permet de faire <i>blabla <b>blablabla blabla</i> blalabla </b> ce que le X(HT)ML ne permet pas
J'ai la flemme de vérifier mais je suis presque (en fait totalement, à la réflexion) sûr que non, le SGML/HTML ne permet pas le croisement de balises de cette façon.
Ce qui est sans doute vrai, c'est que les navigateurs acceptent cette forme, mais ça ne signifie pas qu'elle soit correcte. C'est parce que, sans doute au départ pour des raisons d'implémentation, les navigateurs ne se font pas chier à valider la page et ils interprètent ces balises comme des switches, c'est beaucoup plus simple mais c'est incorrect.
En réalité, en SGML comme en XML, la notion de base est l'élément, et les balises servent à délimiter des éléments. Soit un élément est dans un autre élément, soit il n'y est pas. Ainsi, de deux choses l'une (laquelle est vraie dépend de la spec HTML, j'ai la flemme de vérifier mais a priori c'est la deuxième, à moins que le gras italique soit interdit... mais pour d'autres éléments on peut se retrouver dans le premier cas) : soit l'élément b ne peut pas être contenu dans l'élément i, auquel cas l'ouverture d'un élément b ferme implicitement l'élément i précédent. La signification du code est alors la même que :
<i>blabla </i><b>blablabla blabla</i> blablabla </b> (ce qui est incorrect puisqu'on ferme un i qui n'est pas ouvert).
Soit il n'y a pas de contraintes sur l'imbrication de i et b, auquel cas c'est au moment où l'élément i est fermé que l'élément b est aussi implicitement fermé, puisqu'il est contenu dans cet élément i

. La signification du code est alors la suivante :
<i>blabla <b>blablabla blabla</b></i> blablabla </b> (ce qui est toujours incorrect puisque cette fois-ci on ferme un b qui n'est pas ouvert. Enfin, dans les deux cas ça dépend de ce qu'il y a avant bien sûr, ton code
peut être correct dans l'absolu, si auparavant un élément b a été ouvert ^^)
Ethaniel (./4496) :
Mh, abandonner un XHTML pour un simple HTML, c'est ouvrir de nouveau la porte à du code crade où on ne ferme pas les balises pour pas se faire chier, déléguant cette tâche au navigateur
Très précisément, c'est cela : le XML est une version restreinte et simplifiée du SGML, beaucoup moins flexible, qui n'autorise que du code computer-friendly, introduite pour faciliter l'écriture de parseurs génériques. Cela au prix d'un code inutilement verbeux et redondant, mais il est vrai je crois qu'un parseur SGML est quelque chose de très compliqué.
Donc oui l'idée est bien de (entre autres) fermer toutes les balises explicitement pour mâcher le boulot du logiciel. Cependant dans le cas de HTML il faut bien voir que ce n'est pas du SGML générique, c'est un type de document spécifique (une DTD) et c'est déjà relativement restreint (pas mal de features de SGML ne sont pas utilisées), ça n'est en fait pas très dur à parser ; et par ailleurs les navigateurs savent déjà le faire, évidemment ^^. Dans ces circonstances, il n'est pas nécessaire d'imposer aux rédacteurs de pages web de faire le boulot du navigateur en écrivant du code encore plus computer-friendly que ce dont il a besoin. L'intérêt du XHTML est autre : c'est qu'une page XHTML est
aussi un document XML et donc on peut la faire passer dans n'importe quelle moulinette à XML... mais bon finalement c'est pas un intérêt si grand que ça, parce que déjà une page web est plus souvent le résultat d'un traitement que son point de départ, ensuite c'est de toute façon très simple de convertir du html en xml si, occasionnellement, on veut faire un traitement à partir d'une page, et enfin, si on veut quelque chose qui puisse à la fois passer dans une moulinette xml et être affiché comme page web, je pense que ça sera possible d'écrire du html directement compatible xml (enfin ça me semblerait logique qu'ils fassent en sorte que ça le soit, même si j'ai pas lu la spec html 5 ^^), donc en fait du xhtml, même si ça ne s'appellera peut-être plus comme ça ^^
Ethaniel (./4499) :
comme si FF3 ne bouffait déjà pas assez de RAM
Et la bande passante alors, tu y penses à la bande passante ?

Flan > en fait je ne le vois pas trop non plus, peut-être que Nil ne parle pas d'un rapport théorique (qui ne me semble pas exister, en effet) mais plutôt d'un rapport de circonstance ? ie que dans les faits, les gens qui utilisent du xhtml auraient tendance à abuser des div/span, sans qu'il y ait nécessairement de lien de cause à effet.