Qu'est-ce que le format de fichier XSL ?
Un fichier .xsl est une feuille de style XSLT - un document XML en texte brut qui contient des règles de transformation écrites dans le langage XSLT. XSLT (Extensible Stylesheet Language Transformations) a été standardisé par le W3C en novembre 1999 ; la version actuelle, XSLT 3.0, est arrivée en 2017. La feuille de style n'est pas une donnée ni un document fini : c'est un programme qu'un processeur XSLT applique à un fichier XML d'entrée pour produire du HTML, du texte brut ou une autre sortie XML.
À l'intérieur d'un fichier .xsl, l'élément racine est <xsl:stylesheet> ou <xsl:transform>, déclaré dans l'espace de noms http://www.w3.org/1999/XSL/Transform. Les règles de modèle (<xsl:template match="...">) sélectionnent des nœuds dans l'arbre source ; les instructions de sortie telles que <xsl:value-of>, <xsl:for-each> et <xsl:apply-templates> construisent le résultat. L'attribut version sur l'élément racine - 1.0, 2.0 ou 3.0 - indique au processeur quel niveau de langage appliquer.
.xsl et .xslt font référence au même type de fichier ; .xsl est l'orthographe la plus ancienne, datant de l'ère XSLT 1.0, tandis que .xslt est devenu plus courant avec XSLT 2.0 et 3.0. Historiquement, l'extension .xsl couvrait également XSL-FO (objets de formatage pour la sortie PDF), une branche distincte de la famille XSL désormais associée aux fichiers .fo.
Les utilisations courantes incluent la conversion de flux de données XML en pages Web lisibles, la transformation de fichiers de configuration entre schémas et la génération de PDF via des processeurs XSL-FO tels qu'Apache FOP.
Sécurité et sûreté
RISQUE : LOWUn fichier .xsl est un document XML en texte brut et ne contient aucun code compilé, sa lecture ou son édition est donc sûre. Les risques réels se situent au niveau du PROCESSEUR lors de l'exécution d'une feuille de style ou d'une entrée NON FIABLE : XSLT 2.0/3.0 et certaines fonctions d'extension peuvent lire/écrire des fichiers ou effectuer des appels réseau (document(), unparsed-text(), fonctions d'extension), et le traitement XML peut être touché par des attaques XXE/expansion d'entités. Par conséquent, n'exécutez pas de feuilles de style provenant de sources non fiables avec les extensions ou les entités externes activées. Pour un utilisateur final ouvrant simplement un .xsl pour le lire, il n'y a aucun danger.
Détails du format
en brefProgrammes qui ouvrent les fichiers XSL
Détails techniques
spécifications approfondies| Type MIME | application/xslt+xml (également acceptés : text/xsl, application/xml, text/xml) |
| Encodage du fichier | UTF-8 par défaut ; UTF-16 et d'autres encodages déclarés en XML sont autorisés ; un BOM UTF-8 (EF BB BF) peut précéder la déclaration XML |
| Format de conteneur | Document XML bien formé |
| Élément racine | <xsl:stylesheet> ou <xsl:transform> dans l'espace de noms http://www.w3.org/1999/XSL/Transform |
| Signalement de version | attribut version sur l'élément racine : 1.0, 2.0, ou 3.0 - sélectionne le niveau de langage XSLT appliqué par le processeur |
| Signature de fichier (octets magiques) | 3C 3F 78 6D 6C (« <?xml ») à l'offset 0 ; l'identité définitive nécessite l'élément racine et l'espace de noms XSLT, pas un nombre magique fixe |
| Taille de fichier typique | 1 Ko - 200 Ko ; les feuilles de style d'entreprise complexes peuvent être plus volumineuses |
| Modes de sortie | HTML, XHTML, texte brut ou XML - sélectionnés via la déclaration <xsl:output method="..."> à l'intérieur de la feuille de style |
| Éléments d'instruction de base | <xsl:template>, <xsl:apply-templates>, <xsl:for-each>, <xsl:value-of>, <xsl:if>, <xsl:choose>, <xsl:call-template> |
| Dépendance XPath | Utilise des expressions XPath pour adresser et sélectionner des nœuds : XPath 1.0 avec XSLT 1.0, XPath 2.0 avec XSLT 2.0, XPath 3.1 avec XSLT 3.0 |
| URI d'espace de noms | http://www.w3.org/1999/XSL/Transform (conventionnellement lié au préfixe xsl:) |
| Compression | Aucune intégrée ; texte brut, peut être servi compressé via gzip au niveau du transport HTTP |
| Processeurs supportés | xsltproc (libxslt), Saxon (2.0/3.0), Xalan-C/J, MSXML, .NET XslCompiledTransform, moteurs de navigation intégrés (XSLT 1.0) |
| Plateformes supportées | Multiplateforme : Windows, macOS, Linux, et tout environnement disposant d'un processeur XSLT conforme |
| Organisme de normalisation | W3C (World Wide Web Consortium) |
| Publié | 1999 (XSLT 1.0, W3C Recommendation, November 16, 1999) |
| Dernière version | XSLT 3.0 (W3C Recommendation, June 8, 2017) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.w3.org |
Conversions XSL
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers XSL.