{"id":1862,"date":"2010-10-14T02:18:59","date_gmt":"2010-10-14T00:18:59","guid":{"rendered":"http:\/\/www.tiendadeultramarinos.es\/?p=1862"},"modified":"2012-05-07T18:21:30","modified_gmt":"2012-05-07T16:21:30","slug":"validacion-xhtml-para-wordpress","status":"publish","type":"post","link":"https:\/\/www.tiendadeultramarinos.es\/?p=1862","title":{"rendered":"Validaci\u00f3n XHTML para WordPress"},"content":{"rendered":"<p>Si los est\u00e1ndares est\u00e1n para algo es para respetarlos. En la inform\u00e1tica, donde cada cosa puede ser de su padre y de su madre (y generalmente lo son) el uso de est\u00e1ndares tiende a facilitar mucho las cosas, especialmente la compatibilidad. Que todav\u00eda sea necesario llenar las p\u00e1ginas webs de scripts detectando el navegador para utilizar un c\u00f3digo u otro tendr\u00eda que darnos verg\u00fcenza.<\/p>\n<p>Y no s\u00f3lo en la inform\u00e1tica, los est\u00e1ndares facilitan la vida all\u00e1 d\u00f3nde van. Los tama\u00f1os de las camas son est\u00e1ndar: o son de 80, o son de 90, pero no vas a tener camas de 85; lo cual ayuda mucho al comprar s\u00e1banas y dem\u00e1s. El formato de etiquetado de las camisetas o zapatos es est\u00e1ndar: una M siempre es m\u00e1s peque\u00f1a que una L, y un 38 es m\u00e1s peque\u00f1o que un 42. Sin embargo no es est\u00e1ndar la medida de las mismas, por lo que dependiendo de la marca L y XL tienen tama\u00f1os completamente diferentes. Eso significa que en mi armario hay camisetas de varios tallajes, y cuando compras por internet tienes que buscar las especificaciones del fabricante de ese modelo y comparar con las de casa.<\/p><a name=\"teMiddle294505136\"><\/a><div class=\"te_div\" id=\"te294505136\">\n<p>Otra cosa que no es est\u00e1ndar son los cargadores de los m\u00f3viles, por lo que siempre has de andar con el tuyo a cuestas y ning\u00fan amigo puede dejarte el suyo, incluso de la misma marca. S\u00ed, Nokia siempre ha seguido una muy buena pol\u00edtica al respecto, hasta que los redujeron de tama\u00f1o hace poco y vuelta a empezar. Las tarjetas de cr\u00e9dito y los carn\u00e9ts son est\u00e1ndar, y por eso todos caben perfectamente en tu cartera.<\/p>\n<p>En internet, la organizaci\u00f3n encargada de la adopci\u00f3n de est\u00e1ndares es el <a href=\"http:\/\/es.wikipedia.org\/wiki\/World_Wide_Web_Consortium\">World Wide Web Consortium<\/a> (<a href=\"http:\/\/www.w3.org\/\">W3C<\/a>), dirigido por Tim Berners-Lee, el padre de la web. El <a href=\"http:\/\/www.w3.org\/\">W3C<\/a> se compone de un amplio n\u00famero de expertos que velan por la compatibilidad de todos los est\u00e1ndares y por conseguir un consenso con la industria para que los navegadores y herramientas soporten un n\u00facleo b\u00e1sico de funcionalidades con el que poder hacer cosas sin volverse loco por saber si lo que has hecho se ver\u00e1 igual en todas partes.<\/p>\n<p>Como muchos saben y habr\u00e1n cacharreado en alg\u00fan momento de sus vidas, la base de las p\u00e1ginas web es el lenguaje HTML. Otro metalenguaje de marcado que puede parecer muy similar es <a href=\"http:\/\/es.wikipedia.org\/wiki\/XML\">XML<\/a>, utilizado para organizar y etiquetar documentos de texto, funcionando mediante etiquetas de la misma forma que HTML. No puede considerarse un lenguaje directamente porque en realidad s\u00f3lo consta de un conjunto de directrices y especificaciones sobre c\u00f3mo utilizarse, por lo que cada uno puede utilizar las etiquetas y valores que le vengan en gana. Simplemente tiene que respetar la estructura y formato de XML. Este formato es muy pr\u00e1ctico para procesar cualquier tipo de informaci\u00f3n con un ordenador y es ampliamente utilizado en m\u00faltiples \u00e1reas.<\/p>\n<p>Como dec\u00eda, HTML y XML son muy similares, pero el primero no respeta todas las especificaciones del segundo, por lo que se invent\u00f3 <a href=\"http:\/\/es.wikipedia.org\/wiki\/XHTML\">XHTML<\/a>, que es b\u00e1sicamente un fichero HTML con la estructura que dicta XML. Una de las principales caracter\u00edsticas es que todas las etiquetas deben ser correctamente cerradas, cosa que no era necesaria con HTML, o la prohibici\u00f3n de anidar ciertas etiquetas en otras.<\/p>\n<p>De XHTML 1.0 existen diferentes versiones, cada una m\u00e1s laxa que la anterior con respecto a las normas. Son Strict, Transitional y Frameset. Luego se cre\u00f3 XHTML 1.1, que es XHTML 1.0 Strict con alguna cosa m\u00e1s. <a href=\"http:\/\/www.sigt.net\/desarrollo-web\/xhtml-20-el-futuro-de-la-web-y-que-no-nos-pase-na.html\">La versi\u00f3n 2.0 lleva 10 a\u00f1os de borradores<\/a>. Para saber si tu p\u00e1gina cumple los est\u00e1ndares, <a href=\"http:\/\/validator.w3.org\/\">W3C ofrece su validador<\/a>.<\/p>\n<p>Una de las principales motivaciones de la W3C detr\u00e1s de todos estos est\u00e1ndares es separar la definici\u00f3n de la estructura de una p\u00e1gina de la informaci\u00f3n mostrada por la misma. Un buen aliado para ello han sido las hojas de estilos <a href=\"http:\/\/es.wikipedia.org\/wiki\/Hojas_de_estilo_en_cascada\">CSS<\/a>, una poderosa herramienta para definir el dise\u00f1o de tu web, y que ha desplazado por completo a las famosas \u00abtablas\u00bb tan utilizadas en los 90. En aquellos tiempos, si quer\u00edas colocar varios elementos en distintos puntos ten\u00edas que llenar la p\u00e1gina de tablas invisibles con infinitas filas y columnas para cada situaci\u00f3n. Con CSS todo es un mundo maravilloso de orden y funcionalidad.<\/p>\n<p>Afortunadamente, con el <a href=\"https:\/\/www.tiendadeultramarinos.es\/?p=1834\">nuevo dise\u00f1o<\/a> he tenido bastante suerte y segu\u00eda los est\u00e1ndares bastante bien, salvo por algunas etiquetas mal cerradas aqu\u00ed o haya, que incluso puede que hayan sido fallo m\u00edo con las modificaciones.<\/p>\n<p>Otro peque\u00f1o problema ha venido con el <a href=\"http:\/\/blog.statcounter.com\/2008\/01\/official-wordpress-plugin-for-statcounter\">plugin oficial de Statcounter<\/a>, que te introduce tres l\u00edneas en el blog. Utiliza <em>target=\u00bb_blank\u00bb<\/em> en el v\u00ednculo (abrir en ventana nueva) lo cual est\u00e1 desaconsejado por el W3C. Tambi\u00e9n olvidan cerrar la etiqueta de la imagen. Tienen los comentarios cerrados, por lo que <a href=\"http:\/\/wordpress.org\/support\/topic\/plugin-statcounter-free-real-time-visitor-stats-validation-xhtml-11\">he dejado nota en el repositorio de plugins de WordPress<\/a>. Para arreglarlo tienes que ir al editor de plugins de tu WordPress y hacer los cambios en el fichero php. En mi caso es la l\u00ednea 288.<\/p>\n<p>Un problema \u00abpeor\u00bb viene con las galer\u00edas de im\u00e1genes que WordPress te permite insertar en las entradas. Casualmente ayer utilic\u00e9 por primera vez la opci\u00f3n de galer\u00eda para mostrar el viejo dise\u00f1o; esto es b\u00e1sicamente como publicar un \u00e1lbum de fotos de forma autom\u00e1tica, sin necesidad de insertar las im\u00e1genes una a una. Si no llego a utilizarlo ni me hubiese dado cuenta.<\/p>\n<p>Resulta que al insertar la galer\u00eda puedes seleccionar varias opciones, con lo que dependiendo de cada una tendr\u00e1 distintos formatos. Estos formatos est\u00e1n definidos por un CSS que se copia en el cuerpo de la entrada. Esto est\u00e1 tremendamente mal, porque a fin de cuentas est\u00e1s mezclando la definici\u00f3n con el contenido. HTML est\u00e1 dividido en dos secciones: cabecera y cuerpo, <em>head<\/em> y <em>body<\/em>. Lo correcto es que en la cabecera est\u00e9n todas las definiciones y en el cuerpo la informaci\u00f3n.<\/p>\n<p>Realmente las CSS suelen estar en un fichero aparte, el cual indicas en la cabecera. Esto te permite utilizar la misma definici\u00f3n en cualquier p\u00e1gina sin tener que copiar las definiciones en cada una, pero para cosas puntuales como \u00e9sta, es correcto ponerlas simplemente en la cabecera.<\/p>\n<p>Tras barajar varias posibles soluciones a mano, me he decantado por googlear&#8230; y efectivamente es un problema que hab\u00eda inquietado a muchos otros antes. <a href=\"http:\/\/core.trac.wordpress.org\/ticket\/10734\">Est\u00e1 publicado desde hace trece meses en el trac de WordPress<\/a>, pero no se se implementar\u00e1n soluciones en la pr\u00f3xima versi\u00f3n. (<a href=\"http:\/\/es.wikipedia.org\/wiki\/Trac\">Trac<\/a> es una herramienta utilizada para la gesti\u00f3n de errores en un proyecto). Mientras tanto, se han publicado varios plugins solucion\u00e1ndolo (est\u00e1n enlazados en los comentarios del trac). Yo he instalado <a href=\"http:\/\/justintadlock.com\/archives\/2008\/04\/13\/cleaner-wordpress-gallery-plugin\">Cleaner WordPress Gallery<\/a>, que simplemente crea un <a href=\"https:\/\/www.tiendadeultramarinos.es\/wordpress\/wp-content\/plugins\/cleaner-gallery\/cleaner-gallery.css?ver=0.8\">fichero CSS aparte<\/a> y lo enlaza en la cabecera.<\/p>\n<p>As\u00ed pues, finalmente he conseguido <a href=\"http:\/\/validator.w3.org\/check?uri=https:\/\/www.tiendadeultramarinos.es\/\">superar satisfactoriamente el test de XHTML 1.1<\/a>.<\/p>\n<\/div><p style=\"text-align: center;\"><a style=\"display:none;\" class=\"theTag\" id=\"te294505136\" onClick=\"expand('#te294505136');\" href=\"#teMiddle294505136\"><\/a><\/p><script language=\"JavaScript\" type=\"text\/javascript\">expander_hide('#te294505136');<\/script>","protected":false},"excerpt":{"rendered":"<p>Si los est\u00e1ndares est\u00e1n para algo es para respetarlos. En la inform\u00e1tica, donde cada cosa puede ser de su padre y de su madre (y generalmente lo son) el uso de est\u00e1ndares tiende a facilitar mucho las cosas, especialmente la compatibilidad. Que todav\u00eda sea necesario llenar las p\u00e1ginas webs de scripts detectando el navegador para &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.tiendadeultramarinos.es\/?p=1862\" class=\"more-link\">Seguir leyendo<span class=\"screen-reader-text\"> \u00abValidaci\u00f3n XHTML para WordPress\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,10],"tags":[519,711,770,81,710,712,781],"class_list":["post-1862","post","type-post","status-publish","format-standard","hentry","category-informatica","category-introspeccion","tag-blog","tag-estandares","tag-informatica","tag-internet","tag-w3c","tag-web","tag-wordpress","entry"],"_links":{"self":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts\/1862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1862"}],"version-history":[{"count":9,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts\/1862\/revisions"}],"predecessor-version":[{"id":1866,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts\/1862\/revisions\/1866"}],"wp:attachment":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1862"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}