Nur bei Bedarf einsetzen?

Hallo zusammen,

ich habe folgendes Problem: Ich generiere aus einem großen XML-Datensatz mittels XSLT ein mehrseitiges Dokument, das auch ausgedruckt wird. Dieses Stylesheet ist mittlerweile so angewachsen, daß zum einen die Übersichtlichkeit und zum anderen die Rechenzeit leidet. Da auch noch einzelne Teile des Dokuments nur unter bestimmten Bedingungen benötigt werden, habe ich überlegt, diese Teile auszugliedern und nur bei Bedarf einzufügen.
Meine naive Vorstellung war ein Abschnitt nach diesem Muster:

Das Problem dabei ist, daß xsl:import und xsl:include top-level-Elemente sind und nach meinem Verständnis nicht in den body gehören. Dieser Weg scheint also nicht zu funktionieren.

Gibt es eine Alternative, also das bedingte Einfügen eines XSL-Stylesheets in ein anderes? Würde mich über jeden Hinweis freuen.

(NB Ich bin XSL-Autodidakt und kein IT-Spezialist, also bitte „keep it simple!“ Vielen Dank!)

Schöne Grüße,

otto1965

Hallo,

Dieses Stylesheet ist mittlerweile so
angewachsen, daß zum einen die Übersichtlichkeit und zum
anderen die Rechenzeit leidet.

Übersichtlicher wird es ja durch das Aufteilen auf mehrere Dateien, für die Performance-Steigerung helfen evtl. folgende Hinweise aus den Xalan FAQ (sollten aber überwiegend allgemeingültig sein für XSLT): http://xml.apache.org/xalan-j/faq.html#faq-N10175

Gibt es eine Alternative, also das bedingte Einfügen eines
XSL-Stylesheets in ein anderes? Würde mich über jeden Hinweis
freuen.

Man kann, mit XSL auch XSL erzeugen (also das Stylesheet für die endgültige Transformation zur Laufzeit aus den Regeln generieren, die du für die include-Tags verwenden wolltest). Ob die Performance damit besser wird ist fraglich, im Einzelfall aber evtl. möglich.

Gruß
Heavy