¿Qué es el formato de archivo XSL?
Un archivo .xsl es una hoja de estilo XSLT: un documento XML de texto plano que contiene reglas de transformación escritas en el lenguaje XSLT. XSLT (Extensible Stylesheet Language Transformations) fue estandarizado por el W3C en noviembre de 1999; la versión actual, XSLT 3.0, llegó en 2017. La hoja de estilo no son datos ni un documento terminado: es un programa que un procesador XSLT aplica a un archivo XML de entrada para producir HTML, texto plano u otra salida XML.
Dentro de un archivo .xsl, el elemento raíz es <xsl:stylesheet> o <xsl:transform>, declarado en el espacio de nombres http://www.w3.org/1999/XSL/Transform. Las reglas de plantilla (<xsl:template match="...">) seleccionan nodos del árbol de origen; las instrucciones de salida como <xsl:value-of>, <xsl:for-each> y <xsl:apply-templates> construyen el resultado. El atributo version en el elemento raíz - 1.0, 2.0 o 3.0 - indica al procesador qué nivel de lenguaje aplicar.
.xsl y .xslt se refieren al mismo tipo de archivo; .xsl es la grafía más antigua de la era XSLT 1.0, mientras que .xslt se volvió más común con XSLT 2.0 y 3.0. Históricamente, la extensión .xsl también cubría XSL-FO (objetos de formato para salida PDF), una rama separada de la familia XSL que ahora se asocia con archivos .fo.
Los usos comunes incluyen la conversión de fuentes de datos XML en páginas web legibles, la transformación de archivos de configuración entre esquemas y la generación de PDF a través de procesadores XSL-FO como Apache FOP.
Seguridad y protección
RIESGO: LOWUn .xsl es XML de texto plano y no contiene código compilado, por lo que leerlo o editarlo es seguro. Los riesgos reales se encuentran en el PROCESADOR al ejecutar una hoja de estilo o entrada NO CONFIABLE: XSLT 2.0/3.0 y algunas funciones de extensión pueden leer/escribir archivos o realizar llamadas de red (document(), unparsed-text(), funciones de extensión), y el procesamiento XML puede verse afectado por ataques XXE/expansión de entidades. Por lo tanto, no ejecute hojas de estilo de fuentes no confiables con extensiones o entidades externas habilitadas. Para un usuario final que solo abre un .xsl para leerlo, no hay peligro.
Detalles del formato
en pocas palabrasProgramas que abren archivos XSL
Detalles técnicos
especificación profunda| Tipo MIME | application/xslt+xml (también se aceptan: text/xsl, application/xml, text/xml) |
| Codificación de archivo | UTF-8 por defecto; se permiten UTF-16 y otras codificaciones declaradas en XML; una BOM UTF-8 (EF BB BF) puede preceder a la declaración XML |
| Formato contenedor | Documento XML bien formado |
| Elemento raíz | <xsl:stylesheet> o <xsl:transform> en el espacio de nombres http://www.w3.org/1999/XSL/Transform |
| Señalización de versión | atributo version en el elemento raíz: 1.0, 2.0 o 3.0 - selecciona el nivel de lenguaje XSLT que aplica el procesador |
| Firma de archivo (bytes mágicos) | 3C 3F 78 6D 6C («<?xml») en el desplazamiento 0; la identidad definitiva requiere el elemento raíz y el espacio de nombres XSLT, no un número mágico fijo |
| Tamaño de archivo típico | 1 KB - 200 KB; las hojas de estilo empresariales grandes pueden ser mayores |
| Modos de salida | HTML, XHTML, texto plano o XML - seleccionado mediante la declaración <xsl:output method="..."> dentro de la hoja de estilo |
| Elementos de instrucción principales | <xsl:template>, <xsl:apply-templates>, <xsl:for-each>, <xsl:value-of>, <xsl:if>, <xsl:choose>, <xsl:call-template> |
| Dependencia de XPath | Utiliza expresiones XPath para direccionar y seleccionar nodos: XPath 1.0 con XSLT 1.0, XPath 2.0 con XSLT 2.0, XPath 3.1 con XSLT 3.0 |
| URI de espacio de nombres | http://www.w3.org/1999/XSL/Transform (convencionalmente vinculado al prefijo xsl:) |
| Compresión | Ninguna integrada; texto plano, puede servirse comprimido con gzip a nivel de transporte HTTP |
| Soporte de procesadores | xsltproc (libxslt), Saxon (2.0/3.0), Xalan-C/J, MSXML, .NET XslCompiledTransform, motores de navegador integrados (XSLT 1.0) |
| Soporte de plataformas | Multiplataforma: Windows, macOS, Linux y cualquier entorno con un procesador XSLT conforme |
| Organismo de estandarización | W3C (World Wide Web Consortium) |
| Lanzado | 1999 (XSLT 1.0, W3C Recommendation, November 16, 1999) |
| Última versión | XSLT 3.0 (W3C Recommendation, June 8, 2017) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.w3.org |
Conversiones de XSL
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos XSL.