XSLT en el IE5. (I)

NOTA:Todos los ejemplos de este artículo sólo se visualizan correctamente en el IE5.

Presentacion

En un artículo anterior estudiamos como mediante una XSLT podiamos convertir nuestros documentos XML en HTML y como de esta manera podiamos mostrar nuestros documentos XML en internet en formato HTML.

XML y XSLT

En este artículo vamos un poco más alla, y veremos como podemos saltarnos uno de los pasos anteriores y enviar la información al navegador directamente en XML y que sea este mediante la XSLT que le indiquemos el que lo presente como si fuese un documento HTML.

XML y XSLT en el navegador

Las ventajas de este método son evidentes:

  • Evitamos el paso de la conversión a HTML ya que de esta nueva manera es el cliente (el navegador) el que presenta la información en HTML.
  • Ahorramos tamaño en la información que tenemos que publicar. La primera vez enviaremos al navegador un fichero XML y un fichero XSLT. Pero posteriormente, cuando queramos pintar el fichero XML mediante la misma XSLT el navegador utilizara la que ya tiene en la cache y por tanto sólo enviara el fichero XML y este siempre ocupa menos que el HTML
  • Y ademas tendremos todas las ventajas que supone presentar nuestra información en XML en Internet en lugar de HTML.
    • Permitir busquedas más inteligentes.
    • Facilita el intercambio de información con otras aplicaciones.
    • Facilita la personalización de la información.
    • etc.

Aunque por el momento este método también tiene sus inconvenientes:

  • De los navegadores más utilizados:
    • Sólo el IE5 es capaz de trabajar con XML y XSLT.
    • Opera no lo soporta.
    • Y el Netscape tampoco, aunque:
      • Existe un plugin desarrollado por la empresa Inlogix que permite visualizar XML sobre el Netscape mediante XSLT.
      • Y que dentro de Mozilla, se esta desarrollando un procesador XSLT denominado Transformiix, que permitira trabajar con XSLTs en Netscape.
  • La implementación XSLT que traen las diferentes distribuciones del IE5 es antigua. La primera versión del IE5 aparecio en Febrero de 1999 mientras que la versión 1.0 de la especificación XSLT es del 16 de Noviembre de 1999. Pero este punto va pronto a dejar de ser un problema. Microsoft a lo largo del 2000 ha ido proporcionando nuevas versiones de la MSXML que cada vez se van aproximando más a la actual especificación XSLT.

El IE5 es un procesador XSLT

¿Como se ve el XML en el IE5?

El IE5 como ya hemos dicho es capaz de mostrar XML. Hay que tener en cuenta que un fichero XML no son más que datos, y por tanto, si no le indicamos de manera alguna como tiene que mostrar esos datos los muestra tal cual como podemos observar por ejemplo en el documento gastrono.xml:

Documento XML en el IE5

Aunque en este caso si nos fijamos, nos lo muestra:

  • Formateados de forma más bonita.
  • Y nos permite extender y recoger las ramas que forman el arbol del documento.

Esto es asi, porque por de defecto, le asociacia una XSLT, la defaultss.xsl que lo pinta de esa manera.

Para evitar que nuestros documentos XML se pinten de esta manera y aparezca como a nosotros nos apetece tendremos que indicarle al documento XML con que XSLT queremos pintarlo.

Asociando una XSLT al XML

Para asociar una XSLT a nuestro XML hay que escribir en la cabecera del documento XML la XSLT que queremos utilizar de la siguiente manera:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml:stylesheet type="text/xsl" href="mi.xsl"?>

Es decir mediante la instrucción de proceso xml:stylesheet

Por ejemplo, podemos crear nuestra propia XSLT: midefaultss.xsl modificando la defaultss.xsl, para que nuestro código XML se mostrase con un aspecto un diferente, y asociandola en la cabecera del documento XML de la siguiente manera:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="midefaultss.xsl"?>

Obtendríamos este aspecto un poco más psicodélico:

Documento XML en el IE5 con el aspecto que no es por defecto.

Estado de la implementacion XSLT del IE5

Como ya hemos dicho la primera versión del IE5 es bastante anterior a la versión 1.0 de la especificación XSLT, por lo que el procesador XSLT del IE5 es obsoleto. Es decir si intentamos utilizar las XSLT que utilizamos en el anterior artículo observaremos como los resultados son totalmente decepcionantes. Si por ejemplo utilizamos la gastrono2.xsl:

XML en el IE5 con una XSLT estándar.

Cuando el aspecto tendría que haber sido:

Gastrono en formato HTML con una XSLT estandar.

Esto significa que en principio no podemos utilizar nuestras XSLT estandares con el IE5, y que por tanto si queremos utilizar XSLT y XML en el IE5 tendremos que aprender las peculariades de las XSLT para este navegador, aunque sinceramente creo que no vale la pena.

Pero no hay que desanimarse. Desde enero del 2000 Microsoft ha ido ofreciendo sucesivas actualizaciones de su MSXML que se han ido adaptando a la especificación definitiva. Y en la actualidad podemos considerar que existe una nueva implementación de Microsoft que se adapta bastante al estándar. Pero este sera precisamente el tema del próximo artículo.

Direcciones

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
HAY 2 COMENTARIOS
  • Ernesto Krsulovic dijo:

    El IE 5 no soporta la definicion final de XSLT en su lugar implementa una recomendacion previa de XSL. El nuevo MSXM L3.0 (de noviembre/2000) implementa XSLT. Para ver algunas diferencia entre XSL Pattern (implementado en IE5) y Xpath 1.0 del XSLT (implementado en MSXML 3.0) puedes ver en: http://msdn.microsoft.com/msdnmag/issues/0900/xml/figures.asp#fig6

  • Joaquin Bravo dijo:

    Hola Ernesto. El IE5 en su instalación por defecto instala al menos hasta la versión 5.5 una versión del MSXML cuyo procesador XSLT no trabaja con el estandar. Pero Microsoft ya ha sacado una nueva versión de la MSXML que en principio parece que se ajusta al estandar y que instalandola en tu máquina te permite trabajar con XSLT estandares. Este sera el tema del próximo artículo.

Conéctate o Regístrate para dejar tu comentario.