Puede usar una hoja de estilos XSL para combinar sus hojas de estilo. Sin embargo, esto es equivalente a usar el elemento xsl: include, no xsl: import (como Azat Razetdinov ya ha señalado). Puede leer sobre la diferencia here.
Por lo tanto, primero debe reemplazar xsl: import's con xsl: include's, resolver cualquier conflicto y probar si aún obtiene los resultados correctos. Después de eso, puede usar la siguiente hoja de estilo para fusionar sus hojas de estilo existentes en una sola. Sólo se aplican a la hoja de estilos principal:
<?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>
La primera plantilla reemplaza toda XSL: incluir de hojas de estilo con los incluidos por el uso de la función de documento, que se lee en el archivo de referencia en el atributo href. La segunda plantilla es identity transformation.
Lo he probado con Xalan y parece funcionar bien.
Esto parece ser que no trabaja si incluye tener rutas relativas como abajo: Cualquier forma de estos escenarios también? –
Shiv