Jochen: XSLT Transformation eines XML Dokuments nach JavaScript und html

Hallo!

Ich habe eine xml-Datei, die strukturierte Daten enthaelt, die ein xslt-Stylesheet referenziert. Damit kann ich durch Doppelcklick auf die xml-Date dieselbe im Webbrowser ansehen. Nun soll aber die erzeugte html-Seite etwas dynamischer sein. Mit XSLT dies zu erzeugen ist sehr muehsam, daher hatte ich folgende Idee:

  • xslt erzeugt eine quasi leere html-Seite und ein JavaScript-Objekt (JSON ist einfach aus xml erzeugbar), das den xml-Inhalt enthaelt.
  • Zusätzlich benutze ich JavaScipt, um aus dem xml-Inhalt (jetzt JavaScript Objekt) die Webseite dynamisch auf dem Client aufzubauen.

Fragen:

  • Hat das jemand schonmal probiert und kann mir einen Tipp / Link geben?
  • Wer kennt lauffaehige Beispiele, die JavaScript / html via xslt aus xml erzeugen?
  • Gibt es alternative Ansätze (ohne Webserver),
      z.B. sowas wie xml-embedded im html,
      möglichst "fuer alle" Browser?
  • Meine Grundproblem ist: Ich moechte eine xml-Datei im Browser oeffnen,
      und auf der Seite im Browser "elegant" Zugriff auf den xml-Inhalt machen.
      Das html wuerde ich gerne komplett in Javascript erzeugen.
  • Wer weiss in welcher Reihenfolge ein Browser was tut,
      z.B. erst xml->xslt transformation, dann Javascript
      interpretieren oder umgekehrt oder steuerbar?

Anmerkungen:

  • Warum Javascript und nicht XSLT? Mit javascript ist es einfach
      das DOM zu manipulieren und dynamischeren Inhalt zu erzeugen.
       Mit xslt ist das sehr muehsam und xslt-Code ist sehr
      unuebersichtlich, sobald es etwas komplexer wird.
  • Stylesheets um von xml nach JSON zu kommen, konnte ich schon
      im Web finden, aber mein Browser (FF) scheint empfindlich zu sein,
      wie das Javascript generiert wird. Die extern transformierte
      html-Date geht, daber die xml-Datei nicht.
  1. Hi,

    warum schreibst du nicht grundlegend eine einzelne Seite, die fast nur aus JavaScript besteht und das XML/XSLT für den Inhalt via Ajax vom Server holt?

    Und einmal fragen reicht, dazu muss nicht noch ein Posting in einer anderen Kategorie aufgemacht werden um nochmal auf das Ursprungsposting hinzuweisen, was ja darüberhinaus grad mal ne Stunde alt ist. Oder hättest du in der Zeit schon ne Antwort erwartet?

    Cheers, Frank

    1. Hallo Frank,
      herzlichen Dank erstmal (okay, verstehe den Einwand mit dem Posting, naechstes Mal mach ich's dann anders).

      AJAX:
      Meine xml-Datei wird von einem Messgeraet erzeugt und ist z.B. ein Messprotokoll. Ich moechte dann einfach die xml-Datei und ein Stylesheet verteilen. D.h. es sollte alles auf dem Client im Browser passieren und ein Webbrowser ist erst gar nicht beteiligt bzw. auch nicht vorhanden. Siehst Da da irgendeine Möglichkeit?

      Gruss jochen

      1. Hallo,

        Meine xml-Datei wird von einem Messgeraet erzeugt und ist z.B. ein Messprotokoll. Ich moechte dann einfach die xml-Datei und ein Stylesheet verteilen. D.h. es sollte alles auf dem Client im Browser passieren und ein Webbrowser ist erst gar nicht beteiligt bzw. auch nicht vorhanden. Siehst Da da irgendeine Möglichkeit?

        Hast du meinen Beitrag nicht gelesen? Da geht es genau darum: wie aktiviere ich JS in xml (das geht nämlich sonst nicht) und wie binde ich ein Stylesheet ein. Naja.

        Gruß

        jobo

  2. Hallo,

    https://forum.selfhtml.org/?t=193224&m=1289962

    du musst den namespace korrekt setzen, damit javascript innerhalb des xml dokumentes ausgeführt wird.

    für die anzeige genügt ein stylesheet.

    Gruß

    jobo

    1. Danke jobo,
      Deine Antwort und der Verweis haben mir weitergeholfen.
      Ich will "dynamisch" Javascript-Code erzeugen, d.h. abhaengig von dem xml-Inhalt.
      -> Solved
      Gruss jochen

      1. Hallo,

        -> Solved

        Macht es eigentlich Sinn,
        a) "gelöst" ins Thema/Betreff zu setzten und
        b) die Lösung zu posten?

        Gruß

        jobo

        1. Hi!

          Macht es eigentlich Sinn,
          a) "gelöst" ins Thema/Betreff zu setzten und

          Jein, denn mitunter entpuppt sich die vermeintliche Lösung doch noch als fehlerhaft.

          b) die Lösung zu posten?

          Das schon eher, denn dann kann man sie auch nochmal von anderen kritischen Augen prüfen lassen.

          Lo!