Issuu on Google+

Titulo Largo

Artículo 1.1. Lenguaje de etiquetado de documentos digitales: SGML, XML, HTML

Titulo Corto

Artículo 1.1

Autor

Josep Manuel Rodríguez Gairin

Palabras clave

-

Descripcion Objetivos Contenidos Actividades Evaluacion Resumen Es a partir del desarrollo del HTML (hypertext markup language) cuando se difunden ampliamente los conceptos de etiquetado de documentos. Sin embargo, el texto escrito siempre ha contado con elementos para definir características de estilo o forma. Los procesadores de textos emplean etiquetas para definir distintas características como negrita o cursiva de la misma manera que lo hace HTML. Incluso los maquetadores de las imprentas marcaban los textos con instrucciones para que el cajista supiera cómo reflejar el diseño: títulos más grandes, sangrías, etc. En el presente artículo se describen las características generales del HTML, su evolución a HTML Dinámico, las nuevas extensiones que constituyen el XML, etc. Todo ello bajo el trasfondo del SGML como el lenguaje referencia, cuna del hipertexto.

SGML SGML, siglas que corresponden a Standardized Generalized Markup Language , es la forma en que se conoce a la norma ISO 8879, aprobada en 1988 como un modelo abierto para el diseño de documentación electrónica. Esta norma recoge las bases teóricas de una serie de aplicaciones de las cuales la más conocida y extendida es el HTML. SGML plantea un concepto de documento distribuido . Mientras que los documentos generados por Word u otros procesadores recogen en un único fichero todos sus elementos, en SGML el material que constituye un documento se puede distribuir en diferentes archivos, que pueden, a su vez, estar almacenados en distintos ordenadores. Cada uno de estos archivos recibe el nombre de entidad y son independientes entre sí. Las entidades poseen a su vez distintos elementos (tablas, imágenes, ficheros de sonido, etc.) que se organizan en una estructura lógica jerarquizada. En muchos casos un elemento como un gráfico se almacena en un fichero independiente y por tanto constituye una entidad. En SGML se distinguen dos niveles de información, el contenido propiamente y una información añadida que ayuda al lector en su comprensión y que se conoce como etiquetado. SGML emplea un tipo de etiquetado que se conoce como descriptivo utilizando un conjunto de caracteres ASCII (American Standard Coding for the Interchange of Information) reconocidos en cualquier tipo de plataforma y de sistema informático. SGML tiene mucho que ver con los lenguajes de programación, ya que al igual que éstos, la información sobre las etiquetas se almacena en un fichero cabecera denominado DTD (definición del tipo de documento) en el que figuran las declaraciones de los elementos indicando el nombre oficial de cada etiqueta y lo que cada una de ellas puede contener. La sintaxis viene definida por el propio SGML y excedería el propósito de esta unidad, un ejemplo sería:


<!Element chapter (chptitle, (para | heading)+)> Que traducido a un lenguaje inteligible vendría a significar: "el siguiente documento tiene una etiqueta denominada capítulo ('chapter') que a su vez incluye elementos como el título del capítulo ('chptitle')...." SGML en sí es un lenguaje muy complejo pero a su vez extremadamente abierto. Ello es la razón que dificulta la aparición de aplicaciones globales que puedan interpretarlo. Estas aplicaciones han de ser capaces de interpretar las declaraciones del DTD, separar la información de las etiquetas y procesar las acciones que se requieran y que en muchos casos pueden ser altamente complejas (llamar a otros programas, recuperar fragmentos remotos, etc.) En la siguiente sección se verá una primera aplicación del mismo HTML con unas etiquetas concretas que permiten a las aplicaciones lectoras (los navegadores) incorporar en su programación la DTD y por lo tanto saber interpretarlas de una manera rápida y eficaz.

HTML HTML es el acrónimo de 'Hipertext markup language' o lenguaje de etiquetas hipertextuales. De manera simple, HTML es una aplicación concreta de la norma ISO 8879 (SGML) con un DTD preestablecido. En esencia, los documentos HTML son documentos de texto plano (ASCII) en los que se insertan 'etiquetas' para definir distintas características. Las etiquetas como tales figuran entre los signos de 'mayor que' y 'menor que' de manera que el visualizador, en el momento que encuentra un 'mayor que', el texto contenido entre éste y el siguiente 'menor que' no lo refleja como tal en el texto sino que lo interpreta como una acción a realizar. La primera palabra o letra de la marca define el tipo de marca y puede ir seguida de uno o más atributos con un valor asociado. En el caso de que la marca afecte a un fragmento de texto, existe siempre una marca adicional para delimitar el punto en el que sucede el final de la acción; esta marca se refleja con el signo 'mayor que' seguido de una barra inclinada. Estos elementos se ajustan al estándar de la ISO 8879 antes descrita. Veamos un ejemplo gráfico: <p style="font-family:Comic Sans MS;color:blue">En un lugar de la mancha</p> En un lugar de la mancha Cuando el visualizador analiza el contenido de esa cadena identifica una marca que le indica que el párrafo debe ser de color azul y tipo de fuente Comic. Esta acción afectará al texto que procede a continuación hasta que se encuentra una marca de final de párrafo. Desde su aparición, HTML ha sufrido diversas revisiones en las cuales se han ido ampliando las etiquetas y los atributos asociados a las mismas. La última versión publicada fué la 4.01, hoy en día ya estamos en XHTML 2.0 que se comentará más adelante así como HTML5 (aún en la fase borrador). Los diseñadores de los distintos visualizadores van adaptando sus programas para que los mismos 'interpreten' correctamente estas etiquetas. En muchos casos, dichos fabricantes incluyen etiquetas adicionales con funcionalidades específicas que, al no estar homologadas por el 'W3 consortium' (el organismo que coordina los temas de Internet), dificultan la tarea a los diseñadores de páginas web, aunque en muchos casos su popularidad acaba convirtiéndolas en estándares de facto. A continuación se describen brevemente algunas de ellas como base para el siguiente módulo de edición de páginas web.


Etiquetas de formato de documento HTML es un lenguaje continuo que sólo utiliza los caracteres ASCII visibles. Esto significa que los saltos de línea (caracteres ASCII 10 y 13) no son interpretados por el visualizador. Para indicar saltos de línea, párrafos, y otros elementos de formato es necesario utilizar una serie de etiquetas tales como:

-

<br />Salto de línea <hr />Inserción de una línea horizontal <p>párrafo</p>(el siguiente se separa automáticamente).

En el caso de salto de línea y línea horizontal podemos considerar estas etiquetas como acciones puntuales y por tanto no requieren una segunda marca de final, se especifica en la propia marca como <elemento />. <p>, si bien los navegadores la aceptan como tal, es más normativo utilizar una marca de final </p> al final del párrafo. Estas etiquetas pueden tener distintos atributos asociados, por ejemplo <p align="right"> : párrafo alineado a la derecha</p> <hr size="2" /> : Línea horizontal de grosor 2.

Etiquetas de formato de texto Dentro de este grupo se incluyen todas aquellas etiquetas que permiten definir características específicas para los distintos grafismos representados, tales como negrita (<b>) o cursiva (<i>). Al tratarse de etiquetas que afectan a un conjunto de caracteres, requieren marca de comienzo y marca de final. En este texto hay una palabra en <b>negrita</b> y otra en <i>itálica</i>. En este texto hay una palabra en negrita y otra en itálica .

Etiquetas de inclusión En este grupo se incluyen aquellas etiquetas que permiten insertar en el documento otros ficheros asociados. El ejemplo más típico es la marca que permite insertar imágenes (<img>). Un atributo esencial es el fichero a incluir (src="fichero.gif"). Los visualizadores permiten insertar y representar formatos de imágenes GIF, JPG y PNG que pueden ser construidos o transformados desde los principales editores gráficos. Es importante señalar que HTML maneja el texto y los ficheros asociados de manera independiente, tal y como se comentó en el punto SGML; es decir, en el disco duro del servidor se encontrará el fichero HTML y todos los ficheros asociados a él. De esta manera es posible construir en línea un documento con el texto obtenido de un servidor y las distintas imágenes recuperadas de otras máquinas, simplemente indicando como ubicación una URL remota (src="http:/maquinarenmota/fichero.gif"). Esta diferencia es fundamental con otros formatos como el PDF (Portable Document Format) o los formatos de los procesadores (.DOC) que incluyen en el mismo fichero el documento y todos los elementos asociados. Otra marca de este grupo es (<embed>), que permite insertar otro tipo de ficheros como sonido de fondo, vídeo, etc.

Etiquetas de enlace o salto Sin duda la característica más importante del HTML es la posibilidad de pulsar sobre determinadas


palabras o imágenes para poder recuperar otros documentos locales o remotos; es la base de la navegación y el hipertexto. Esto se consigue por medio de unas etiquetas cuyo principal atributo es la dirección del documento que queremos recuperar. Un ejemplo: Pulse <a href="destino.htm"> aquí</a> para saltar al otro documento Pulse aquí para saltar al otro documento También es posible saltar a otra posición dentro del mismo documento; para ello necesitamos dos etiquetas: el enlace anterior y el destino llamado ancla o ANCHOR.

Estructura general de los documentos HTML Independientemente de las etiquetas descritas, el documento HTML tiene una estructura general incluida en la marca <html> que se divide en una cabecera y un cuerpo . Desde la versión 3.2 de HTML se recomienda adicionalmente una declaración del tipo de documento, versión de DTD empleada en su generación y lengua, que a efectos prácticos se resume en la siguiente línea: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml2.dtd"> La cabecera contiene información interna del documento tal como el título, ubicación predeterminada y una serie de metadatos que se expondrán en el siguiente punto. Esta cabecera, a diferencia del cuerpo, no se visualiza directamente sino que es empleada con otros propósitos como pueden ser la clasificación de la información o la vigencia de la misma. Por ejemplo, la marca 'fecha de expiración' puede suponer que el visualizador no nos muestre el documento si la fecha del sistema es superior a la indicada y que en su lugar aparezca un mensaje del tipo ('La información de este documento puede ser obsoleta') El cuerpo del documento, por el contrario, incluye todo aquello que el visualizador representa en pantalla o procesa, o sea, el texto general y las etiquetas asociadas. El cuerpo del documento se inicia con una marca de inicio de cuerpo (<body>) que puede incluir atributos como la imagen o el color de fondo o las características globales del texto como el color. Un ejemplo gráfico de cómo se estructura el documento HTML es: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">

Metaelementos Existe un tipo especial de etiquetas denominadas metaelementos cuya estructura es <meta name="nombre" content="contenido">. Estas etiquetas se colocan en la cabecera del documento y permiten definir datos internos del documento como el autor, descriptores, resumen, y toda una serie de datos catalográficos de importancia vital a la hora de clasificar los documentos. Varios grupos de trabajo están estudiando la ordenación, jerarquización y estandarización de estas etiquetas como el Dublin Core Group. Dublin Core Metadata Initiative Conviene revisar la lista de los 15 elementos (Dublin Core element set). http://dublincore.org [Revisado 12/10/2010]


Un ejemplo de marcas meta podría ser el siguiente: <meta name="DC.Title" content="título de la página WWW"> <meta name="DC.Creator" content="Josep Manuel Rodríguez Gairín"> <meta name="DC.Description" content="Una descripción de la página"> <meta name="DC.Subject" content="materia"> <meta name="DC.Date" content="Wed, 15 Jan 1999 12:50:57 GMT"> <meta name="DC.Publisher" content="UPF"> <meta name="DC.Identifier" content="un número identificativo o la URL">

Estructuras más complejas: listas, tablas y formularios Un tipo de estructuras más complejas que pueden representarse en los documentos HTML lo constituyen las listas, tablas y formularios, cuya explicación detallada excedería el objetivo de esta exposición. En general, podemos decir que se trata de estructuras con elementos anidados en su interior. Así, una tabla está formada por la marca del elemento tabla (<table>), elementos fila (<tr>) y elementos celda <td> todos ellos con sus correspondientes atributos. Afortunadamente los editores visuales simplifican enormemente la tarea de crear este tipo de documentos al trasladar la representación gráfica de lo que queremos al código HTML asociado. Los formularios, por su parte, constituyen un elemento fundamental de este tipo de lenguaje, ya que permiten interaccionar con servidores para obtener información (consulta de bases de datos) o lanzar mensajes de correo electrónico. Con ellos, los documentos HTML se convierten en herramientas para realizar pedidos, recoger datos, enviar información a los productores de los mismos, etc. Selección de recursos sobre HTML

DHTML En este momento está utilizando el siguiente navegador , con una pantalla configurada de este modo . Estos datos no están grabados en el documento que está visualizando sino que se han obtenido dinámicamente gracias a DHTML. DHTML son las siglas de Dynamic HTML o HTML dinámico. Precisamente uno de los aspectos más criticados del HTML clásico es su rigidez. Los diseñadores han señalado la falta de maquetación y la dificultad para posicionar con exactitud los distintos elementos que forman el documento. Construir columnas o efectuar sangrías no resulta rutinario usando HTML clásico y hay que recurrir a complejos sistemas de tablas o imágenes vacías. Junto a esto, HTML Dinámico ofrece la posibilidad de modificar el texto sobre la marcha. Esta técnica puede permitir ayudas interactivas que muestren un texto u otro en un sector del documento según pasemos el cursor por una u otra palabra. Sin duda este ejemplo podría resolverse en HTML clásico con imágenes en formato GIF animado o enlaces y llamadas a textos externos, pero que obligan a la carga de páginas y a realizar continuos y engorrosos retrocesos al documento base. 35> Sin embargo HTML Dinámico tiene actualmente varios problemas básicos. Por un lado emplea lenguajes de programación y estructuras complejas que no lo hacen tan accesible como el


HTML clásico. Sin duda es posible aprender HTML con simples cursos de 8 o 12 horas y sin tener grandes conocimientos de programación ni otros requerimientos técnicos; con HTML dinámico será en muchos casos necesario tener una pequeña experiencia en programación, control de bucles, etc. Por otro lado en la actualidad no existe unanimidad respecto a este lenguaje entre los dos principales competidores del entorno. Las etiquetas empleadas y el comportamiento de los visualizadores son distintos en función de si empleamos Firefox, Opera, Safari o Internet Explorer. En general, cuando hablamos de HTML Dinámico estamos haciendo referencia a varios subsistemas concretos como son las hojas de estilo en cascada y los guiones de programación; todo ello basado en la teoría de programación por objetos.

Objetos versus etiquetas La programación orientada al objeto es una de las técnicas más conocidas y empleadas en informática. DHTML se basa en el modelo de documentos orientado al objeto ( DOM=Document Object Model ) y emplea estos conceptos para 'animar' el HTML. Para intentar entender esta teoría hemos de conocer tres de sus elementos básicos: la clase, el objeto y la propiedad. Empecemos con un símil automovilístico. Cuando se nos habla de COCHE pueden llegar a nuestras mentes diferentes representaciones del mismo; la representación de coche puede realizarse de distintas maneras. Si en un aula hacemos que los alumnos representen en un papel un coche, es casi seguro que ninguno de ellos realizará la misma representación, aunque si mostramos el resultado final al profesor, éste podrá afirmar que todos ellos han representado un coche. En este nivel todos los dibujos son representaciones de elementos de la clase coche. Una clase es un boceto, es una idea, es un esquema. Las diferencias en los dibujos antes descritos corresponden a las distintas propiedades de esa clase. Un elemento de la clase coche tiene como propiedades por ejemplo el color de la carrocería, el número de puertas, etc. Cada una de las propiedades puede tener distintos valores: tres puertas, cinco puertas, color rojo, etc. Si ahora nos detenemos en uno de los dibujos de nuestros alumnos podemos afirmar que aquello que tenemos delante de nuestros ojos es único. No hay otro igual. Tal vez un compañero haya coincidido en el color o número de puertas pero cada uno de ellos seguro que tiene algo que lo hace diferente de los demás. Es en este nivel cuando hablamos de objeto. Cada uno de los dibujos es objetos de la clase coche y como tales comparten una serie de propiedades comunes que pueden tener el mismo o distinto valor. COCHE

Una clase

Un objeto concreto

Hasta aquí podríamos encontrar ciertas similitudes con las definiciones de etiquetas y atributos descritas en el HTML estándar y en realidad es así. La marca tabla corresponde a la clase tabla con sus propiedades/atributos específicos de manera abstracta, pero cuando en un documento encontramos una tabla, aquella es un objeto concreto, diferente de otro objeto tabla que pudiera haber en el mismo documento.


Siguiendo con nuestro símil, si acudimos a la cadena de montaje de la factoría de coches, alguien podría insinuarnos que todos los objetos de la clase coche que están en aquella cadena son iguales. Sin embargo esto no es así, ya que cada uno de ellos tendrá como mínimo un elemento diferenciador que en el caso del coche es sin lugar a dudas el número de matrícula. En HTML Dinámico todos los objetos tienen una propiedad diferenciadora que es el identificador (id=). Así, aunque en un documento haya dos objetos de la misma clase con las mismas propiedades, cada uno de ellos debe tener un identificador diferente. En nuestro ejemplo de la tabla sería: <table id="tabla1" width="100%"> <table id="tabla2" width="100%"> Cuando hablábamos de HTML decíamos que en un documento hay texto y etiquetas; en HTML dinámico todo son objetos, y cualquier texto forma parte de un objeto que podría ser el objeto párrafo <p> </p>. Evidentemente cada párrafo deberá tener un identificador diferente <p id="1">. Es importante tener en cuenta igualmente que los objetos pueden anidar a su vez objetos de nivel inferior, por ejemplo un objeto 'texto en negrita' estará dentro de un objeto 'párrafo' que a su vez estará dentro del objeto 'cuerpo del documento'. No complicaré más esta exposición, pero sí dejaré apuntado un elemento interesante como es la 'herencia de las propiedades', es decir si un objeto padre tiene una propiedad concreta, los objetos 'hijos' anidados pueden 'heredar' esa propiedad.

Hojas de estilo en cascada Una hoja de estilo en cascada es un conjunto de definiciones para la forma en la que es preciso visualizar cada elemento de la página HTML. En realidad se trata de decirle al navegador las propiedades por defecto que tendrá una clase en concreto. Veamos un ejemplo: Supongamos que queremos que todo el texto de un documento se represente justificado a la derecha. Podríamos hacerlo de manera que cada marca <p> tenga el atributo align="right". Si usamos este método hemos de asegurarnos que no nos olvidamos ningún párrafo. Usando el método de hojas de estilo en cascada, realizaremos una definición inicial donde declaramos que todos los objetos de la clase párrafo tienen por defecto la propiedad de alineación a la derecha. Gráficamente y sin entrar en explicaciones de la estructura empleada, esto se representaría: <style> p { align:right } </style> En el caso de que queramos que un objeto párrafo concreto esté alineado a la izquierda, simplemente indicaremos en ese objeto la propiedad style="align:left". Las propiedades del objeto tienen prioridad sobre las propiedades definidas en las hojas de estilo y a su vez se van heredando progresivamente, de ahí el concepto en cascada. Cuando trabajamos con distintos documentos dentro de una misma sede Web, puede interesarnos que todos ellos tengan las mismas propiedades por defecto. Una solución sería repetir el fragmento de código en todos ellos. El problema aparecerá en el momento en que decidamos modificar una propiedad, ya que estaremos obligados a modificar todos los documentos. Las hojas de estilo en cascada pueden almacenarse en ficheros independientes del texto (se recomienda usar la extensión css) y son llamadas al inicio de los documentos con la orden. <link rel="stylesheet" href="hoja1.css" type="text/css">

Guiones de programación Lo expuesto hasta aquí no imprime dinamismo al HTML, sino que necesitamos un 'motor' que haga que se produzcan cambios en el documento en función de determinados eventos. Ello se consigue usando guiones de programación incrustados en nuestros documentos. El lenguaje empleado se


denomina Javascript que mantiene cierta similitud con el lenguaje C++. Microsoft emplea también guiones con un derivado de su conocido Visual Basic denominado Vscript, aunque Internet Explorer admite Javascript y por tanto tiende a emplearse éste para compatibilizarlo con ambos exploradores. Los guiones de programación suelen insertarse en las cabeceras de los documentos en forma de funciones que se activan según se produzcan determinados eventos en los distintos objetos. Eventos posibles son: OnClick (al pulsar sobre el objeto), OnMouseOver (al pasar con el ratón por encima), Onload (al acabar de leer el documento), etc. Veamos un ejemplo gráfico: <script> function aviso() { alert("Has pulsado en ese objeto") } </script> La función aquí señalada simplemente mostrará una ventana de aviso con el texto indicado. Cuando el visualizador pasa por encima de la función ésta no se ejecuta inmediatamente sino que se recuerda en la memoria del sistema hasta que es invocada por algún evento. Supongamos que queremos que este texto aparezca cuando pulsemos sobre una imagen en concreto; la sintaxis al respecto sería: <img src="xxx.gif" OnClick="aviso()">

Las funciones pueden resultar muy complejas y pueden incluir condicionales o bucles: If (condicion=cierta) { hacer esto} else { hacer aquello} No es objeto de esta exposición un amplio conocimiento de los mecanismos básicos de programación sino simplemente dejar constancia del salto tanto cuantitativo como cualitativo que supone pasar del HTML clásico al HTML dinámico y al mismo tiempo observar su gran potencialidad; se dice que HTML Dinámico 'devuelve la creación de páginas a los programadores informáticos, terreno usurpado por documentalistas, diseñadores gráficos y otras muchas profesiones que han visto HTML como un sistema muy fácil de crear documentos en la red ". Un curso de Javascript en castellano http://www.programacion.com/html/tutorial/js/ [Revisado 12/10/2010]

Las 'galletas' Aunque no es propiamente HTML dinámico, se explicarán en este punto las 'cookies', dada su intrínseca relación con los guiones de programación. Las 'cookies' son pequeñas piezas de información formadas por un nombre y un valor que se almacenan en el ordenador del cliente y que son enviadas al servidor que las ha almacenado cada vez que se reclama una página de éste. Originariamente han sido empleadas por los servidores publicitarios para dejar 'marcas' en los ordenadores sobre los anuncios visitados y evitar que se repitan. Veamos un ejemplo : cuando visitamos por vez primera una página con un 'banner', el servidor 'graba' en nuestro ordenador una 'cookie' que podría ser: anuncio=1 y que viene a significar : 'ya has visto el anuncio 1'. Cuando


volvamos a visitar esa página, por el simple hecho de llamarla, nuestro ordenador enviará al servidor esa 'cookie', el servidor 'sabrá' que ya hemos visto el anuncio 1 y lo que hará será enseñarnos el anuncio 2 y fijar en nuestro ordenador una nueva 'cookie' que sustituye a la anterior pero que en este caso será anuncio=2. Este sistema de cookies es el empleado en estas lecciones para indicarle al lector las veces que ha visitado cada página. En la configuración del visualizador podemos indicarle que NO acepte cookies o que nos avise cada vez que un servidor quiera fijar una 'cookie' en nuestro sistema. Las 'cookies' no son programas informáticos y por lo tanto son inofensivas aunque se escriban datos en nuestro disco duro. Si sentimos curiosidad por ver qué 'cookies' tenemos fijadas en nuestro sistema, basta con editar un fichero llamado cookies.txt que está en el directorio de los parámetros de usuario del navegador. Las cookies se pueden fijar y recuperar por medio de guiones de programación de libre difusión que podemos ver en el código fuente de esta misma página. Información sobre cookies http://es.wikipedia.org/wiki/Cookie [revisado 12/10/2010]

Posicionamiento, diseño en capas y conciencia de datos HTML Dinámico permite a los diseñadores un control estricto de la posición de los distintos objetos en la página. Podemos colocar un párrafo a una altura determinada del borde superior de la página especificándola en píxeles o centímetros, e incluso podemos ir un poco más lejos y diseñar documentos en tres dimensiones. La tercera dimensión (el eje Z) vendría representada por capas que se superponen en la profundidad del documento y que pueden pasar a un primer plano en función de determinados eventos controlados por guiones. El término consciencia de datos hace referencia a la capacidad de interaccionar con los datos. Por ejemplo, el usuario puede reordenar las tablas en función de distintas circunstancias o mostrar unas filas u otras en función de eventos; es una manera simple de manejar pequeñas bases de datos cargadas en el visualizador. Selección de recursos sobre HTML Dinámico

XML XML no es una simple extensión del lenguaje de etiquetas como su nombre parece indicar (extended markup language). En los apartados anteriores hemos visto como las limitaciones de HTML eran en parte compensadas por DHTML desde el punto de vista básico de estructura. Pero tal como se mencionó en el apartado de SGML, el elemento básico de cualquier información es el contenido y, hasta el momento, éste parece haberse dejado a un lado. Los robots o spiders de la red son capaces de indizar a texto completo millones de documentos del WWW y cuando realizamos una búsqueda medianamente específica, el orden de los resultados nos es mostrado por complejos algoritmos de relevancia en función de la posición, frecuencia de los términos y otras características en muchos casos difíciles de delimitar. Una primera aproximación al estudio del contenido de los documentos ha sido la mencionada en el apartado de metaelementos. Pues bien, XML es en sí un metalenguaje que ordena, estructura y describe los documentos de las páginas web, permitiendo una descripción más minuciosa. HTML y XML se complementan mutuamente, ya que ambos son un producto de un padre común: el SGML.


Estructura del XML XML hereda de su padre SGML el concepto de DTD (Document Type Definition): como un archivo que encierra una definición formal de un tipo de documento y especifica su estructura lógica. Define tanto los elementos de una página como sus atributos. XML implementa el lenguaje de estilo de los documentos XSL (eXtensible Stylesheet Language) que permite modificar el aspecto de un documento. Se pueden lograr múltiples columnas, texto girado, orden de visualización de los datos de una tabla o múltiples tipos de letra con amplia variedad en los tamaños. Este estándar está basado en el lenguaje de semántica y especificación de estilo de documento (DSSSL, Document Style Semantics and Specification Language, ISO/IEC 10179) y, por otro lado, se considera más potente que las hojas de estilo en cascada (CSS, Cascading Style Sheets), usado en un principio con el lenguaje DHTML. El tratamiento de los enlaces está ostensiblemente mejorado con la especificación XLL (eXtensible Linking Language). Todos estos aspectos requieren una mejora en la potencia de los navegadores en la que están trabajando diversas empresas. Los navegadores capaces de interpretar este lenguaje pasan a denominarse XUA (XML User Agent). En la actualidad los navegadores visualizan XML pero no soportan la totalidad de prestaciones posibles. Microsoft parece llevar una cierta ventaja a sus competidores en este aspecto pero el lector de este documento deberá valorarla en el momento exacto de la lectura, ya que unos meses de diferencia bien pudieran cambiar radicalmente la situación. Aunque pudiera parecer lejano, ya existen aplicaciones basadas en XML como los 'canales' empleados por Microsoft para enviar información al escritorio de Windows o el proyecto de periódico electrónico de la Universidad Carlos III 1 y otras, como el EDI (Electronic Document Interchange), están recibiendo un importante impulso al incorporar las especificaciones de XML a su estructura, aunque sin duda una de las grandes revoluciones la desarrollará el RDF (Resource Description Framework), que conllevará una mejora en los motores de búsqueda a la que ya se han adherido, entre otros, Yahoo!, Altavista, Excite, Lycos, WebCrawler, Amazon, etc. Ejemplo de XML Ejemplo de página Web creada con XML Seleccion de recursos sobre XML

Bibliografía -

-

Martínez Valero, Julián "XHTML" Madrid : Anaya, cop. 2001, ISSN: 84-415-1064-4 6 Castro, Elizabeth. "HTML con XHTML y CSS " Madrid : Anaya Multimedia, cop. 2003. ISBN: 84-415-1533-6 Livingston, Dan. "Edición Guía esencial de CSS y DHTML ". Madrid [etc.] : Prentice Hall, cop. 2001. ISBN: 84-205-3329-7. Abaitua, Joseba. Todo sobre SGML/XML. [en Línea] http://paginaspersonales.deusto.es/abaitua/konzeptu/sgml.htm [consulta 12/10/2010] Santamaría González, F. "XML (extensible markup language): nuevo estándar para la descripción de documentos en la word wide web" en Actas de las VI Jornadas Españolas de Documentación. Valencia 29-31 Octubre 1998. p. 819 Tutoriales XML http://www.webexperto.com/tutoriales/22/xml/ [consulta 12/10/2010].

....function info(texto) {document.demo.vease.value = texto};function comentario(form) {if


(form.visto.value == "N") { form.visto.value = "S"; alert("Comentario : Este ejemplo visto desde Internet Explorer, funciona simplemente pasando el rat贸n por el bot贸n, en Netscape requiere pulsar. PRIMER EJEMPLO DE FALTA DE ESTANDARIZACION")}};function navegador() {alert(navigator.appName+' version '+ navigator.appVersion)};function monitor() {alert(screen.width+ ' x '+screen.height+ ' pixels a '+screen.colorDepth+' colores')};function aviso() {alert("Has pulsado en ese objeto")}


Lenguaje de etiquetado