Hallo,
Ich habe schon probiert, das ganze in einer separaten xsl-Datei unterzubringen und diese dann in die Haupt-XSL-Datei zu importieren. [...] ausgelagert und einfach durch ein <xsl:import .../>
Hast du es mit xsl:include schon versucht?
Bei xsl:import bezogen sich Referenzen (d.h. der basis URL z.B. im document()-Funktion) auf das XSL, das importiert wurde. Heisst, ein document('abc.xml') wird im selben Verzeichniss gesucht in dem das XSL steht, dass diese Funktion enthält.
Außerdem ist es in deinem Fall notwendig xsl:apply-imports zu verwenden.
Grüße
Thomas