Tobi: Unterschied Xpath und DOM-Scripting

Hallo zusammen,

ich suche seit tagen, aber ich finde nichts zu meiner frage:

XSLT (Xpath) unterscheidet sich wie zu DOM-Scripting (also JavaScript mit DOM)???

Es stellt sich die frage ob ich eine XML-Datei mit einer XSL-Transformation in eine HTML-Datei transformiere oder ob ich mit JavaScript die Daten aus der XML holen lasse und daraus die html erzeuge!?

kann mir jemand helfen?

  1. XSLT (Xpath) unterscheidet sich wie zu DOM-Scripting (also JavaScript mit DOM)???

    XPath ist eine Abfragesyntax, um Knoten in einem XML-Dokument zu adressieren.
    XSLT ist eine Sprache, um XML-Dokumente zu verändern, in andere XML-Sprachen zu überführen. Dabei kann XPath verwendet werden.

    Beides hat mit JavaScript und der DOM-Schnittstelle erst einmal nichts zu tun. Man kann mit JavaScript XPath-Abfragen durchführen und XSL-Transformationen anstoßen, da JavaScript Zugriff auf entsprechende Programmierschnittstellen hat.

    Das ist der einzige Zusammenhang. Ansonsten sind es Techniken mit unterschiedlichen Zielsetzungen.

    Es stellt sich die frage ob ich eine XML-Datei mit einer XSL-Transformation in eine HTML-Datei transformiere oder ob ich mit JavaScript die Daten aus der XML holen lasse und daraus die html erzeuge!?

    Beides ist möglich. Das kannst du machen, wie es dir einfach und nützlich erscheint. Mit JavaScript kannst du über das DOM sowohl auf XML- als auch auf HTML-Dokumente zugreifen.

    Wenn es dir einfacher erscheint, serverseitig mit XSLT HTML zu erzeugen und dieses mit dem Script zu laden, dann tue dies. Hier wäre der Vorteil, dass das JavaScript klein bleiben kann, es muss nur das generierte HTML vom Server laden und kann es direkt ins bestehende HTML-Dokument einfügen.

    Wenn es dir einfacher erscheint, die Umwandlung von XML in HTML in JavaScript zu implementieren, dann tue dies. Hier wäre der Vorteil, dass du XSLT vermutlich nicht brauchst, sondern direkt auf dem XML-DOM operieren kannst, HTML-Elemente erzeugen und ins bestehende Dokument einfügen kannst.

    Mathias