Mirko: Datei variabel importieren

Guten Morgen,

ich habe folgendes Problem mit meiner XSL-Datei:

Es gibt eine index.xsl, in der Banner, Menu, Footer etc. definiert sind. Der Inhalt (Content) der Seite soll über xsl:import definiert werden. Allerdings soll nicht immer der gleiche Inhalt importiert werden, sondern - je nachdem welchen Menubutton man gewählt hat - immer eine andere Datei. Welche Datei importiert werden soll, sollte in der XML-Datei stehen.

Nun das Problem: Ich kann in dem XSL-Import-Tag nur Dateinamen angeben und diesen nicht variabel aus der XML Datei auslesen.

Mein Beispiel:

XML:
<main>
 <stylesheet>templates/index.xsl</stylesheet>
</main>

XSL:
...
<xsl:import href="templates/index.xsl" /> <-- Diese soll Variabel sein, also: /main/stylesheet

<xsl:template match="/">
...
<xsl:apply-imports />
...

  1. Hallo,

    Es gibt eine index.xsl, in der Banner, Menu, Footer etc. definiert sind. Der Inhalt (Content) der Seite soll über xsl:import definiert werden. Allerdings soll nicht immer der gleiche Inhalt importiert werden, sondern - je nachdem welchen Menubutton man gewählt hat - immer eine andere Datei. Welche Datei importiert werden soll, sollte in der XML-Datei stehen.

    Ich nehem an, du meinst damit, dass  für die Darstellnug des eigentlichen Inhalts jeweils eine andere XSL-Datei herangezogen werden soll.

    Nun das Problem: Ich kann in dem XSL-Import-Tag nur Dateinamen angeben und diesen nicht variabel aus der XML Datei auslesen.

    Ja.

    <xsl:import href="templates/index.xsl" /> <-- Diese soll Variabel sein,

    Das geht mit den standard XSL-Möglichkeiten nicht.
    Du könntest nachsehen, ob dein XSLT-Prozessor hierzu ev. eigene Erweiterungen anbeitet, oder du schribst einen serverseitigen Script (JSP, PHP, ASP, ...) mit dessen Hilfe du die zu ladenende XSL-Datei per URL-Parameter übergibst (natürlich, muss dein Script dann auch dazu in der Lage sei den XSLT-Prozessor richtig zu beienen, bzw. die Transformation zu machen)

    Grüße
    Thomas