XML-Dokument in unterschiedliche XHTML-Dokumente transformieren
Lernwilliger
- xsl
Hallo,
ich muss in einem Projekt eine Aufgabe mit Hilfe von XML und XSLT lösen, habe aber gerade absolut keinen Ansatz, wie die Aufgabe gelöst werden kann. Es geht darum, ein einziges XML-Dokument abhängig von der Situation in unterschiedliche XHTML-Dokumente zu transformieren.
Bisher war ich nur in folgenden Situationen: Es gab ein XHTML-Dokument mit einem Verweis zu einem XML-Dokument.
<a href="document.xml">Zeige alles</a>
In der document.xml wurde ein XSLT-Dokument eingebunden, in dem Anweisungen zur Transformation der document.xml in ein XHTML-Dokument notiert waren.
<?xml-stylesheet type="text/xsl" href="document.xsl" ?>
Wurde nun der Verweis angeklickt, wurde die document.xml als ein schönes XHTML-Dokument im Web-Browser dargestellt.
Nun bin ich aber in folgender Situation: Es gibt wieder ein XHTML-Dokument, dieses Mal aber mit mehreren Verweisen anstatt nur einem Verweis zu der document.xml. Abhängig von dem angeklickten Verweis soll die document.xml nun unterschiedlich transformiert/dargestellt werden.
<a href="document.xml">Zeige dies</a>
<a href="document.xml">Zeige jenes</a>
<a href="document.xml">Zeige alles</a>
Leider habe ich noch absolut keinen Ansatz zur Lösung der Aufgabe und auch die SELFHTML-Dokumentation konnte mir bei diesem Thema nicht weiterhelfen.
Daher zunächst die allgemeine Frage: Wie wird so etwas gemacht? Welche Ansätze gibt es da?
Und die spezielleren Fragen: Es wird ja stets auf dieselbe document.xml verweisen. Irgendwie muss ja aber die Information übergeben werden, welcher Verweis angeklickt wurde. Können der document.xml dazu URL-Parameter übergeben werden?
<a href="document.xml?show=dies">Zeige dies</a>
<a href="document.xml?show=jenes">Zeige jenes</a>
<a href="document.xml?show=alles">Zeige alles</a>
Und, unter Annahme, dass der document.xml URL-Parameter übergeben werden können, wie werden dann unterschiedliche XSLT-Dokumente in die document.xml eingebunden, sodass abhängig von dem URL-Parameter ein anderes XSLT-Dokument verwendet wird?
Ich bin für jeden Hinweis dankbar.
@@Lernwilliger:
nuqneH
Und, unter Annahme, dass der document.xml URL-Parameter übergeben werden können, wie werden dann unterschiedliche XSLT-Dokumente in die document.xml eingebunden, sodass abhängig von dem URL-Parameter ein anderes XSLT-Dokument verwendet wird?
Darf’s auch ein Stylesheet sein, das ja nach Parameter Unterschiedliches tut?
Ich bin für jeden Hinweis dankbar.
Der Thread bedingte Transformation könnte was für dich sein.
Qapla'
Darf’s auch ein Stylesheet sein, das ja nach Parameter Unterschiedliches tut?
Gerne darf es auch ein Stylesheet sein.
Der Thread bedingte Transformation könnte was für dich sein.
Leider nicht so wirklich. Der URL-Parameter kommt dort ja nur wegen des Umweges über PHP in das XSLT-Dokument. Ich verwende aber gar kein PHP, sondern soll die Aufgabe nur mit Hilfe von XHTML, XML und XSLT lösen.
Ich kann mir auch nicht wirklich vorstellen, dass mein Problem so außergewöhnlich ist. Mal ein konkretes Beispiel: Gegeben sei ein Terminkalender in einem XML-Dokument mit beruflichen und privaten Terminen. Nun sollen sowohl die beruflichen als auch die privaten Termine jeweils getrennt ausgegeben werden können. Der einzige Weg kann dann doch nicht nur sein, dass man die Daten (das XML-Dokument mit dem Terminkalender) doppelt vorhält und in einem der beiden XML-Dokumente das eine, in dem anderen der beiden XML-Dokumente das andere XSLT-Dokument einbindet. Und für jede weitere Filterung müssten die Daten wieder komplett kopiert werden, sodass sie irgendwann in x-facher Ausfertigung vorliegen würden.