• [^] # Re: rachat ?

    Posté par (site web personnel) . En réponse au journal Un programmeur de IE passe à Firefox. Évalué à 3.

    C'est très bien de me parler de XML. Et justement.

    Comme le dit la doc, en HTML/SGML, un attribut n'a pas forcément de valeur. En XML si. En XML je suis justement obligé de faire ce que tu dis parce que mettre simplement /checked/ est interdit. Je suis obligé de passer par une valeur. Quand une valeur est imposée un alt="" est tout à fait valable. Quand une valeur ne l'est pas un alt sans ="" est tout à fait possible.

    > Le w3 validator confirme dans l'idée qu'une valeur vide c'est "" et non
    > le tag

    Une valeur vide ? oui. Par contre le fait de ne pas avoir de valeur est différent du fait d'avoir une valeur vide. En informatique 0 est bien différent de "pas de valeur".

    > d'après la DTD width a le type %length qui par définition précédente
    > est de type... CDATA donc une chaine (vide ou non vide).

    Oui, syntaxiquement c'est bon. Après il faut interpréter le sens. La spec te dit que c'est une longueur.
    Après tu vas sur http://www.w3.org/TR/html4/types.html#h-6.6(...) et tu vois que c'est soit un entier soit un %. Tu n'as aucun des deux, tu es en violation de la spec.
    Alors oui la DTD valide, mais la DTD n'est pas la spec, elle est partie de la spec (et une DTD a des règles de validation très limitées, donc n'en attend pas trop).

    > Donc estimer (uniquement chez le navigateur microsoft) qu'une
    > chaine vide (valeur indéfinie) vaut une (valeur définie) 0 reste pour
    > moi absurde

    Estimer qu'une chaine vide transformée en entier donne 0, ça te parait absurde ? ça te paraitrait plus logique que ça donne 50px ?
    Si le navigateur était strict il t'aurait fait une erreur fatale. Là il a deux choix : soit il transtype (et une chaine vide donne logiquement 0), soit il ignore. Les deux sont sensés, il a fait un choix qui n'est pas forcément celui de mozilla, mais aller lui reprocher c'est vraiment ridicule.
    On parle bien là de savoir comment on essaye d'interpréter et corriger une erreur du développeur, de savoir deviner ce que le développeur a bien pu vouloir dire. Dans le cas d'une image ignorer n'aurait pas été idiot, mais des longueurs on en a pour d'autres éléments, c'est générique. Si le code est bien fait et réutilise correctement les objets une longueur "" doit donner le même chiffre sur un tableau ou une image ou autre chose. De manière générique je vois mal comment tu pourrais en tirer autre chose que 0.