PDA

Ver la Versión Completa : URL con ampersand en XHTML


Ñuño Martínez
04-10-2006, 16:53:36
Pues verán: estoy traduciendo, poco a poco, mis páginas para que utilicen XHML. He terminado una de las páginas pero el validador del 3WC me dice que hay un error en la siguiente línea:
<a href="http://burdjia.com/foros/profile.php?mode=viewprofile&u=4">Ñuño Martínez</a><br />


En concreto hay un problema con el último parámetro de la URL por el uso del ampersand. ¿Cómo debería escribir esa dirección? Es el único error que detecta en la página y sería una pena que por esa tontería no pueda meter el botón de validación.

dec
04-10-2006, 17:26:09
Hola,

Bueno. Yo tengo ese problema ahora mismo en Loturak. Sería interesante que alguien pudiera arrojar algo de luz sobre este tema, puesto que lo tengo, ciertamente, un poco abandonado, sin duda, porque mientras se está en una cosa no puede estarse en la otra.

Empero, no creas que no me preocupé de buscar alguna solución. Y, de hecho, si lo dejé un poco de lado es porque llegué a algo un tanto extraño... me explico. Las páginas de Loturak suelen validar (nos preocupamos de ello y revisamos que esto es así regularmente) y no lo hacen, por el problema que dices, únicamente algunas páginas.

Verás. En algunas páginas en donde se "imprimen" URLs como la que mencionas utlizamos algo así previamente:

$urlEnlace = str_replace('&', ' & # 3 8 ;', $datosEnlace->enlace_url);

Y... funciona. ¿Cómo? ¿No he dicho arriba que no funciona? He dicho que ocurre algo que yo no he conseguido aún sino catalogar de "raro" (por desconocimiento, como suele pasar), y es que funciona en algunos sitios, pero, no en otros... funciona o, por mejor decir, funciona en todos los sitios, excepto en las páginas de Loturak que "listan" enlaces.

Son las URLs de algunos enlaces los que "rompen" la validación del código, no es código de la propia Loturak, sino que son las URLs de los enlaces que se añaden a la aplicación por los usuarios de la aplicación. Pues bien, aunque se sigue el mismo proceso:

$urlEnlace = str_replace('&', ' & # 3 8 ;', $datosEnlace->enlace_url);

Lo cierto es que, como digo, en las páginas donde se "listan" los enlaces no parece surtir efecto. Hemos mirado, remirado, probado y comprobado, pero, aún no encontramos una solución apropiada. Tal vez ahora sea el tiempo. :D

PD. Ojo, he separado la entidad HTML con la que sustituimos el "ampersand" de la URL porque de lo contrario no saldría como queremos en el mensaje, o sea aquí, sino que saldría el propio "ampersand" que representa dicha entidad HTML. Si vas a probarlo quita los espacios a & # 3 8 ;

Ñuño Martínez
04-10-2006, 18:07:25
Gracias Dec. Ya está arreglado poniendo el &#...;

Pero no acabo yo de pillar los problemas que tenéis en Loturak...

dec
04-10-2006, 18:11:36
Hola,


Pero no acabo yo de pillar los problemas que tenéis en Loturak...


Pues ya ves, es lo que he comentado: algo raro... por lo menos. Tú mismo acabas de comprobar que funciona la propuesta de solución y también funciona en Loturak... excepto donde no funciona. ;)

Bueno. Tal vez estamos pasando algo de largo... o existe otra solución más apropiada... tenemos que mirarlo. :D

maeyanes
04-10-2006, 18:23:53
Hice una pequeña búsqueda en Google sobre el problema y encontré esto:


C.12. Using Ampersands in Attribute Values (and Elsewhere)
In both SGML and XML, the ampersand character ("&") declares the beginning of an entity reference (e.g., &reg; for the registered trademark symbol "®"). Unfortunately, many HTML user agents have silently ignored incorrect usage of the ampersand character in HTML documents - treating ampersands that do not look like entity references as literal ampersands. XML-based user agents will not tolerate this incorrect usage, and any document that uses an ampersand incorrectly will not be "valid", and consequently will not conform to this specification. In order to ensure that documents are compatible with historical HTML user agents and XML-based user agents, ampersands used in a document that are to be treated as literal characters must be expressed themselves as an entity reference (e.g. "&amp;"). For example, when the href attribute of the a element refers to a CGI script that takes parameters, it must be expressed as http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user rather than as http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user.


Esto es, la url debes escribirla de la siguiente forma:


<a href="http://burdjia.com/foros/profile.php?mode=viewprofile&amp;u=4">Ñuño Martínez</a><br />


Y me imagino que sería el mismo caso de Dec

dec
04-10-2006, 18:31:21
Hola,

Excelente Maeyanes. Ya lo estoy probando. ;)

PD. Y el caso es que me parece recordarlo...

dec
04-10-2006, 18:37:22
Hola,

Bueno. Pues parece que va de perilla. Muchas gracias Maeyanes. ;)

http://validator.w3.org/check?uri=http://www.loturak.es

dec
04-10-2006, 18:47:36
Hola,

Bueno... el agradecimiento sigue en pie, ¿eh? Que conste. ;)

Sin embargo,... sigue dándose el mismo problema... sin duda algo se nos está escapando, puesto que el texto que has puesto antes Maeyanes parece claro. Habrá que mirarlo más detenidamente. ;)

http://validator.w3.org/check?uri=http://www.loturak.es/compartir?p=2

maeyanes
04-10-2006, 19:10:56
Bueno, acabo de validar a loturak, usando el enlace que pusiste y pasó... :p

Ahora, revisando el código XHTML de loturak, veo que tienes algo como esto:


<span class="tituloenlace"><a href="visitar?enlace-id=3988" title="Abrir este enlace">...


Si te fijas, el tag a contiene en la propiedad href un ampersand como tal, esto es, no se usa la entidad &amp;. La verdad no se si esto sea así por cuestiones del navegador (que sustituya el &amp; por & al mostrar el código fuente) o por que así lo envía el servidor. Pero hasta eso, el validador lo pasó como bueno...


Saludos...


Editando: Me acabo de dar cuenta que la regué feo... xDDD Por alguna razón confundí el ? del código con un &... :P Dado esto, todo lo anterior no tiene mucho caso...

dec
04-10-2006, 19:18:04
Hola,

No; el caracter que ves en el "href" es un signo de interrogación, no un "ampersand" (a mí también me ha parado eso, no creas). El caso es que no entiendo qué puede pasar por lo que he comentado: en unos sitios funciona y en otros no. Pero, he comprobado que lo que llega al "validador" son las entidades HTML de los "ampersand", o sea, que debería ir bien... o algo se está escapando por ahí, que es lo más seguro, claro. :)

Es curioso y no sé si estará feo decirlo, pero, el caso es que Loturak valida, esto es, hasta donde sabemos lo único que falla es este tema, y por eso, aparentemente, acaso debería ser más sencillo darse cuenta de dónde está el problema, pero, ya ves... :D

Gracias otra vez Mayenaes por el interés.

maeyanes
04-10-2006, 19:23:25
Si, me di cuenta después de publicado el mensaje... xDDD

Por eso la pequeña aclaración que puse... ahora... volviendo al tema que nos interesa:


<a href="#" title="Vista previa del enlace" onclick="javascript:Interfaz.VistaPreviaEnlace('marcovistaprevia-3709', 'http://tech-hints.org/?q=node/3&page=0%2C0'); return false;"><img src="img/plugin_link.png" alt="vista previa" width="16" height="16" /></a>


Si te fijas, la url que está en esta parte del código (http://tech-hints.org/?q=node/3&page=0%2C0), tiene el & como tal y no en forma de entidad HTML (&amp;) y es por eso que no pasa la validación...


Saludos...

roman
04-10-2006, 19:36:04
Lo que hay que hacer para satisfacer a los validadores. Pabernosmatao!

dec
04-10-2006, 19:47:13
Hola,

Efectivamente, has dado en el clavo de nuevo: esas URLs no estaban siendo "tratadas", empero, aún así, después de hacerlo, seguían produciéndose errores... pues bien, fijándome un poco más en el mensaje de error que proporcionaba en este caso el "validador", me encuentro con esto: Ampersands, PHP Sessions and Valid HTML (http://www.w3.org/QA/2005/04/php-session)... veremos a ver, porque el "validador" dice, literalmente, que es la solución al problema. ;)

dec
04-10-2006, 20:02:52
Hola,


Lo que hay que hacer para satisfacer a los validadores.


Bueno, tampoco es únicamente por eso Román. ;)

No creas, ha estado interesante todo esto, o a mí me lo ha parecido.

Por otro lado, parece que el invento del artículo mencionado antes funciona: la siguiente página de Loturak contiene URLs que cuentan con los "ampersand" famosos y ya no da errores:

http://validator.w3.org/check?uri=http://www.loturak.es/compartir?p=3

He seguido la solución que dan en el artículo, creo, que, al pie de la letra. He añadido al ".htaccess" del directorio "raíz" de Loturak este par de líneas:


# http://www.w3.org/QA/2005/04/php-session
php_value session.use_trans_sid 0
php_value arg_separator.output &amp;


Je, je, je... Bueno. Pues muchas gracias por iniciar este Hilo, gracias a todos por el interés y especialmente a Maeyanes por el empujón, puesto que, como he venido diciendo, esta era una tarea "pendiente", tal vez desde hace ya demasiado tiempo. ;)

PD. A ver si en verdad funciona... porque, ¡hay que ver la guerra que ha dado! Je, je, je. :D

roman
04-10-2006, 20:09:29
Bueno, tampoco es únicamente por eso Román.

¿Y por qué otra razón entonces?

Pero en realidad, lo que me intriga es por qué, siendo el uso del & tan viejo como Matusalén, cuando se diseñó el estandar del xhtml, no se tomó en cuenta eso. Obligar a escribir & amp ; en cada enlace, en lugar de simplemente & me parece por demás ocioso. (no ustedes, los que hacen estos estándares)

// Saludos

dec
04-10-2006, 20:16:14
Hola,


¿Y por qué otra razón entonces?


Me temía esa pregunta. :D Y es que yo no soy el más adecuado para responderte, me temo. No sé. Desde que he podido hacerlo me ha gustado que las páginas Web que he hecho tuvieran código válido para el W3C. No se me escapa que no aplico como debo algunos temas de accesibilidad, otros relativos a la semántica, y es que reconozco que de esto no sé lo suficiente. No sé Román, gusta que te digan que haces "bien" las cosas. Y entrecomillo el bien para que no me respondas, ¿es que si no validas significa que no haces bien las cosas? Es una forma de hablar. ¿Vale? :D :D


Pero en realidad, lo que me intriga es por qué, siendo el uso del & tan viejo como Matusalén, cuando se diseñó el estandar del xhtml, no se tomó en cuenta eso. Obligar a escribir & amp ; en cada enlace, en lugar de simplemente & me parece por demás ocioso. (no ustedes, los que hacen estos estándares)


En eso, y, a falta de argumentos que pudieran dar peso a la decisión de los desarrolladores "culpables", estoy contigo al cien por cien. En este caso ha sido algo que, si bien a resultado al cabo hasta divertido y ameno, lo cierto es que es demasiado tener que añadir a CADA ENLACE el "ampersand codificado". Es posible que exista alguna razón y se nos escape... ¿quién sabe? ;)

PD. Y esto sin contar el tema del "hack" en PHP... las líneas en el ".htaccess", etc. Uno piensa que acaso otros lenguajes similares a PHP tengan el mismo problema... y acaso su propia forma de solucionarlo...

maeyanes
04-10-2006, 20:18:30
Bueno, según el W3C: XML-based user agents will not tolerate this incorrect usage, and any document that uses an ampersand incorrectly will not be "valid", and consequently will not conform to this specification..

Tal vez el problema sean los navegadores que no siguen al 100% el estándar...



Saludos...

dec
04-10-2006, 20:20:21
Hola,


Tal vez el problema sean los navegadores que no siguen al 100% el estándar...

Voy a decir a eso por Román: "¡Pues vaya un estándar!"... :D :D :D

PD. Véase el artículo de Pedro Palazón: Técnicamente inmoral (http://kusor.net/blog/700/tecnicamente-inmoral)

Quiero resaltar lo que dice de que cuesta lo mismo hacer una página que "valide" que una que no valide. Yo me atrevería a decir que cuesta menos hacer una página que "valide" que una que no valide. Y lo digo por experiencia, vamos. Y no me las quiero yo dar aquí de super nada... es simplemente lo que creo que ocurre. :)

roman
04-10-2006, 20:25:31
Tal vez el problema sean los navegadores que no siguen al 100% el estándar...

Ja, ja, claro, ya he visto eso. Pero el problema es desde el momento en que se establecen esos estándares. Vamos, yo entiendo que haya estándares, su necesidad y todo eso, pero haber "invalidado" el uso sencillo de un símbolo es lo que me parece erróneo.

Y, en muchos casos puedo ser como dec, es "bonito" que algo te diga que tu código es válido, pero a veces me prgunto si no nos entretenemos demasiado con eso, siendo que esos organismos que establecen los estándares no son siempre muy atinados. Baste ver que media humanidad ya usa Ajax, y aún no pueden establecer un mísero estándar.

// Saudos

roman
04-10-2006, 20:31:29
Véase el artículo de Pedro Palazón: Técnicamente inmoral

No, no, si nadie niega los beneficios de contruir tu casa con ladrillos de calidad. Pero si la normatividad me dice que no puedo pintarla de verde porque se confunde con los arbolitos del vecindario, pues me carcajeo de los leguleyos y si no hay multa me paso muy por alto su normatividad. Claro que aquí si hay multa, la que menciona maeyanes, pero no deja de ser ridículo.

// Saludos

dec
04-10-2006, 20:35:43
Hola,


Ja, ja, claro, ya he visto eso. Pero el problema es desde el momento en que se establecen esos estándares. Vamos, yo entiendo que haya estándares, su necesidad y todo eso, pero haber "invalidado" el uso sencillo de un símbolo es lo que me parece erróneo.


Pero, tampoco estamos seguros (vamos, no sé si tú sí) de qué pasa realmente ahí, porqué se toma esa decisión que, aparentemente es un poco extraña y además causa problemas. De todos modos piensa en la compatibilidad hacia atrás del Software. Es buena, supongo (a Windows le ha dado muy buen resultado, tengo entendido), aunque, a veces hay que romperla... porque hay que ir hacia adelante... Tal vez, como digo, exista un motivo para hacer las cosas como las hicieron.

Tal vez metieron la pata, porque digo yo que son humanos, vaya. :D


Y, en muchos casos puedo ser como dec, es "bonito" que algo te diga que tu código es válido, pero a veces me prgunto si no nos entretenemos demasiado con eso, (...)


Bueno. A parte de que no sólo es por eso, lo cierto es que ya he dicho arriba que me parece que cuesta lo mismo (en términos de tiempo y trabajo) hacer las cosas "bien" o "mal" en ese sentido. Por otro lado, diré algo que puede añadirse a la satisfacción (quizás un tanto ingenua) de que hablo.

Las páginas Web que validan desde un principio, esto es, las páginas Web cuyo código se hace desde un principio no para que validen, sino siguiendo el estándar XHTML (que no es nada complicado, por cierto, veremos lo que nos espera en un futuro), suelen verse prácticamente igual en un navegador o en otro. A lo menos yo pruebo lo que hago en varios navegadores y en todos ellos, con pocas diferencias, muy pocas, las cosas se ven más o menos como uno espera que se vean.

Esto ahorra tiempo y diré porqué. Cuando estás haciendo una página Web tienes que ir comprobando cómo se va viendo en distintos navegadores, precisamente, por si estás metiendo la pata y lo que se ve muy bien en uno en otro no se ve como esperas... pues bien, cuando te ciñes al estándar XHTML (en mi caso es así) no tienes que probar tantas veces la página en distintos navegadores cumplan con el estándar: y a eso tienden todos.

Yo utilizo Firefox y pruebo la página ahí, y, sólo de vez en cuando, echo un vistazo a ver cómo se ve en otros navegadores, pero, no a cada cambio o una vez por jornada o algo así. ¿Porqué? Por lo dicho antes, porque seguir el XHTML a rajatabla te da cierta seguridad de que los resultados van a ser los mismos (o muy muy similares) en distintos navegadores.

¿Nunca os ha pasado que estábais haciendo lo que fuera, realizáis cambios, etc., y cuando probáis la página en otro navegador (luego de dos horas picando código) resulta que hay algo que no cuadra, que no va bien, ¡que hay que cambiar!? A mí desde luego me ocurría bastante a menudo cuando comenzé a hacer mis pinitos con HTML. Pues bien, ahí tenéis una razón para seguir el estándar de marras: ahorra tiempo, esfuerzo, frustraciones.

Hay que tender a algo así, además, porque las páginas Web están dejando de ser páginas Web y se están convirtiendo en aplicaciones con sus interfaces de usuario, etc., estas interfaces conviene que se vean y bien en distintos navegadores... ¿y cómo conseguimos algo así si cada uno escribe un HTML como dios le da a entender o los navegadores procesan dicho HTML como les plazca?


(...) siendo que esos organismos que establecen los estándares no son siempre muy atinados. Baste ver que media humanidad ya usa Ajax, y aún no pueden establecer un mísero estándar.


Bueno. A lo mejor con esto pasa como con la iglesia y los palacios... que las cosas van despacio, vaya por dios. Sin embargo, XHTML no es de ahora... (véase el artículo de Pedro Palazón que he enlazado arriba).

roman
04-10-2006, 20:41:16
Parece que no nos entendemos. No sé por que me das una disertación de que si los distintos navegadores, y si los estándares permiten esto y aquello. Yo estoy de acuerdo con eso. Pero hay puntos en esos estándares que son francamente ridículos. ¿Qué tuviero sus razones? No lo dudo. El punto es: debieron haber trabajado un poco más para no romper algo tan establecido.

// Saludos

seoane
04-10-2006, 20:45:09
Sin animo de meterme en la discusión, no es cierto que ceñirte al estándar te asegura que tu pagina se va a ver igual en todos los navegadores, ni mucho menos. Solo hay que ver los resultados del acid test (http://www.webstandards.org/files/acid2/test.html). La pagina es perfectamente valida y estándar, pero mientras unos (como el opera :D ) la muestran bien, otros como IE muestran algo completamente diferente.

dec
04-10-2006, 20:46:09
Hola Román,

Voy a darte algo de tiempo para que leas mi anterior mensaje, puesto que lo he editado y reeditado varias veces (manías) y me parece que acaso te hayas perdido algo que pueda serte curioso, por lo menos. :D

dec
04-10-2006, 20:50:08
Hola,


Sin animo de meterme en la discusión, no es cierto que ceñirte al estándar te asegura que tu pagina se va a ver igual en todos los navegadores, ni mucho menos. Solo hay que ver los resultados del acid test (http://www.webstandards.org/files/acid2/test.html). La pagina es perfectamente valida y estándar, pero mientras unos (como el opera :D ) la muestran bien, otros como IE muestran algo completamente diferente.


Bueno. Conozco la problemática (de leídas) sobre el ACID TEST, empero, una cosa no quita la otra. Digamos que ese "test" es más complicado de pasar (no sé porqué, no llego a tanto) que otras "cosas". Si me permitís la falta de modestia, probad Loturak (http://www.loturak.es) en varios navegadores: no se optimiza para ninguno, no se hacen "trucos" para este o aquél, comprobad qué os parece y, ya que estamos, si véis algún error de bulto hacédmelo saber. :D

En serio. Echad un vistazo ya no a Loturak sino al propio W3C, probad sus páginas en distintos navegadores... y veréis como se ven prácticamente igual. Tal vez no todos los navegadores pasen el ACID TEST (actualmente), pero, todos tienden (y así se lo exigen no pocos desarrolladores Web), todo tienden, decía, a ceñirse a los estándares. Claro que, como todo, no tiene que ser fácil, o se prefiere gastar en otras cosas... qué sé yo.

roman
04-10-2006, 20:53:09
Voy a darte algo de tiempo para que leas mi anterior mensaje

¿Para qué? Ahí sigue la disertación.

En cuanto a lo que comenta seoane pues supongo que muchos dirán, y he de darles la razón, que IE no se caracteriza precisamente por seguir los estándares.

// Saludos

maeyanes
04-10-2006, 20:58:17
Aparte que muchos de los problemas son en la capa del CSS y no del XHTML...



Saludos...

dec
04-10-2006, 21:00:43
Hola,


¿Para qué? Ahí sigue la disertación.


Bueno. Yo trataba de exponer unas razones, unas motivaciones por las que hacerlo de un modo. No pretendo convencer a nadie. Tal vez hacer pensar a alguno. Pero, Román, ¿puedes contradecir mis argumentos? Te lo digo sin ánimo de jorobar ni nada...

Esto es, yo he dicho porqué me parece que desarrollar siguiendo el estándar XHTML puede resultar más rápido que no haciéndolo y he tratado de exponer mis razones para pensar así. ¿Puedes exponer tú algunas razones que echen por tierra mis argumentos? Si es así no dudes que estoy dispuesto a rectificar. ;)


En cuanto a lo que comenta seoane pues supongo que muchos dirán, y he de darles la razón, que IE no se caracteriza precisamente por seguir los estándares.


Como nos estamos abalanzando a poner mensajes... te remito a la respuesta que le he dado a Domingo sobre el tema. No sé si es acertada o no, pero, en fin, creo que pasa por lo que digo, más o menos, y no sé si acertadamente. ;)


Aparte que muchos de los problemas son en la capa del CSS y no del XHTML...


¿Te estás posicionando en contra de lo que digo o acaso estás diciendo que también hay que tener en cuenta el CSS que se utilize? ¡Es que no me veo capaz de poder con/tra todos! :D :D :D ¡Ayuda, por favor! ¡Sorry, help me! ¡Ay! :D Además, qué ñoño (perdona Ñuño), el CSS también puede irse comprobando (http://jigsaw.w3.org/css-validator/validator?uri=http://www.loturak.es/css/principal.css)... :D

roman
04-10-2006, 21:09:00
¿puedes contradecir mis argumentos?

Y va de vuelta...

¿Por qué había de querer contradecir tus argumentos? Lo repito una vez más. Yo estoy de acuerdo en los beneficios que mencionas. La discusión no va por ahí.

// Saludos

dec
04-10-2006, 21:21:55
Hola,


La discusión no va por ahí.


Pues entonces ya me perdí como Pulgarcito. :D :D

Mick
04-10-2006, 22:32:56
El problema es que la definicion del uso de el caracter & como inicio de una entidad, es previo a su uso incorrecto, se definio ANTES, asi que nadie podia preveer que los desarrolladores lo utilizarian de una forma incorrecta.

Ademas so no puede mantener una compatibilidad porque sino tendriamo un problema de "ambiguedad", no puedes definir un lenguaje que sea ambiguo, sino cada interprete, compilador, navegador podria interpretar el codigo como le diese la gana , dando resultados completamente distintos:

Imaginemos que fuese necesario ampliar las "entidades", pongo un ejemplo mas actual: podemos poner &euro; para indicar el simbolo del euro.

Que pasa si un navegador muy muy antiguo no tiene entre su lista de entidades el simbolo del euro, pues que no podria distinguir si el &euro; se trata de una entidad que desconoce o quizas el que lo ha puesto pretendia separar simplemente la palabra previa con un "&" y "euro;" es el texto siguiente al separador !!!

Segun se decida una cosa u otra el resultado seria completamente diferente, ya que el navegador no puede entrar en la mente del que lo puso para saber realmente que pretendia decir.

Saludos

dec
05-10-2006, 01:27:01
Hola,

Bueno. Pues tal vez vayan los tiros por donde dices Mick. Suena razonable.

Por otro lado veo que hay quien hubiera abandonado a Pulgarcito a su suerte... ¡saboríos! :D :D

dec
05-10-2006, 04:43:11
Hola,


El responsable de plataforma del navegador Internet Explorer y de seguridad, Chris Wilson, nos da algunas claves (http://www.elpais.es/articulo/internet/vamos/esperar/otros/anos/lanzar/nueva/version/navegador/elpportec/20061004elpepunet_6/Tes/) interesantes sobre el futuro de este navegador, que no lo olvidemos, es el más utilizado del mundo, y cuyas novedades afectarán a la forma en la que se diseñan las páginas web, simplificándonos la vida.

Tras muchos años de hacer caso omiso del clamor popular, por fin Microsoft quiere seguir los estándares. Claro que, ahora tendrán que probar de su propia medicina porque, como el mismo Wilson comenta, las páginas hackeadas para verse bien en los aleatorios IE 5.0/5.5/6.0, ahora ya no funcionarán en el correcto (veremos si tanto) IE7.

"Uno de los grandes desafíos a la hora de crear el nuevo navegador es que nos tomamos los estándares de Internet muy en serio [...] A veces hay problemas en cómo el navegador interpreta una página y los diseñadores se las apañan con algún truco en su web para solucionar el problema, pero luego nosotros lo resolvemos en el navegador y es el truco el que hace que la página no se vea correctamente. Por eso necesitamos ahora toda la ayuda posible por parte de los desarrolladores de páginas, para retirar errores y trucos, de forma que cuando salga IE7 el usuario no se encuentre con webs que no se muestran correctamente y esto le haga pensar que el nuevo navegador es peor que el anterior."


Visto en la bitácora de Miguelsan (http://barrapunto.com/journal.pl?op=display&uid=22769&id=23026) en Barrapunto (http://barrapunto.com/).
(http://barrapunto.com/journal.pl?op=display&uid=22769&id=23026)

roman
05-10-2006, 04:53:37
Y a todo esto, ¿Por qué XHTML? ¿Por qué no HTML tal cual?

dec
05-10-2006, 05:08:12
Hola,

A mí me parece más limpio..., claro que, no sé, tal vez es porque el recuerdo del HTML que escribía no me es muy grato y tal vez esto me influya. De todos modos dejemos al W3C que diga sobre XHTML (http://www.w3.org/TR/xhtml1/), en el sentido de que ellos hacen el producto y ellos tienen que vender la moto: a ver qué te parece Román.

De todos modos, como podrá verse en el documento que enlazo no hay tanta diferencia. XHTML 2 (http://www.w3.org/TR/xhtml2/) sí que parece que va a tener nuevas características y, según tengo entendido... las páginas estarán "obligadas" a validar con este tipo de código (lo mismo me estoy confundiendo pero no hace mucho pude leer sobre este tema y por ahí iban los tiros si no recuerdo mal, acaso alguien conserve algún enlace sobre esto... o más memoria que yo).

XHTML ya entra más en la "idea" del XML, es decir, un "lenguaje de marcas ampliable" y digamos "legible" más o menos sencillamente. Supongo que el HTML... sobre todo el HTML "sucillo"... pues no creo que ayude mucho a lectores de todo tipo, qué sé yo, que usen personas con ciertas discapacidades, por ejemplo.

XHTML obliga a cierta separación de la presentación y el contenido: no se permiten etiquetas FONT, ni atributos como SIZE y similares. Por eso al principio se me ha ocurrido que me parecía más limpio. Eso debe ser, sí. :D

Algunos enlaces sobre XHTML, 2, CSS 3... (http://www.loturak.es/compartir?b=xhtml)

Voy a añadir algo más. Creo que el tema de los estándares puede mirarse desde varios puntos de vista, eso está claro, como casi todo por no decir todo. Particularmente, me quedo con cierta "conferencia" titulada "Desarrolladores Web (http://euskadigital.net/enredando_net/euskal_14/ponencias.html)" en donde se enzarzan en una especie de discusión acerca de la viabilidad de "Flash" en la Web, de la accesibilidad de este, de los estándares, etc.

Me pareció muy correcta, curiosa e interesante la opinión de alguien que dice que es cuestión de derechos, que los estándares pueden garantizar ciertos derechos y que por ahí no pasa (je, je, je... este chico estaba replicando a otro que defendía a "Flash", desde luego, sin pensar en lo que el primero le estaba diciendo, me temo).

Os recomiendo esta conferencia, particularmente, y el resto también. Están a vuestra disposición para que las descarguéis y escuchéis gracias a la Web Euskadigital (http://euskadigital.net/enredando_net/euskal_14/ponencias.html).

roman
05-10-2006, 05:19:16
Mmm. Siempre se me han atragantado los documentos del W3C. Pero a ver, mencionas que entra dentro de la idea XML de un lenguaje ampliable. ¿Lo es? ¿Uno puede ampliar el XHTML a su gusto y/o necesidad y con el dtd adecuado los navegadores actuales lo leen?

Lo que mencionas en cuanto a que siguiendo los estándares es mucho más probable que las páginas se vean igual en todos los navegadores, ¿no es igualmente cierto para HTML (¿strict?, ¿transitional?) Digo, lo poco que hago con HTML creo que más o menos sí se ve igual.

Lo de la accesibilidad no tengo ni idea. Ciertamente sería un punto importante. ¿Los lectores para invidentes, por ejemplo, sólo funcionan con xhtml y no con html?

// Saludos

dec
05-10-2006, 05:27:52
Hola,

No; Román. Pero, también funciona Windows 3.1 y no lo instala ya ni dios. Se habla de una tendencia. Lo de que XHTML 2 var a romper (algunos dirán incluso "por fin") con cierta compatibilidad hacia atrás sí que parece que va a ser así. Cierto que los navegadores y otros lectores o clientes podrán seguir leyendo HTML, y, si este está bien escrito, pues supongo que mejor que si no lo está: lo mismo pasa con XHTML. Empero, XHTML es un intento, al menos un intento (de quien parece tener la capacidad de intentar algo así) para echar adelante, para mirar al futuro, para dejar atrás al HTML... y sus razones tienen... y creo que muchas de ellas con buen criterio escogidas.

roman
05-10-2006, 05:52:59
y sus razones tienen

¿Y no podrías tú hablar un poco de esas razones? Es decir, lo que pregunto no es por debatir, es una duda genuina. Claro que me puedo leer los documentos que mencionas, pero me gustaría más algo de quien está en contacto con esas técnicas. No creo que uses xhtml sólo por que esa es la tendencia actual, ¿verdad?

// Saludos

dec
05-10-2006, 06:08:14
Hola,

No, Román. Ya más arriba he dicho porqué prefiero XHTML (si bien no comparándolo con HTML directamente), pero, en todo caso, eso de que estoy en contacto con estas cosas... me temo que no todo lo que pudiera. Me explico. Por ejemplo, algo que "los desarrolladores" (supongo que buena parte de ellos, o los más influyentes, en fin) echan en falta en HTML es cómo tienen que ingeniárselas con los formularios.

Para eso se está preparando XForms (http://www.w3.org/MarkUp/Forms/), que me parece que estará "de serie" en XHTML 2. Pues bien, parece que "XForms" va a significar una mejora respecto de la forma de realizar y procesar los formularios tal como se hace ahora: tanto en HTML como en XHTML. Ahora... si tienes que esperar a que yo te cuente más sobre XForms... me temo que no soy el indicado Román.

Precisamente, sobre XForms (como sobre tantas cosas) no he leído apenas nada. Sé de su existencia, pero, francamente, no mucho más... y acaso vaya siendo hora... :)