{"id":63,"date":"2008-03-23T02:14:18","date_gmt":"2008-03-23T01:14:18","guid":{"rendered":"http:\/\/elbonia.cent.uji.es\/jordi\/prensa-conferencias-etc\/html-la-tela-de-la-arana\/"},"modified":"2011-02-21T17:22:50","modified_gmt":"2011-02-21T16:22:50","slug":"html-la-tela-de-la-arana","status":"publish","type":"post","link":"https:\/\/elbonia.cent.uji.es\/jordi\/2008\/03\/23\/html-la-tela-de-la-arana\/","title":{"rendered":"HTML: La tela de la ara\u00f1a"},"content":{"rendered":"<p align=\"center\"><strong>HTML: La tela de la ara\u00f1a<\/strong><br \/>\nJordi Adell\n<\/p>\n<p align=\"center\">&nbsp;<\/p>\n<p align=\"center\">Net Conexi\u00f3n, n\u00ba2, diciembre 1995<\/p>\n<p align=\"center\"> <strong><br \/>\n<\/strong><\/p>\n<p>La p\u00e1gina contiene texto e im\u00e1genes. Algunas palabras son de color azul. Hacemos clic sobre ellas con el rat\u00f3n y tras unos segundos aparece la primera p\u00e1gina de una revista electr\u00f3nica. Introducimos algunos t\u00e9rminos de b\u00fasqueda en un recuadro y una base de datos nos brinda una colecci\u00f3n de documentos relacionados. Se\u00f1alamos sobre un icono y o\u00edmos una melod\u00eda o vemos un peque\u00f1o fragmento de video. Es Internet y el World-Wide Web, la aplicaci\u00f3n que m\u00e1s ha contribuido a su popularizaci\u00f3n. Los documentos hipermedia y sus v\u00ednculos hipertextuales forman una tela de ara\u00f1a de decenas de miles de nodos en todo el mundo. Una tela tejida con una sustancia especial: el HTML.<\/p>\n<p>El HTML o \u00abHyperText Markup Language\u00bb es el lenguaje en el que est\u00e1n escritos los hipertextos en el World-Wide Web (WWW). Se trata de un conjunto relativamente simple de especificaciones estandarizadas que permiten identificar en un texto sus partes fundamentales (como el t\u00edtulo, el cuerpo del documento, los encabezamientos de cada una de sus partes, los diferentes p\u00e1rrafos, etc.). Tambi\u00e9n podemos incluir mediante el HTML algunas opciones de formato (como separadores, negrita, it\u00e1licas, hacer listados, etc.). Podemos crear v\u00ednculos hipertextuales (o &#8216;links&#8217;) a otros documentos o ficheros de la Internet de tal forma que con un simple clic de rat\u00f3n aparezcan en la pantalla, aunque se hallen en la otra parte del mundo. Nos permite insertar im\u00e1genes junto al texto, en incluso definir alguna zona de la imagen como un v\u00ednculo hipertextual.  Finalmente, podemos crear formularios para que el usuario interact\u00fae de modo complejo con sistemas inform\u00e1ticos como bases de datos y otras aplicaciones y servicios.<\/p>\n<h2>HTML y SGML<\/h2>\n<p>El HTML es en realidad una aplicaci\u00f3n del est\u00e1ndar ISO 8879:1986 \u00abInformation Processing Text and Office Systems: Standard Generalized Markup Language\u00bb (SGML). El SGML es un meta-lenguaje mediante el cual se pueden definir tipos de documentos estructurados y lenguajes de marcas para representar ejemplos o instancias de este tipo de documentos. Es decir, un lenguaje dise\u00f1ado para describir otros lenguajes. El SGML es un lenguaje esencialmente declarativo y no procedural, es decir, s\u00f3lo identifica los elementos de un documento y no prescribe qu\u00e9 debe hacerse con dichas partes o elementos. El SGML pretende definir formas de codificar textos independientemente de sistemas inform\u00e1ticos. Como todo lenguaje de marcas, el HTML especifica qu\u00e9 marcas est\u00e1n permitidas, cu\u00e1les son adem\u00e1s obligatorias, c\u00f3mo pueden distinguirse del texto que constituye el contenido y, a la postre, qu\u00e9 significan las marcas.<\/p>\n<p>Lo que NO es el HTML es un lenguaje para describir la apariencia de los documentos hipermedia. En demasiadas ocasiones nos encontramos con p\u00e1ginas en las que se fuerza el HTML para que tengan la apariencia buscada por el autor en un determinado agente de usuario o cliente WWW, olvidando el aut\u00e9ntico prop\u00f3sito del HTML y la existencia de usuarios que utilizan otros clientes. El HTML puede conjugarse con otras especificaciones (como hojas de estilo) para asegurar al autor el control sobre la apariencia de sus documentos, pero como tal, es el desarrollador del &#8216;browser&#8217; quien decide si la cabecera de nivel 2 se representa en negrita y con un  tipo de 14 puntos o subrayando el texto normal. En definitiva, el HTML no es un mal lenguaje de autoedici\u00f3n, sino una forma independiente de plataformas y sistemas de marcar textos para que sus diferentes partes y elementos sean posteriormente identificables de modo automatizado.<\/p>\n<h2>El HTML es texto<\/h2>\n<p>Un documento HTML es una secuencia de caracteres organizada f\u00edsicamente en un conjunto de entidades (que poseen un nombre, atributos y contenido) y l\u00f3gicamente como una jerarqu\u00eda de elementos. Un documento HTML  no es m\u00e1s que texto (ASCII o ISO Latin 1) que incluye una serie de elementos (como cabeceras, listas, formularios, v\u00ednculos hipertextuales, etc.), que pueden tener atributos. Cada elemento se delimita mediante marcas (o &#8216;tags&#8217; en la jerga HTML). El &#8216;tag&#8217; inicial comienza con el car\u00e1cter &lt; y termina con &gt; y contiene el nombre del elemento y sus atributos. El &#8216;tag&#8217; final comienza con los caracteres <!-- y termina con -->. Por ejemplo, para indicar que una cadena de caracteres debe representarse destacada respecto al texto normal se utiliza el elemento STRONG del siguiente modo: &lt;STRONG&gt;Este texto debe destacarse&lt;\/STRONG&gt;.<\/p>\n<p>Algunos elementos s\u00f3lo poseen una etiqueta inicial, por ejemplo, &lt;HR&gt; (que significa &#8216;horizontal rule&#8217; o separador horizontal). En otras, la marca final es opcional (en los p\u00e1rrafos es opcional cerrar con &lt;\/P&gt; ya que queda suficientemente claro que un p\u00e1rrafo termina donde comienza otro o donde aparece la marca inicial de otro elemento que implica un nuevo p\u00e1rrafo).<\/p>\n<pre>&lt;!DOCTYPE HTML PUBLIC \"-\/\/IETF\/\/DTD HTML 2.0\/\/EN\"&gt;&lt;HTML&gt;\r\n\r\n&lt;HEAD&gt;\r\n\r\n&lt;TITLE&gt;Documento HTML simple&lt;\/TITLE&gt;\r\n\r\n&lt;\/HEAD&gt;\r\n\r\n&lt;BODY&gt;\r\n\r\n&lt;!-- Esta l\u00ednea es un comentario: no aparecer\u00e1 en el agente de usuario --&gt;\r\n\r\n&lt;H1&gt;Documento simple HTML&lt;\/H1&gt;\r\n\r\n&lt;HR&gt;\r\n\r\nEste documento es un ejemplo de documento escrito en HTML.\r\n\r\n&lt;P&gt;Contiene una &lt;STRONG&gt;lista ordenada&lt;\/STRONG&gt;:\r\n\r\n&lt;P&gt;&lt;OL&gt;\r\n\r\n&lt;LI&gt;La declaraci\u00f3n;\r\n\r\n&lt;LI&gt;la cabecera; y\r\n\r\n&lt;LI&gt;el cuerpo del documento.\r\n\r\n&lt;\/OL&gt;\r\n\r\n&lt;HR&gt;\r\n\r\nAdem\u00e1s de varios separadores horizontales, se incluye un v\u00ednculo hipertextual al\r\n\r\n&lt;A href=\"http:\/\/www.uji.es\/spain_wwww.html\"&gt;\r\n\r\nMapa de Recursos Internet de Espa\u00f1a\r\n\r\n&lt;\/A&gt;\r\n\r\n y un formulario simple:\r\n\r\n&lt;HR&gt;\r\n\r\n&lt;FORM METHOD=\"GET\" ACTION=\"http:\/\/www.uji.es\/cgi-bin\/test\"&gt;\r\n\r\n Seleccione su fruta preferida:\r\n\r\n&lt;BR&gt;\r\n\r\n &lt;SELECT NAME=\"fruta\" SIZE = \"4\"&gt;\r\n\r\n \t&lt;OPTION&gt;Peras\r\n\r\n \t&lt;OPTION&gt;Manzanas\r\n\r\n \t&lt;OPTION&gt;Pl\u00e1tanos\r\n\r\n \t&lt;OPTION&gt;Naranjas\r\n\r\n \t&lt;OPTION&gt;Otra\r\n\r\n &lt;\/SELECT&gt;\r\n\r\n&lt;INPUT TYPE=\"reset\" NAME=\"reset\" VALUE=\"Borrar\"&gt;\r\n\r\n &lt;INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Enviar\"&gt;\r\n\r\n&lt;\/FORM&gt;\r\n\r\n&lt;HR&gt;\r\n\r\n&lt;\/BODY&gt;\r\n\r\n&lt;\/HTML&gt;<\/pre>\n<p><a href=\"http:\/\/elbonia.cent.uji.es\/jordi\/wp-content\/uploads\/2008\/03\/html.gif\" title=\"Navegador\"><img decoding=\"async\" src=\"http:\/\/elbonia.cent.uji.es\/jordi\/wp-content\/uploads\/2008\/03\/html.thumbnail.gif\" alt=\"Navegador\" width=\"200\" \/><\/a><\/p>\n<p><small>Figura 1: Ejemplo de texto HTML y c\u00f3mo aparece en un cliente WWW<\/small><\/p>\n<p>Esta es la mec\u00e1nica del HTML. Sencilla y potente, sobre todo para lo que ha sido concebida. Su misi\u00f3n fundamental es generar documentos independientes de sistemas y plataformas. El HTML posee niveles (1, 2 y 3, de momento) que en realidad definen momentos de su evoluci\u00f3n. En la actualidad se acaba de publicar la especificaci\u00f3n oficial del HTML nivel 2.0 y se trabaja en la del HTML 3.0.<\/p>\n<h2>La estructura de un documento HTML<\/h2>\n<p>Un documento HTML puede representarse como un \u00ab\u00e1rbol\u00bb de elementos que incluye:<\/p>\n<p>&#8211; Una declaraci\u00f3n (en el caso del HTML nivel 2.0 es: \u00ab&lt;!DOCTYPE html PUBLIC \u00ab-\/\/IETF\/\/DTD HTML 2.0\/\/EN\u00bb&gt;\u00bb). La declaraci\u00f3n indica a las aplicaciones que &#8216;leen&#8217; el documento cual es el nivel de HTML empleado. T\u00e9cnicamente, identifica el DTD (&#8216;Definition Type Document&#8217;) SGML empleado en el documento. Casi todos los clientes ignoran la declaraci\u00f3n. No as\u00ed otras aplicaciones como analizadores sint\u00e1cticos o &#8216;parsers&#8217;, que comprueban su correcci\u00f3n.<\/p>\n<p>&#8211; Tras la declaraci\u00f3n va el elemento &lt;HTML&gt;, que contiene a su vez:<br \/>\n&lt;P&gt;<\/p>\n<ul>\n<li>Una cabecera (que va entre las marcas &lt;HEAD&gt; y &lt;\/HEAD&gt;) en la que se incluye informaci\u00f3n sobre el documento considerado globalmente como un todo. Entre dichos elementos destacan el t\u00edtulo (TITLE), la direcci\u00f3n-base para resolver los URLs relativos (BASE) (v\u00e9ase m\u00e1s abajo el apartado sobre URLs), el indicador de la facilidad de b\u00fasqueda (ISINDEX), meta-informaci\u00f3n asociada (META), etc.<\/li>\n<li>El cuerpo del documento (entre &lt;BODY&gt; y &lt;\/BODY&gt;), que incluye el texto a representar con sus v\u00ednculos hipertextuales, im\u00e1genes inscritas, formularios, etc. Dentro de estos elementos pueden figurar otros, como encabezamientos, listas, formularios, v\u00ednculos, etc.<\/li>\n<\/ul>\n<p>Algunos elementos es preemtivo que aparezcan s\u00f3lo dentro de un elemento dado (por ejemplo, el elemento TITLE, que indica el t\u00edtulo del documento, s\u00f3lo puede aparecer dentro de la cabecera, es decir, entre las etiquetas &lt;HEAD&gt; Y &lt;\/HEAD&gt;). Otros son opcionales (por ejemplo, se pueden separar los \u00edtems de una lista con marcas de p\u00e1rrafo).<\/p>\n<p>&lt;<\/p>\n<p>Algunos agentes de usuario son tolerantes y admiten documentos en los que no figuran alguno de los elemento anteriores. Sin embargo, conviene incluirlos a fin de asegurarnos de que nuestro documento ser\u00e1 legible para todos los agentes de usuario, incluyendo los que puedan desarrollarse en el futuro, que puede que respeten la norma de modo m\u00e1s estricto que los actuales.<\/p>\n<p>No van a describirse todos los elementos (y sus atributos) del HTML nivel 2.0. Sin embargo, si tuvieran que resumirse los agrupar\u00edamos en:<\/p>\n<h3>1. Elementos de estructuraci\u00f3n del documento<\/h3>\n<p>Son aquellos que definen las partes b\u00e1sicas de todo documento HTML: la declaraci\u00f3n, el elemento HTML, la cabecera (HEAD) y el cuerpo (BODY), que contiene el texto y dem\u00e1s informaci\u00f3n que mostrar\u00e1 el agente de usuario.<\/p>\n<h3>2. Elementos meta-informativos.<\/h3>\n<p>Usualmente incluidos en la cabecera, este tipo de elementos proporcionan informaci\u00f3n al agente de usuario sobre el documento como un todo. Entre ellos destacaremos el t\u00edtulo (TITLE), la direcci\u00f3n base para resolver los URLs relativos (BASE), el indicador de la facilidad de b\u00fasqueda (ISINDEX), meta-informaci\u00f3n asociada (META), etc.<\/p>\n<h3>3. Elementos para la estructuraci\u00f3n de bloques.<\/h3>\n<p>Los elementos estructurantes de bloques incluyen p\u00e1rrafos (P), formatos de texto (PRE, ADDRESS y BLOCKQUOTE). Se utilizan para determinar la naturaleza y\/o apariencia de un bloque de texto.<\/p>\n<h3>4. Listas y men\u00fas<\/h3>\n<p>Diferentes tipos de listados (desordenados (UL, LI), ordenados (OL, LI), directorios (DIR), men\u00fas (MENU), de definici\u00f3n (DL, DT, DD) permiten organizar el texto de modo que el agente realice autom\u00e1ticamente algunas tareas (por ejemplo, insertar n\u00famero de orden o indentar ciertas l\u00edneas) y represente adecuadamente una enumeraci\u00f3n de \u00edtems.<\/p>\n<h3>5. Elementos de usos idiom\u00e1ticos<\/h3>\n<p>Las frases pueden ser marcadas de acuerdo con su uso idiom\u00e1tico (como en una cita textual), su apariencia tipogr\u00e1fica (negrita) o para ser utilizadas como v\u00ednculos hipertextuales. Cita (CITE), c\u00f3digo (CODE), \u00e9nfasis (EM), teclado (KBD), muestra (SAMP), \u00e9nfasis fuerte (STRONG) o una variable (VAR) son ejemplos de uso idiom\u00e1tico.<\/p>\n<h3>6. Elementos tipogr\u00e1ficos<\/h3>\n<p>En este apartado incluir\u00edamos los elementos negrita (B), it\u00e1lica (I) y teletipo (TT). Constituyen instrucciones concretas sobre c\u00f3mo debe representarse el contenido de dichos elementos, por eso se denominan tambi\u00e9n estilos f\u00edsicos, frente a los anteriores, estilos l\u00f3gicos.<\/p>\n<h3>7. V\u00ednculos hipertextuales<\/h3>\n<p>El elemento  indica un v\u00ednculo hipertextual. Con el atributo HREF (y el URL asociado) indica el destino de un salto hipertextual. Con el atributo NAME puede ser el punto de llegada de un salto hipertextual.<\/p>\n<h3>8. Separadores<\/h3>\n<p>Los elementos HR (&#8216;horizontal rule&#8217;) y BR (&#8216;break&#8217;) permiten separar unidades l\u00f3gicas de un texto con una l\u00ednea horizontal o bien indicar un retorno de carro.<\/p>\n<h3>9. Im\u00e1genes<\/h3>\n<p>El elemento IMG sirve para incluir una imagen en el documento a trav\u00e9s de un v\u00ednculo hipertextual. Con el URL asociado podemos incorporar cualquier imagen accesible en Internet. El atributo ISMAP indica que es una imagen \u00absensible\u00bb y que el usuario podr\u00e1 se\u00f1alar una regi\u00f3n y recuperar el objeto asociada a \u00e9sta.<\/p>\n<h3>10. Formularios<\/h3>\n<p>Los formularios permiten que el usuario introduzca informaci\u00f3n (seleccionando \u00edtems o directamente escribiendo en los lugares indicados) que ser\u00e1 procesada por &#8216;scripts&#8217; asociados al servidor de acuerdo con la especificaci\u00f3n CGI (&#8216;Common Gateway Interface&#8217;). Elementos como FORM, INPUT, SELECT, TEXTAREA y sus atributos permiten dise\u00f1ar formularios que rellenar\u00e1 el usuario. Sin embargo, su funcionalidad no deviene del HTML sino de los &#8216;scripts&#8217; ejecutables que residen en el servidor y que reciben la informaci\u00f3n introducida por el usuario.<\/p>\n<h2>Acentos, e\u00f1es y cedillas<\/h2>\n<p>Un error extendido acerca del HTML es que para representar adecuadamente los acentos y otros caracteres no-ASCII es necesario poner cosas como \u00ab\u00e1\u00bb y \u00ab\u00f1\u00bb. Esto es falso. El protocolo del WWW (http) transmite 8 bits y el juego de caracteres oficial del WWW es el ISO Latin 1 (ISO 8859-1). Mediante ISO Latin-1 se pueden representar la mayor\u00eda de los idiomas europeos occidentales (como catal\u00e1n, castellano, franc\u00e9s, etc.). Si el ordenador puede producir ISO Latin-1 (y hay utilidades para traducir autom\u00e1ticamente los juegos de caracteres de cualquiera de ellos) no hace falta &#8216;escapar&#8217; los caracteres acentuados: han sido pensados para los ordenadores que no utilizan ese juego de caracteres. Adem\u00e1s, si se pretende indexar los documentos del servidor WWW se complicar\u00e1 el tema de las b\u00fasquedas: la pasarela tendr\u00e1 que &#8216;escapar&#8217; los t\u00e9rminos de b\u00fasqueda de los usuarios.<\/p>\n<h2>Los URL<\/h2>\n<p>Un URL (o &#8216;Uniform Resource Locator&#8217;) es \u00abla sintaxis y sem\u00e1ntica de informaci\u00f3n formalizada para la localizaci\u00f3n y el acceso a recursos a trav\u00e9s de Internet\u00bb. Dicho as\u00ed (RFC 1738) parece un arcano, sin embargo es una idea sencilla y potente. De hecho es, tal vez, la clave del WWW. Los URL se utilizan en el WWW para &#8216;localizar&#8217; recursos. Proporcionan, de forma compacta, inteligible para los humanos e interpretable para aplicaciones inform\u00e1ticas la informaci\u00f3n b\u00e1sica que permite acceder a un recurso en la Internet: el protocolo de acceso (http, ftp, gopher, wais, nntp, etc.), el ordenador remoto en el que se encuentra (y el puerto en el que &#8216;escucha&#8217; dicho protocolo si no es el est\u00e1ndar) y una forma de identificar el recurso en cuesti\u00f3n (el &#8216;camino&#8217; a seguir por la estructura jer\u00e1rquica de ficheros, un identificador \u00fanico, etc.) o de interactuar con \u00e9l (las palabras clave a buscar, por ejemplo).<\/p>\n<p>Una vez localizado el recurso, el sistema puede realizar las operaciones pertinentes: trasferir una copia y mostrarla al usuario o almacenarla, interrogar una base de datos, iniciar una sesi\u00f3n remota, actualizar el recurso, solicitar sus atributos, etc. Cada protocolo permite diferentes operaciones y la sintaxis URL se ha dise\u00f1ado de modo que pueda ampliarse a futuros protocolos.<\/p>\n<p>Los URL nos permiten realizar &#8216;saltos hipertextuales&#8217; por la Internet. Son lo que se esconde tras las palabras o frases marcadas como v\u00ednculos y &#8216;ordenan&#8217; al agente de usuario que ha de hacer cuando el usuario las se\u00f1ala (haciendo clic sobre ellas, por ejemplo).<\/p>\n<h2>Aplicaciones HTML<\/h2>\n<p>Las aplicaciones que &#8216;tratan&#8217; con textos HTML son de diversos tipos y cumplen diversos prop\u00f3sitos:<\/p>\n<p>1. Los agentes de usuario, conocidos como &#8216;browsers&#8217; o &#8216;clientes WWW&#8217;, son componentes de un sistema distribuido que presentan un interface y procesan las peticiones de los usuarios. Un agente de usuario WWW realiza, pues, dos funciones b\u00e1sicas: presenta la informaci\u00f3n ante el usuario y transmite las peticiones del usuario a los servidores WWW. Netscape, Mosaic, Lynx, Cello, etc. son agentes de usuario. En la actualidad existen agentes para casi cualquier tipo de plataforma inform\u00e1tica. Los hay comerciales y gratuitos. En el \u00faltimo FAQ (\u00abFrequently Asqued Questions\u00bb) sobre el WWW se listaban nada menos que 50 agentes diferentes.<\/p>\n<p>Los agentes de usuario se apoyan en aplicaciones auxiliares para representar o actuar sobre los formatos de ficheros que no pueden manejar directamente (algunos formatos gr\u00e1ficos, de sonido o video, de compresi\u00f3n y codificaci\u00f3n de ficheros, etc.). Los agentes de usuario son cada vez m\u00e1s pol\u00edglotas (entienden y hablan cada vez m\u00e1s protocolos) y se integran mejor con el entorno del usuario. En un futuro pr\u00f3ximo s\u00f3lo ser\u00e1 necesaria una aplicaci\u00f3n para acceder a toda la informaci\u00f3n de Internet.<\/p>\n<p><a>2. Un editor HTML es una aplicaci\u00f3n que permite insertar &#8216;tags&#8217; HTML en un texto. Los hay de diversos tipos (estructurados y no estructurados, pseudo-WYSIWYG, etc.). Los estructurados no dejan que el autor inserte elementos donde la especificaci\u00f3n (DTD) lo prohibe. Los segundos s\u00f3lo facilitan la inserci\u00f3n all\u00ed donde el autor decida, aunque sea incorrecto. No existen los editores WYSIWIG: cada browser representa la p\u00e1gina HTML de manera diferente (\u00bfWYSIWIG respecto a qu\u00e9 browser?). Los mejores editores no son los que &#8216;evitan&#8217; que el autor &#8216;vea&#8217; las marcas que inserta: son los peores, ya que tambi\u00e9n &#8216;evitan&#8217; el aprendizaje. Esta tendencia proviene de la consideraci\u00f3n de los actuales procesadores de textos como el modelo a seguir.<br \/>\nLos editores del futuro ser\u00e1n estructurados, es decir, evitar\u00e1n el mal HTML, tendr\u00e1n &#8216;modos&#8217;, es decir, permitir\u00e1n escribir normalmente textos e insertar marcas que podr\u00e1n verse o no en funci\u00f3n de la voluntad del autor. En el modo &#8216;sin marcas&#8217; realizar\u00e1n una aproximaci\u00f3n al aspecto del documento en los agentes de usuario m\u00e1s comunes. Finalmente, permitir\u00e1n realizar tareas de gesti\u00f3n de conjuntos de documentos relacionados (como actualizaci\u00f3n autom\u00e1tica de v\u00ednculos, integraci\u00f3n con bases de datos de documentos HTML en el servidor, env\u00edo autom\u00e1tico del documento al servidor, comprobaci\u00f3n peri\u00f3dica de v\u00ednculos, etc.).<\/a><\/p>\n<p><a>3. Un &#8216;parser&#8217; es un analizador sint\u00e1ctico. Su funci\u00f3n es asegurar que un texto HTML est\u00e1 correctamente escrito. La &#8216;gram\u00e1tica&#8217;, las reglas, que usa un &#8216;parser&#8217; SGML para analizar un documento HTML son el DTD o &#8216;Description Type Document&#8217;. Hay analizadores sint\u00e1cticos &#8216;on line&#8217; que admiten un URL o parte de un documento HTML en un campo de texto de un formulario y, tras analizarlo, elaboran y muestran un informe sobre la correcci\u00f3n del texto.<br \/>\nEs de todo punto recomendable utilizar un \u00abparser\u00bb para validar el HTML, sobre todo si tenemos dudas sobre su validez (no basta con que se \u00abvea\u00bb bien: algunos clientes suelen ser muy tolerantes con los errores). Escribir documentos HTML correctos significa que, en un entorno como el WWW que evoluciona a hiper-velocidad, nuestros documentos no van a tener problemas con las aplicaciones futuras (clientes, conversores, etc.), es decir, ser\u00e1n reutilizables. Escribir HTML para un cliente determinado significa renunciar voluntariamente a uno de los puntos fuertes del HTML: la independencia de plataforma hardware\/software.<\/a><\/p>\n<p>En &lt;URL: http:\/\/www.halsoft.com\/html-val-svc\/&gt; hay un formulario que permite introducir el URL de nuestra p\u00e1gina (o fragmentos si no est\u00e1 todav\u00eda en el servidor o tenemos dudas) y seleccionar el nivel HTML para el que pretendemos validar nuestro documento. Otras aplicaciones de validaci\u00f3n incluyen:<\/p>\n<p>Weblint (&lt;URL:http:\/\/www.khoros.unm.edu\/staff\/neilb\/weblint.html&gt;) y Htmlchek &lt;URL:http:\/\/uts.cc.utexas.edu\/~churchh\/htmlchek.html&gt;.<\/p>\n<p>4. Conversores. Hay utilidades que &#8216;traducen&#8217; de un formato de texto a HTML (por ejemplo, de PostScript o RTF a HTML). Sin embargo, se tiene que introducir a mano los &#8216;links&#8217; en el texto HTML generado (o preparar cuidadosamente el texto antes, con lo que la ventaja de la conversi\u00f3n autom\u00e1tica desaparece). Son \u00fatiles cuando es necesario convertir masivamente textos con formato. El resultado suele tener buena apariencia, aunque la mayor parte de las veces tendr\u00e1 que retocarlo a mano.<\/p>\n<p>5. Las pasarelas entre sistemas diversos convierten texto (u otras cosas) en HTML &#8216;on the fly&#8217;. Se trata de aplicaciones que leen documentos en otro formato e insertan marcas en lugares predeterminados de, por ejemplo, documentos din\u00e1micos producto de un &#8216;query&#8217; a una base de datos. Las pasarelas son \u00fatiles s\u00f3lo para ciertos prop\u00f3sitos y consumen m\u00e1s CPU que la recuperaci\u00f3n simple de ficheros almacenados en el servidor.<\/p>\n<h2>En conclusi\u00f3n<\/h2>\n<p>El HTML es un lenguaje f\u00e1cil de aprender y utilizar. Existe mucha informaci\u00f3n en la red, incluyendo manuales, tutoriales, software de edici\u00f3n, traducci\u00f3n y utilidades diversas, como analizadores sint\u00e1cticos. Tal vez el \u00fanico problema con el HTML es que todav\u00eda no permite hacer lo que los nuevos usuarios demandan, sobre todo en sectores comerciales. Sin embargo, los nuevos desarrollos (HTML 3.0, Java, VRML, hojas de estilo, etc.) auguran mucha excitaci\u00f3n y diversi\u00f3n para los pr\u00f3ximos meses.<\/p>\n<p><strong>Recuadro<\/strong>:<\/p>\n<p>Netscapismos<\/p>\n<p>El reciente lanzamiento de nuevas versiones del conocido agente de usuario Netscape Navigator (que todo el mundo de habla hispana se esfuerza por no llamar \u00abNavegante\u00bb) ha reavivado una pol\u00e9mica que colea ya hace tiempo por la Internet: el mayor o menor grado de cumplimiento de los est\u00e1ndares por parte de los desarrolladores de aplicaciones. En lo que se ha calificado de estrategia puramente comercial y de afanes monopol\u00edsticos, algunos desarrolladores (Netscape y Microsoft, por ejemplo) han creado elementos nuevos no conformantes con el est\u00e1ndar HTML. Algunas de ellos pertenecen, previsiblemente, al HTML 3.0 (como las tablas, aunque el modelo reci\u00e9n propuesto para el HTML 3.0 es m\u00e1s completo que el de Netscape) otras son de cosecha propia y han sido acogidos con franca repulsa cuando no burla (por ejemplo, el &lt;BLINK&gt;, del Netscape Navigator) por los sectores m\u00e1s comprometidos con una evoluci\u00f3n consensuada y racional del HTML. El problema es que, una vez hemos sacado la pasta de dientes es imposible volverla a meter en el tubo. Muchos servidores exiben el r\u00f3tulo \u00abOptimizado para Netscape\u00bb. Es evidente que esta pol\u00edtica va en contra de toda la filosof\u00eda con la que se ha desarrollado el WWW y que subyace al SGML y al HTML: independencia de plataformas hardware\/software.<\/p>\n<p>La presi\u00f3n del mercado, en la l\u00ednea de hacer m\u00e1s est\u00e9ticas las p\u00e1ginas del WWW, y la necesidad de capturar parte de dicho mercado en un &#8216;negocio&#8217; en el que existen numerosos y excelentes productos gratuitos han movido a estas empresas a no esperar m\u00e1s y a implementar elementos que todav\u00eda se hallan en fase de estudio y discusi\u00f3n o a inventarse nuevos elementos a medida de las necesidades de sectores de mercado. Dichos nuevos elementos son, en su mayor parte, cosm\u00e9ticos y orientados s\u00f3lo a mejorar la apariencia del documento.<\/p>\n<p>Como principio recomendar\u00edamos cautela en el uso de dichos elementos no est\u00e1ndar, sobre todo de los que comprometan la estructura y funcionamiento del documento o conjunto de documentos y, desde luego, olvidar el desafortunado &lt;BLINK&gt; (que nos retrotrae a la \u00e9poca de los terminales tontos). Un aspecto divertido del tema es que un error en el Netscape Navigator versi\u00f3n 1.1 (es decir, un comportamiento no pretendido por sus desarrolladores) se ha convertido en un elemento obligado en las p\u00e1ginas de algunos autores: m\u00faltiples elementos &lt;TITLE&gt; que generan un t\u00edtulo que se escribe desde el centro del t\u00edtulo de la ventana hacias ambos lados y paso a paso. Lo sentimos: es un &#8216;bug&#8217; no un &#8216;tag&#8217;. La version 2 ya no lo hace. El efecto de recuperar documentos HTML con 25 elementos &lt;TITLE&gt; en la misma p\u00e1gina mediante una pasarela a una base de datos que indexe el contenido de un servidor es fastuoso.<\/p>\n<p><strong>Recuadro<\/strong><\/p>\n<p>C\u00f3mo aprender HTML<\/p>\n<p>Hay varios libros (y es previsible que aparezcan m\u00e1s en breve) orientados a ense\u00f1ar HTML. Sin embargo los libros, por su largo proceso de producci\u00f3n y distribuci\u00f3n y dado el dinamismo del WWW, no reflejan lo \u00ab\u00faltimo\u00bb. Para ello es conveniente utilizar las fuentes \u00abonline\u00bb. Tambi\u00e9n podremos conseguir ayuda y software.<\/p>\n<p>Libros:<\/p>\n<ul>\n<li>Graham,  Ian S. (1995). The HTML Sourcebook, John Wiley and Sons. ISBN: 0-471-11849-4. Revisi\u00f3n en &lt;URL:http:\/\/mirror.wwa.com\/mirror\/reviews\/books\/95\/htmlsb.htm&gt;<\/li>\n<li>Lemay, Laura (1995). Teach Yourself Web Publishing with HTML in a Week. Sams Publishing. ISBN: 0-672-30667-0. &lt;URL:http:\/\/slack.lne.com\/lemay\/theBook\/index.html&gt;<\/li>\n<li>Aronson, Larry (1995).  The HTML Manual of Style. Ziff-Davis Press.<\/li>\n<li>Morris, Mary (1995). HTML Authoring for Fun &amp; Profit. Prentice Hall. ISBN:0-13-359290-1.<\/li>\n<\/ul>\n<p>Manuales \u00abonline\u00bb:<\/p>\n<p>Hay multitud de manuales en la red para aprender HTML. Para novatos, el m\u00e1s conocido es: \u00abA beginner&#8217;s guide to HTML\u00bb del NCSA. Puede obtenerse en &lt;URL:http:\/\/www.ncsa.uiuc.edu\/General\/Internet\/WWW\/HTMLPrimer.html&gt;. Despu\u00e9s pueden consultarse alguno de los listados en Yahoo (&lt;URL:http:\/\/www.yahoo.com\/Computers\/World_Wide_Web\/&gt; o en la W3 Organization &lt;URL:http:\/\/www.w3.org\/pub\/WWW\/MarkUp\/MarkUp.html&gt;<\/p>\n<p><a>El material de referencia, imprescindible para el autor de HTML, es el RFC (\u00abRequest for Comments\u00bb) dedicado al HTML 2.0 (en el momento de escribir este art\u00edculo todav\u00eda en estado de borrador de trabajo, pero ya aprobado por la ISOC para su publicaci\u00f3n como est\u00e1ndar de Internet). Puede hallarse en &lt;URL:ftp:\/\/ds.internic.net&gt; o en Europa en &lt;URL:ftp:\/\/nic.nordu.net&gt;.<br \/>\nTambi\u00e9n es necesario leer peri\u00f3dicamente el FAQ (\u00abFrequently Asked Questions\u00bb) sobre WWW que se difunde en diversos grupos de &#8216;News\u00bb.<\/a><\/p>\n<p>Netnews:<\/p>\n<p><a>Sobre el WWW hay actualmente 15 grupos de noticias especializados. Los relacionados con temas de \u00abauthoring\u00bb pueden identificarse f\u00e1cilmente por su nombre (comp.infosystems.www.authoring.*). de ellos, evidentemente, el m\u00e1s significativo es &#8216;comp.infosystems.www.authoring.html&#8217;. Tambi\u00e9n es util revisar regularmente los dedicados a los clientes, servidores y anuncios.<br \/>\nSi queremos revisar noticias antiguas hay archivos de estos grupos en &lt;URL:http:\/\/www.awebs.com\/news_archive\/&gt; y &lt;URL:http:\/\/www.criticalmass.com\/concord\/index.htm&gt;.<\/a><\/p>\n<p>Software:<\/p>\n<p>Existen multitud de editores, conversores y utilidades relacionadas con el HTML. La lista ser\u00eda interminable y, adem\u00e1s, no hay semana que no aparezcan nuevas aplicaciones. Es conveniente revisar peri\u00f3dicamente en los servidores citados anteriormente (Yahoo, W3 Org., etc.) las secciones dedicadas al software. Para los usuarios de entorno Macintosh, uno de los editores m\u00e1s populares ha sido desarrollado en la Universitat Jaume I. Se trata de las BBEdit HTML Extensions, un conjunto de extensiones para un editor (BBEdit), una de cuyas versiones es gratuita (BBEdit Lite), que permiten insertar f\u00e1cilmente &#8216;marcas&#8217; HTML en un texto. El autor es Carles Bellver y pueden obtenerse gratuitamente en &lt;URL:http:\/\/www.uji.es\/bb-html-ext-info.html&gt;.<\/p>\n<p>Listas de discusi\u00f3n:<\/p>\n<p>Tambi\u00e9n existen listas de discusi\u00f3n relacionadas con el desarrollo del HTML. La lista completa est\u00e1 en &lt;URL:http:\/\/www.w3.org\/hypertext\/WWW\/Mail\/Lists.html&gt; y en &lt;URL:http:\/\/www.w3.org\/hypertext\/WWW\/Mail\/Outside_mailing.html&gt;. Y la dedicada espec\u00edficamente a HTML (denominada www-html) y de car\u00e1ter t\u00e9cnico puede verse en &lt;URL:http:\/\/www.eit.com\/www.lists\/&gt;.<\/p>\n<p>Los trucos del oficio:<\/p>\n<p>Finalmente un truco: en HTML casi todo est\u00e1 a la vista. Si una p\u00e1gina le parece especialmente brillante, mire c\u00f3mo est\u00e1 hecha. No olvide, sin embargo, que el HTML es un est\u00e1ndar y que no todo lo que hay en el Web es HTML correcto: utilice un &#8216;parser&#8217; para comprobar su correcci\u00f3n. En el futuro agradecer\u00e1 haberlo hecho.<\/p>\n<p><strong>Recuadro<\/strong><\/p>\n<p>EL FUTURO: HTML 3.0<\/p>\n<p>Algunas de las posibilidades del HTML nivel 3.0 ya han sido implementadas en conocidos clientes WWW (aunque de modo un tanto peculiar). Pero lo m\u00e1s destacable que veremos en un futuro inmediato son: tablas sofisticadas, un nuevo elemento gr\u00e1fico <fig> que permitir\u00e1 mapas sensibles en el cliente, ecuaciones y formulas matem\u00e1ticas, el texto fluir\u00e1 en torno a los elementos gr\u00e1ficos, cabeceras o &#8216;banners&#8217; est\u00e1ticos (para incluir logos, botones de navegaci\u00f3n, etc.), nuevos elementos en los formularios, la posibilidad de utilizar hojas de estilo que controlar\u00e1n la apariencia de los documentos en los clientes, etc. <\/fig><\/p>\n","protected":false},"excerpt":{"rendered":"<p>HTML: La tela de la ara\u00f1a Jordi Adell &nbsp; Net Conexi\u00f3n, n\u00ba2, diciembre 1995 La p\u00e1gina contiene texto e im\u00e1genes. Algunas palabras son de color azul. Hacemos clic sobre ellas con el rat\u00f3n y tras unos segundos aparece la primera p\u00e1gina de una revista electr\u00f3nica. Introducimos algunos t\u00e9rminos de b\u00fasqueda en un recuadro y una [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-63","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p74JOR-11","_links":{"self":[{"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/posts\/63","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/comments?post=63"}],"version-history":[{"count":1,"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/posts\/63\/revisions"}],"predecessor-version":[{"id":1403,"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/posts\/63\/revisions\/1403"}],"wp:attachment":[{"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/media?parent=63"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/categories?post=63"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elbonia.cent.uji.es\/jordi\/wp-json\/wp\/v2\/tags?post=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}