Articulo de referencia

XSL

En informática , el término Lenguaje de Hojas de Estilo Extensible ( XSL ) se utiliza para referirse a una familia de lenguajes utilizados para transformar y representar documen...

En informática , el término Lenguaje de Hojas de Estilo Extensible ( XSL ) se utiliza para referirse a una familia de lenguajes utilizados para transformar y representar documentos XML (por ejemplo, XSL se utiliza para determinar cómo mostrar un documento XML como una página web [ 1 ] ).

Históricamente, el Grupo de Trabajo XSL del W3C elaboró ​​un borrador de especificación bajo el nombre "XSL", que finalmente se dividió en tres partes:

  1. Transformación XSL ( XSLT ): un lenguaje XML para transformar documentos XML.
  2. Objetos de formato XSL ( XSL-FO ): un lenguaje XML para especificar el formato visual de un documento XML.
  3. Lenguaje de rutas XML ( XPath ): un lenguaje que no es XML, utilizado por XSLT y también disponible para su uso en contextos que no son XSLT, para acceder a las partes de un documento XML.

Como resultado, el término "XSL" ahora se utiliza con varios significados diferentes:

  • A veces se refiere a XSLT : es mejor evitar este uso. Sin embargo, "xsl" se usa tanto como prefijo de espacio de nombres convencional para el espacio de nombres XSLT, como sufijo de nombre de archivo convencional para archivos que contienen módulos de hojas de estilo XSLT.
  • A veces se refiere a XSL-FO : este uso se puede justificar por el hecho de que la especificación XSL-FO lleva el título de Lenguaje de hojas de estilo extensible (XSL) ; sin embargo, es menos probable que el término XSL-FO se malinterprete.
  • A veces se refiere a ambos idiomas considerados en conjunto, o al grupo de trabajo que desarrolló ambos idiomas.
  • A veces, especialmente en el mundo de Microsoft, se refiere a una variante ahora obsoleta de XSLT desarrollada y distribuida por Microsoft como parte de MSXML antes de que se finalizara la especificación del W3C.

Historia

XSL surgió como un intento de trasladar la funcionalidad de DSSSL , particularmente en el área de impresión y composición tipográfica de alta gama , a XML.

En respuesta a una presentación de Arbortext, Inso y Microsoft, [ 2 ] un grupo de trabajo del W3C sobre XSL comenzó a operar en diciembre de 1997, con Sharon Adler y Steve Zilles como copresidentes, James Clark actuando como editor (y extraoficialmente como diseñador jefe) y Chris Lilley como contacto del personal del W3C. El grupo publicó un primer borrador de trabajo público el 18 de agosto de 1998. XSLT y XPath se convirtieron en Recomendaciones del W3C el 16 de noviembre de 1999 y XSL-FO alcanzó el estatus de Recomendación el 15 de octubre de 2001. [ 3 ]

La familia XSL

Transformaciones XSL

La versión original de XSLT (1.0) se publicó en noviembre de 1999 y tuvo una amplia implementación. Algunas de las primeras implementaciones han caído en desuso, pero entre las implementaciones destacadas que se utilizan activamente en 2023 se incluyen las integradas en los principales navegadores web , así como RaptorXML de Altova , libxslt , Saxon , la implementación de Microsoft .NET System.Xml.Xsl y Xalan , que está integrado en la JVM de Oracle . Todos estos productos cumplen con la especificación en gran medida, aunque también ofrecen extensiones propietarias del proveedor, y algunos omiten la compatibilidad con funciones opcionales como la desactivación del escape de salida.

Las versiones posteriores de XSLT incluyen XSLT 2.0 (enero de 2007) y XSLT 3.0 (junio de 2017); actualmente se está trabajando en la versión 4.0. Estas versiones no se han implementado tan ampliamente como la 1.0: las principales implementaciones de uso generalizado en 2023 son Saxon (disponible en varias versiones para diferentes plataformas, incluidos los navegadores web) y RaptorXML de Altova .

Objetos de formato XSL

La compatibilidad con objetos de formato XSL está disponible en varios productos:

  • El paquete XEP de RenderX tiene una compatibilidad cercana al 100% con XSL-FO 1.0.
  • XSLFormatter de Antenna House también ofrece una compatibilidad cercana al 100% con la especificación XSL-FO 1.0 y una compatibilidad del 100% con todas las nuevas funciones de la especificación XSL-FO 1.1.
  • XINC de Lunasil ofrece un gran soporte para la especificación XSL-FO 1.0.
  • FOP del proyecto Apache puede convertir una parte de la especificación de objetos de formato XSL 1.0 a PDF.
  • El servidor del motor de formato XML2PDF de AltSoft tiene una compatibilidad cercana al 100% con XSL-FO 1.1.

Estos productos admiten la salida en varios formatos de archivo , en distintos grados:

XPath

El lenguaje de rutas XML ( XPath ), que forma parte de la familia XSL, funciona dentro de XSLT como un medio para navegar por un documento XML.

Otro proyecto del W3C , XQuery , tiene como objetivo proporcionar capacidades similares para consultar documentos XML utilizando XPath .

Referencias

  1. "XML y XSLT" . W3schools . Consultado el 8 de enero de 2025 .
  2. "Microsoft, ArborText e Inso presentan una propuesta XSL al W3C" . 11 de septiembre de 1997.
  3. "Cronología de los estándares XML y Web Semántica del W3C" (PDF) . 2012. Archivado del original (PDF) el 12 de marzo de 2012. Consultado el 8 de abril de 2021 .
  • "Definición del lenguaje XSL" .
  • "Lenguaje de hojas de estilo extensible" . Archivado del original el 12 de julio de 2008. Consultado el 28 de noviembre de 2003 .
  • Holman, G. Ken (2002-03-20). "¿Qué es XSL-FO?" XML.com . O'Reilly Media, Inc. Recuperado el 2008-09-01 .
  • Tutorial y referencia de XSLT y XSL-FO.
  • Temas de enfoque de XML: CSS, XSL, XSL-FO. Archivado el 12 de mayo de 2008 en Wayback Machine.
  • IBM XSL Formatting Objects Composer archivado el 17/07/2011 en Wayback Machine .