Kevin: Kann man eine XML Datei in eine HTML Page einbinden?

Hallo,

ich kenne mich leider nicht ziemlich gut aus in der Materie. Ich habe für einen Verein eine HTML Seite erstellt bzw. nur verändert. Diese ist komplett in HTML geschrieben.

Auf diese Homepage soll nun ein Spielplan eingebunden werden, der über ein anderes Programm als XML Datei ausgeworfen wird. Dieser müsste nun in die Seite eingebaut werden.

Geht das nur mit HTML Code oder brauche ich da externe Dinge für? Ich kenne mich leider nicht sonderlich gut aus, so dass ich die Dinge die ich über google gefunden habe einfach nicht verstehe.

Ich würde mich sehr freuen wenn mir hier jemand helfen könnte.

Gruß
Kevin

  1. Hallo

    ich kenne mich leider nicht ziemlich gut aus in der Materie. Ich habe für einen Verein eine HTML Seite erstellt bzw. nur verändert. Diese ist komplett in HTML geschrieben.

    Auf diese Homepage soll nun ein Spielplan eingebunden werden, der über ein anderes Programm als XML Datei ausgeworfen wird. Dieser müsste nun in die Seite eingebaut werden.

    Irgendwas mit Veranstaltungen (sei es Sport, Theater, Kino)? Die Daten kommen als XML, dass bedeutet vermutlich, sie sind in einem Format, das sich zum Speichern solcher Daten eignet, verfasst. Das hat, wenn es so ist, aber nicht die für HTML nötigen Elemente, sondern die für Veranstaltungen. Das wiederum hätte zur Folge, dass der Browser mit den Rohdaten nichts anfangen kann, außer du gibst explizit an, welche Elemente wie formatiert werden sollen.

    Geht das nur mit HTML Code oder brauche ich da externe Dinge für?

    Entweder weißt du ganz genau, in welchem Format die Daten kommen und wie sie zu formatieren sind oder du schaltest eine serverseitige Programmiersprache dazwischen (Perl, PHP, Python, etc. pp.; was auf dem Webspace/Server halt verfügbar ist), die die XML-Daten einliest und in eine für die HTML-Ausgabe geeignete Struktur (z.B. Tabelle) umformatiert.

    Was geeigeter ist, kommt auf die konkreten Datenstrukturen und deinen Kenntnisstand an.

    Tschö, Auge

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
    Terry Pratchett, "Wachen! Wachen!"
    ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
    Veranstaltungsdatenbank Vdb 0.3
    1. Hallo und vielen Dank für die Antworten!

      Auge hat recht, es handelt sich um Sport und um Veranstaltungen. Leider kenne ich mich mit anderen Programmiersprachen überhaupt nicht aus - wenn ich euch richtig verstehe gibt es also keine direkte Möglichkeit das direkt in HTML einzubinden. Das stell mich wohl leider vor einige Probleme. :-(

      Trotzdem Danke!

      1. @@Kevin:

        nuqneH

        wenn ich euch richtig verstehe gibt es also keine direkte Möglichkeit das direkt in HTML einzubinden. Das stell mich wohl leider vor einige Probleme. :-(

        Du kannst das XML-Dokument auch in einem iframe (oder object) darstellen. Wie Auge schon andeutete, hat der Browser natürlich keine Defaultstyles. Du musst sämtliche Stile für alle Elemente angeben, angefangen mit display: block bzw. anderem Wert.

        Sollten deine Elementnamen Bindestriche enthalten, wäre auch eine direkte Einbindung in HTML als custom elements denkbar.

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  2. Hallo,

    Geht das nur mit HTML Code oder brauche ich da externe Dinge für? Ich kenne mich leider nicht sonderlich gut aus, so dass ich die Dinge die ich über google gefunden habe einfach nicht verstehe.

    Schau Dir mal das Selfhtml-Kapitel über XSL an.

    XSL ist eine Sprache zum Formatieren von XML-Dokumenten bzw. zur Transformation von XML-Dokumenten in andere XML-Dokumente.

    Mit XSL bist Du also - im Prinzip - in der Lage, das XML nach bestimmten Regeln (die du in XSL definierst) in HTML umzuformen (moderne HTML-Standards sind XML-kompatibel,  sprich HTML-Dokumente sind letztendlich auch wieder XML-Dokumente)

    Damit das funktioniert benötigst Du einen XSL-Parser, der das ganze verarbeiten kann. Viele moderne Browser haben das inzwischen eingebaut (unterstützen allerdings ggf. nicht alle Features, die XSL bietet). Wenn Du Dich darauf nicht verlassen willst, musst Du die Transformation serverseitig machen. Dies hängt nun von Deinen Kenntnissen und den technischen Möglichkeiten auf Deinem Webserver ab - grundsätzlich bieten aber alle Web-Programmiersprachen (PHP, PERL, Java, Ruby,Python,...) entsprechende Parser an.

    Viele Grüße,
    Jörg

    1. @@mrjerk:

      nuqneH

      Damit das funktioniert benötigst Du einen XSL-Parser, der das ganze verarbeiten kann. Viele moderne Browser haben das inzwischen eingebaut (unterstützen allerdings ggf. nicht alle Features, die XSL bietet). Wenn Du Dich darauf nicht verlassen willst, musst Du die Transformation serverseitig machen.

      Das sollte man wohl tun. IIRC plant Chrome, die XSLT-Unterstützung wieder auszubauen (im Sinne von entfernen, nicht erweitern).

      Vielleicht ist man aber auch mit SimpleXML besser dran als mit XSLT.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  3. Moin,

    Auf diese Homepage soll nun ein Spielplan eingebunden werden, der über ein anderes Programm als XML Datei ausgeworfen wird. Dieser müsste nun in die Seite eingebaut werden.

    Ich hatte kürzlich ungefähr den selben Anwendungsfall, nur mit einem Vertretungsplan auf einer Schulhomepage. Ich habe das mit einem iframe gelöst. Ich hatte allerdings auch den Vorteil, dass von dem Programm, mit welchem der Vertretungsplan erstellt wird, außer der XML-Datei auch ein korrektes Stylesheet mitliefert. Allerdings kann man das natürlich auch selbst schreiben, das ist ja ein einmaliger Aufwand.

    Grüße Marco

    --
    Ich spreche Spaghetticode - fließend.
  4. Hallo Kevin,

    Auf diese Homepage soll nun ein Spielplan eingebunden werden, der über ein anderes Programm als XML Datei ausgeworfen wird. Dieser müsste nun in die Seite eingebaut werden.

    Zum bereits Gesagten noch ein Hinweis auf die noch wenig bekannte clientseitige Nutzung von XSLT 2.0 mit Saxon-CE. Da man sich dabei von JavaScript anhängig macht, was in anderen Kontexten wie interaktive Online-Hilfen durchaus vertretbar ist, handelt es sich vermutlich um ein etwas großes Geschoss für diese Aufgabe. Hier würde ich auch eher serverseitig über PHP transformieren.

    Etwas Theorie zu Saxon-CE (Seite 2 unten etwas versteckt) [Originalartikel im Entwickler Magazin 6.2013, S. 73-77].

    Grüße,
    Thomas