Ich habe inzwischen eine andere Theorie.
Ich glaube, das XSL-Stylesheet hat ein Problem mit dieser Anweisung:
Code:
<xsl:variable name="un" select="document(//uppernavigation/@href)"/>
weil der
XML-Code im Fehlerfall ja nicht aus einem Dokument (sprich: aus einer vorhandenen Datei) kommt sondern dynamisch erzeugt wird. Ich habe das Stylesheet um ein neues Template namens "UpNavigation" erweitert. Im Normalfall (wenn man die
XML-Datei direkt via Doppelklick startet) fällt das nicht weiter ins Gewicht, weil dann die o.g. Anweisung funktioniert. Das Skript besitzt jetzt aber eine eingebaute Funktion namens "Patch_UpperNav()", die den Knoten
Code:
<uppernavigation href="uppernav.xml"/>
ausliest, die Datei öffnet und in den neuen "UpNavigation"-Knoten umbaut. Danach wird der "uppernavigation"-Knoten entfernt, und das Dokument kann geparst werden.
Voilà.
Vielleicht ein bisschen umständlich, aber es funktioniert.
Aber ich will die Sache sowieso noch ein wenig umbauen, damit es etwas einfacher wird. Und generell freue ich mich schon drauf, wenn diese
XML-Bibliothek auch
XPath kann. Im Moment ist das Handling mit den Knoten doch ein wenig umständlich. Kein Vergleich zu MS-
XML. *seufz*
Ich kann leider keine Demo anbieten, denn auf dem Server, auf dem meine Homepage liegt, gibt´s zwar PHP, aber diese
XML-
DOM-Bibliothek ist nicht installiert. Deswegen verursacht das Skript immer eine Fehlermeldung. Die
Dateien können darum bisher auch nur vom IE geparst werden. Andere Browser benötigen eben das PHP-Skript als Mittelsmann.
Gruß.