Hallo Michael,
Zu dem mit IE:
Bevor ich die jetzige FAQ-Version begonnen hatte wollte ich ursprünglich URL-Parameter auslesen und direkt im XSL verwenden; dann hatte man mir hier allerdings gesagt, dass
- ein Zugriff auf diese Paramter mittels javaScript wenn erst nach dem erfolgen kann, dass das XSL bereits abgeschlossen ist; d.h. erst wird das XSL aktiv, dann kann JavaScript aktiv werden und damit wäre eine Kombination nicht möglich.
Sofern man das ganze clientseitig machen will.
Das Stimmt, wenn du Direkt auf deine XML-Datei verlinkst und in dieser dann deine XSL mit der PI aufrufst.
Aber wenn du deine XML und XSL Datei aus einer HTML-Datei aus aufrufst, hast du die Möglichkeit mit JavaScript auf die versch. (XML)DOM-Methoden zurückzugreifen.
- URL-Paramter im XSL zu verwenden würde nur bei Server-seitiger Verarbeitung gehen.
Antwort wie oben ;-)
Wenn ich das obige richtig verstehe, dann wäre das eine Mischung aus beidem ? Bin verwirrt! :)
Werde das Archiv trotzdem mal durchsuchen.
So ist es. Und es kann auch Nachteile haben.
Ich habe vor vielleich eine Woche für jemanden so eine HTML-Datei hier gepostet, da ging es allerdings darum, dass man die XSL-Transformation in Abhängigkeit eines Elements im XML anstoßen bzw. eben nicht durchführen sollte. Könnte aber auch dir Hilfreich sein.
Der Ansatz den ich vorschlage basiert darauf, dass du aus einer HTML-Datei heraus deine XML und XSL Datei lädst, also ein leicht abweichender Weg.
Aber selbst bei diesem Weg müsste ich vorher die URL-Paramter wissen um sie dann weiterzuverarbeiten. Und die einzige einfache Lösungen (zumindest für die Nutzer der FAQ) ist das Anhängen dieser Id(s) an die URL.
Den Namen des Paramters muss du so oder so immer schon wissen.
Dass der User davon nichts zu wissen braucht ist aber klar.
Er kann ja verlinken: faq.xml?anker=frage123.
Du kannst den Paramter schon vorher definieren, du muss ihn dann nur noch auswerten.
Wenn es mehrere Anker angehägt werden sollten, muss du dann für dich einen "Trenner" ausdenken und den Wert des Paramters dann im XSL zerlegen: faq.xml?anker=frage123#frage321#frage987
Kann es vielleicht sein, dass der location.hash gar nicht dem window oder document Object im IE (im Falle einer XML Datei) zugeordnet wird, sondern irgendwelchen XML-Objekten? Falls ja, ist nur die Frage welchen...
Das sind aber zwei Fragen: erstens was passiert beim XML-XSL-Transformation: die HTML datei gibt es als solches eigentlich nicht wirklich, da es in desem Fall wohl nur im Speicher exsitiert, aber doch angezeigt wird. Deshalb dürfe es ein Problem sein auf die URL der XML-Datei zuzugreifen.
"Irgendwelche XML-Objekte": wie das bei direkter XML-XSL-Transformation ist, kann ich auch nicht sagen. Wenn du den Weg über HTML und JavaScript aufruf gehst muss du solche XML-Objekte erzeugen: beim IE eben mit z.B. ActiveXObject("Msxml2.DOMDocument");
Vielleicht gibt es bei der MS-DOM-Variante irgendwo ein Objekt das diese Sachen speichert. Und vielleicht sollte ich mal danach suchen...
Antwort wie oben ;-)
Grüße
Thomas