Contenido

Duda con XHTML 1.1

12 Jun

+ 13

El otro día validé la web para XHTML 1.1 y no tuve ningún problema y aún no he tenido nada especial, pero tengo una duda a ver si alguien me puede ayudar a resolverla.

Se trata del tag:

<?xml version="1.0" encoding="iso-8859-1"?>

Que ha de colocarse sobre el doctype del documento.

<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">

¿Esto no produce que el navegador entre en modo quirks?

Tenía entendido que el problema del modo quirks era que no detectaba el doctype de la página al cargar (o no lo hacía correctamente) y por ese motivo saltaba a ese estado.

Actualización 

Despues de probar en IE 6.0, tengo que confirmar que aparece que hace entrar a este navegador en formato quirksmode. Esta definición que saque de una lista de correo me gustó mucho.

> Que me entere yo, con eso del Quirksmode, se arregla el error de IE6
> con los margenes y paddings?
> pero tiene que tener algún inconveniente, no? porque si no, poner un
> simple comentario puede arreglar muchos dolores de cabeza.

Al revés el quiksmode hace que IE calcule erroneamente el tamaño de las
cajas con margenes y paddings, es con la declaración del doctype en la
primera línea donde se soluciona ese problema, el ‘pero’ esta que ni en
modo compatible con los estandares es compatible del todo.

  • Si tendrías que colocarlo tal cual, el modo quirks puede causar problemas en algún navegador, ya sabemos que navegador es, podemos reemplazarlo con la etiqueta meta con http-equiv igual a Content-Type.

    Aunque sería más correcto la opción que tú aportas.

    Un saludo

  • Si, IE6 entra en quirks mode. Yo lo hago siempre así para que el IE6 se compuerte como IE5. Ahora solo tienes que hacer un solo arquivo CSS para los IEs:

  • (Complicado para escribir code en un comentario)

  • Si, yo tb me cago en el WordPress y su sistema de comentarios raros….

    A ver si apaño algo este finde.

  • Me comió todo el comentario por no poner bien un

  • La tercera es la vencida: No necesitas usar _eso_ a menos que uses XML o uses un enconding diferente a utf-8.

  • Siendo estrictamente estrictos el Doctype XHTML 1.1 prohibe usar el MIME type text/html. Se debe usar el MIME type application/xhtml xml, el pequeño problema es que ningún IE lo soporta. (podrias usar también application/xml o text/xml)

    Dicho esto, lo mejor desde mi punto de vista sería servir XHTML 1.1 con su MIME type o XHTML 1.0 Strict con text/html según prefiera el navegador, usando negociación de contenido.
    Usar el MIME type application/xhtml xml implica que tu documento va seguir las normas estrictas de XML lo que va a significar que un error puede ser fatal para la visualización.

  • ¿Realmente tenemos que ser tan estrictos?
    En mi trabajo, hemos tenido que realizar una web a la que supuestamente han de entrar una media estimada de 30.000 usuarios diarios (cifras de marketing).

    Y hemos optado por usar XHTML transicional aunque podíamos haberlo hecho en strict.

    ¿Realmente creeis que sería interesante cambiar la especificación?
    Aun estamos a tiempo, salimos en 5 días y esta todo listo.

  • Desde mi experiencia, creo que suma más desventajas que ventajas. Además del problema con el «quirksmode» en MSIE, es un verdadero riesgo usar ese tag con Mozilla, ya que si llegara a existir algún carácter inválido dentro del documento –y dado que el documento sería técnicamente un XML– lo único que se vería sería un aviso sobre el error en la codificación del carácter… en sitios que han migrado de una codifcación ISO-8859-1 a UTF-8 (no se si es tu caso), es muy común encontrar errores en la codificación de carácteres (me pasó), por lo que no lo recomendaría

    con respecto a lo que dice JuanPalomo, creo que lo mejor en el caso de un sitio «nuevo» es utilizar XHTML Strict, ya que el Transitional, es (como su nombre lo indica) ideal para sitios que hacen la transición desde HTML 4 a XHTML. Si han escrito buen código, es probable que sólo les haga falta cambiar el «DOCTYPE», si no, habría que deshacerse de las mañas que aún se permiten en HTML 4/XHTML Transitional (p. ej, el atributo «target»). Aquí hay un buen resumen de las diferencias: http://liorean.web-graphics.com/xhtml/comparison.loose-strict.html

  • Lo mismo que dijo Federico…

    Ayer estuve pasando un sitio de transicional a Strict. la etiqueta ?xml version=»1.0″ encoding=»iso-8859-1″?> solo es necesaria si vas a usar una codificacion distinta a UTF-8.
    Así que si realmente quieres quitarte el problema del IE6 tienes que pasar todo a UTF-8, cambiar las ñ por ñ y así con los códigos utf-8 de las letras con tilde y otros.
    Les paso un link con una tabla que contiene los códigos utf-8

    http://www.tony-franks.co.uk/UTF-8.htm

    Salú!

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.