Vous pouvez utiliser une feuille de style XSL pour fusionner vos feuilles de style. Cependant, cela équivaut à utiliser l'élément xsl: include, pas xsl: import (comme Azat Razetdinov l'a déjà souligné). Vous pouvez lire sur la différence here.
Par conséquent, vous devez d'abord remplacer le xsl: import avec xsl: include, résoudre les conflits et tester si vous obtenez toujours les bons résultats. Après cela, vous pouvez utiliser la feuille de style suivante pour fusionner vos feuilles de style existantes en une seule. Il suffit d'appliquer à votre maître stylesheet:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="xsl:include">
<xsl:copy-of select="document(@href)/xsl:stylesheet/*"/>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Le premier modèle remplace tous xsl: include de avec les feuilles de style inclus en utilisant la fonction de document qui se lit dans le fichier référencé dans l'attribut href. Le deuxième modèle est le identity transformation. Je l'ai testé avec Xalan et il semble fonctionner correctement. L'utilisateur explique: «(le fichier est) transmis à la machine distante où il effectue la transformation.
Cela semble ne pas fonctionner si comprend des chemins relatifs ont comme ci-dessous: Tous moyen de contourner ces scénarios aussi? –
Shiv