Está usted en Indice > Construcción > Lenguajes > XML > Lecciones y Paso a Paso > Introducción a XML
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Introducción a XML (2)

Las hojas de estilo también pueden controlar la conversión de esta "información pura" en formatos más pedestres, como RTF (para usar con el Word), HTML, etc. De esta manera, cuando ya tenga las 750 recetas tipeadas y puestas en la WWW mediante una hoja de estilo adecuada, y alguien me diga "Me traés todo mañana en tal formato para publicar un libro", yo podré responder orgulloso: "¡Claro que sí!."

Existen actualmente dos lenguajes de hojas de estilo, y los describo brevemente a continuación.

CSS

Uno de ellos es el bastante conocido CSS (Cascading Style Sheets), que ya está parcialmente implementado en los navegadores de WWW actuales más importantes. Este lenguaje simplemente permite definir como deben tratarse los tags. Solamente se pueden brindar indicaciones simples como... ponés eso de rojo, y esto de azul y grande.

 Una descripción en CSS se ve más o menos así:
   
 ingrediente {
   font-family: sans-serif;
   color: red;
   }

XSL

El W3 Consortium creó nuevo lenguaje de hojas de estilo llamado XSL (eXtended StyleSheet Language) que además de lo que brinda el CSS tiene la capacidad de funcionar como un lenguaje de transformación, alcanzándose la funcionalidad que describía más arriba.

XSL es en verdad dos estándares muy diferentes:

XSLT

Es un lenguaje que describe como debe transformarse un archivo XML en otro archivo XML. Por ejemplo, un archivo conteniendo tags que describen una receta puede convertirse mediante este sistema a otro archivo conteniendo tags que solamente describen la posición del texto en una página impresa. Obviamente en semejante transformación hay información que se pierde. La idea es que aplicando diferentes archivos XSLT se puedan obtener archivos XML diferentes, adecuados a diferentes presentaciones o usos de la información.

Esta parte del estándar está ya publicada en su version 1.0 final, y ya existen varias implementaciones de diferente calidad.


XSL FO

FO quiere decir formatting objects. Un archivo XSLFO es una especie de HTML muy sucio de tags de colores, tamaños y posición. Es un archivo que no preserva nada de la semántica de la información original, solamente describe como debe mostrarse en pantalla, o en papel. Es similar en concepto al lenguaje PostScript, o quizá al TEX.

Este formato, que obviamente es un formato XML, se puede usar generándolo mediante una transformación XSLT. Siguiendo el ejemplo que usé antes ya podemos describir un circuito bastante completo de lo que pasa con la información:


XML con las recetas + transformación XSLT --> objetos FO

Esta parte del estándar es un trabajo en progreso y todavía ningún browser está ni cerca de soportarlo. El tiempo dirá si se convierte en un estádar de la industria o no. Lo que sí se está empezando a usar mientras tanto como lenguaje presentacional es XML+CSS. Es decir, del limpio, lindo y buen XML generar sucio HTML, que no es otra cosa que un lenguaje presentacional... no está tan mal.

Otras tecnologías asociadas son DOM (Document Object Model) y SAX, que son APIs estándares para acceder a los "árboles" de información XML.


Revolviendo datos

Vamos a ver también que la pantalla no es el único destino posible de un documento XML. Estos archivitos se usan muy fácilmente como entrada para programas. Las recetas del capítulo anterior, podrían, en algún otro siglo, activar un plugin conectado a un robot, replicador o lo que sea encargado de ejecutarla automáticamente =). Esto suena quizá demasiado loco, pero en el caso del MathML, que va a distribuir ecuaciones matemáticas semánticamente, tiene mucho sentido mover el mouse sobre la ecuación, y en el menú del botón derecho decirle al browser: despejame x por favor.

¿Cuál es la cualidad distintiva de la informacion estructurada? Que tiene estructuras, es la respuesta obvia. Y esas estructuras son las que uno quiere manipular desde algún programa. Ya entendimos que un archivo XML cargado en memoria se modela como un árbol. Entonces, una API que nos permita trabajar con los datos de un archivo XML es muy semejante a una API que nos permita manejar árboles. Una API así tendrá obviamente funciones del tipo "agregar hijo", "dame padre", etc. Esa API es DOM. Se puede encontrar más información sobre DOM en la página de DOM del W3C.

XML se está mencionando mucho hoy en día cuando hay varias partes que desean dialogar entre sí. XML les provee una forma de definir un vocabulario y de definir interfaces entre ellos que vayan evolucionando decente con el tiempo. Por ejemplo un sitio de compras por internet dialogando con una empresa de tarjetas de crédito.

.





Autor: Nicolás Lichtmaier
http://www.reloco.com.ar/xml.html

Usuarios que han visto este tema también han visto...

- Document Object Model y Visual Basic en XML
- Documentos en XML
- Atributos en XML
- Parsers de XML
- Tecnologías asociadas XML


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 08-09-2008 a las 00:20:24