Christoph: Anfänger-Frage: XML to HTML

Hallo,

ich möchte eine XML-Datei in HTML umwandeln, und zwar auf dem Server, so dass jeder Browser HTML geliefert bekommt. Ich habe eine Start.xml, dazu eine passende Standard.xsl und eine Standard.dtd.

Start.xml enthält:
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<?xml-stylesheet href='Standard.xsl' type='text/xsl'?>
<!DOCTYPE Seite SYSTEM 'Standard.dtd'>

Standard.xsl enthält:
<xsl:stylesheet xmlns:xsl='http://www.w3.org/TR/WD-xsl'>
oder
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
was ist richtig?

Standard.dtd enthält:
<!ELEMENT Seite (Titel, Ueberschrift, blabla..

Zudem wird in der Standard.xsl noch auf eine Standard.css mit
<link rel='Stylesheet' type='text/css' href='Standard.css'/>
verwiesen.

Die Dateien lade ich jetzt alle auf den Server - und was passiert?
Nichts, leider!
Nur der IE kann www.Domain.de/Verzeichnis/Start.xml anzeigen (klar, nur er versteht es).
Was muss ich tun, damit diese Dateien in HTML umgewandelt werden. (www.Domain.de/Verzeichnis/Start.html oder www.Domain.de/Verzeichnis/Start.xhtml [noch besser])
Ich habe mich schon bei SelfHTML umgesehen und auch was gefunden, aber da wird nur gesagt, dass es möglich ist, aber keine Anleitung dabei. Nicht lachen, aber brauche ich noch soetwas wie eine Umwandeln.dom ?

Bin für jede Antwort dankbar,
Christoph.

  1. Hallo,

    Start.xml enthält:
    <?xml version='1.0' encoding='UTF-8' standalone='no'?>
    <?xml-stylesheet href='Standard.xsl' type='text/xsl'?>

    Das bedeutet, dass du einen Parser am Server installiert haben musst, der diese Art der XSL einbindung in XML-Dateien versteht.

    Standard.xsl enthält:
    <xsl:stylesheet xmlns:xsl='http://www.w3.org/TR/WD-xsl'>
    oder
    <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    was ist richtig?

    Erstere ist eine mittlerweile sehr sehr alte Syntax, die vorwiegend von Microsoft verwendet wurde.
    Zur Zeit ist ausschließlich und nur: <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> richtig.

    Standard.dtd enthält:

    Ist an sich uninteressant, es ein denn du möchtest, dass deine XML-Datei validert wird, dann muss du auch einen validieren Parser verwenden.

    »

    Die Dateien lade ich jetzt alle auf den Server - und was passiert?
    Nichts, leider!

    Klar das nichts passiert.
    Du möchtest etwas am Server verarbeiten, also muss du ein Programm, in diesem Fall einen XML und einen XSL-Parser am Server installiert haben. Wenn du keine solche Zugriffsmöglichkeit auf dem Server hast, muss du dir die serverseitige Verarbeitung erstmal aus dem Kopf schlagen.

    Nur der IE kann www.Domain.de/Verzeichnis/Start.xml anzeigen (klar, nur er versteht es).

    Mozilla tut es auch.

    Ich habe mich schon bei SelfHTML umgesehen und auch was gefunden, aber da wird nur gesagt, dass es möglich ist, aber keine Anleitung dabei. Nicht lachen, aber brauche ich noch soetwas wie eine Umwandeln.dom ?

    DOM ist keine Datei, sonder eine Möglichkeit auf Objekte (ob Elemente, Attribute etc.) zuzugreifen. DOM kannst du z.B. in Scripten (JavaScript, JScript, ASP, etc.) verwenden.

    Selfhtml kann dir keine Anleitung geben, wie man an einem Server was installiert, denn dazu sind sowohl die Server als auch die Parser und die Anforderungen für die XML-Verarbeitung zu mannigfaltig.

    Grüße
    Thomas

    1. Hallo,

      Das bedeutet, dass du einen Parser am Server installiert haben musst, der diese Art der XSL einbindung in XML-Dateien versteht.

      Ah, so - ich brauche also ein Programm?

      Erstere ist eine mittlerweile sehr sehr alte Syntax, die vorwiegend von Microsoft verwendet wurde.
      Zur Zeit ist ausschließlich und nur: <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> richtig.

      Danke! :-)

      Ist an sich uninteressant, es ein denn du möchtest, dass deine XML-Datei validert wird, dann muss du auch einen validieren Parser verwenden.

      Hm, warum nicht? Dann ist der Code um so sauberer. Es wird ja immer empfohlen DTD zu verwenden.

      Klar das nichts passiert.
      Du möchtest etwas am Server verarbeiten, also muss du ein Programm, in diesem Fall einen XML und einen XSL-Parser am Server installiert haben. Wenn du keine solche Zugriffsmöglichkeit auf dem Server hast, muss du dir die serverseitige Verarbeitung erstmal aus dem Kopf schlagen.

      Mozilla tut es auch.

      Hab' ich nicht. Sollte ich aber ändern, denke ich..

      DOM ist keine Datei, sonder eine Möglichkeit auf Objekte (ob Elemente, Attribute etc.) zuzugreifen. DOM kannst du z.B. in Scripten (JavaScript, JScript, ASP, etc.) verwenden.

      Ups, leicht daneben.. ;-)

      Selfhtml kann dir keine Anleitung geben, wie man an einem Server was installiert, denn dazu sind sowohl die Server als auch die Parser und die Anforderungen für die XML-Verarbeitung zu mannigfaltig.

      Weiß denn jemand einen Link auf eine Seite die solche Programme zum Download anbietet (sind die kostenlos!?)

      Das hier habe ich gestern noch auf
      http://www.devtrain.de/artikel_385.aspx
      gefunden, villeicht geht's auch damit?

      ---------------------
      <%@ LANGUAGE = JScript %>
      <%
        // Set the source and style sheet locations here
        var sourceFile = Server.MapPath('simple.xml');
        var styleFile = Server.MapPath('simple.xsl');

      // Load the XML
        var source = Server.CreateObject('Msxml2.DOMDocument');
        source.async = false;
        source.load(sourceFile);

      // Load the XSL
        var style = Server.CreateObject('Msxml2.DOMDocument');
        style.async = false;
        style.load(styleFile);

      source.transformNodeToObject(style, Response);

      %>
      ---------------

      Falls ich auf diese Script-Frage keine Antwort erhalte, ist das auch nicht so schlimm. Das Einzige was ich suche, ist ein Link auf ein solches Programm (und eine Installationsanleitung!?).

      Grüße
      Thomas

      Ebenfalls,
      und danke für Deine Hilfe!

      Christoph.

      1. Ja die Programme sind kostenlos. :-))
        Aber das gibt es einen kleinen hacken dabei.
        sämtliche Parser dienen nur mal so als Gründgerüst etwas zu tun.
        Damit arbeiten und eine anwendung dafür zu schreiben ist Deine aufgabe.

        Für Perl schau einfach mal bei CPAN vorbei dort gibt es den SAX Parser etc. Du must dort unter Moduls suchen dann unter Categroy und dort suchst Du nach XML Du solltest einige finden welcher besser und welcher schlechter ist keine Ahnung.

        Unter Java findest Du Parser z.B. www.apache.org

        Gruss Matze

        PS. Ein klicke Bunti -> Sprich eine Anwednung mit gui doe sowas schon automatisch macht gibt es meines Wissens nicht.

      2. Hallo,

        Ah, so - ich brauche also ein Programm?

        Ja.
        Die kleinen Männchen, die üblicher Weise solche Arbeit verrichten sind im Streik. ;-)

        Ist an sich uninteressant, es ein denn du möchtest, dass deine XML-Datei validert wird, dann muss du auch einen validieren Parser verwenden.

        Hm, warum nicht? Dann ist der Code um so sauberer. Es wird ja immer empfohlen DTD zu verwenden.

        Sauberer ist dein Code dadurch nicht. Dein XML hat wohlgeformt zu sein um überhaut weiter verarbeitbar zu sein. Wenn du auch eine DTD verwendest kann damit auch darauf geachtet werden ob die Syntax deiner XML-Datei auch bestimmten Regeln entspricht (eben denen die du in der DTD fesgehalten hast), d.h. ob deine XML-Datei auch gültig ist.
        Wenn du für dich eine DTD erstellt, kannst du damit dafür sorgen, dass du auch noch in 6 Monaten weisst, welche Elemente etc. du in deiner XML-Datei und wie verwenden kannst.

        Weiß denn jemand einen Link auf eine Seite die solche Programme zum Download anbietet (sind die kostenlos!?)

        Nach dem xmlsofware.com auf merkwürdiger Weise verschwunden ist, kann du die unter http://www.verhoofstad.com/~pg6/software/ die XML-Parsers anschauen.

        Das hier habe ich gestern noch auf
        http://www.devtrain.de/artikel_385.aspx
        gefunden, villeicht geht's auch damit?

        Das ist ein ASP-Script. Schön, aber warum hast du denn nicht alles gelesen was dort stand: "Dazu verwenden wir am Web Server ASP. Für das Sample ist es unbedingt nötig, das der Microsoft XML Parser installiert ist." ??
        Also falls auf dem Server, wo du deine Seiten hostets, der MSXML installiert und ASP ausgeführt werden kann, kannst du den Script natürlich nützen.

        Grüße
        Thomas

        1. Weiß denn jemand einen Link auf eine Seite die solche Programme zum Download anbietet (sind die kostenlos!?)

          Nach dem xmlsofware.com auf merkwürdiger Weise verschwunden ist, kann du die unter http://www.verhoofstad.com/~pg6/software/ die XML-Parsers anschauen.

          Ah jetzt habe ich die neue Seite gefunden:
          http://www.ixemel.nl/xmlapps/index.html

          Thomas

        2. Ja.
          Die kleinen Männchen, die üblicher Weise solche Arbeit verrichten sind im Streik. ;-)

          :-)

          Nach dem xmlsofware.com auf merkwürdiger Weise verschwunden ist, kann du die unter http://www.verhoofstad.com/~pg6/software/ die XML-Parsers anschauen.

          Danke, werde ich mir gleich mal anschauen!

          Dazu verwenden wir am Web Server ASP. Für das Sample ist es unbedingt nötig, das der Microsoft XML Parser installiert ist.

          Ich habe woanders gelesen, dass dieses Programm nicht gerade billig ist.. Oder ist das gar nicht meine Aufgabe, das zu installieren? Ist das entweder schon voristalliert oder nicht? Entweder Glück gehabt oder nicht?
          Soweit ich 'rausgefunden habe läuft auf >meinem< Server Apache.
          Also, eher nicht zu gebrauchen..
          Muss ich mir dann auf Apache.org so ein Programm 'runterladen? Welches Script brauche ich dann?
          Sorry, aber ich blicke da ehrlich gesagt nicht ganz durch. Wie gesagt - Anfänger-Frage. Danke bis jetzt an alle die wirklich mit viel Geduld mir so dumme Fragen beantwortet haben.. :-)

          Grüße,
          Christoph.

          1. Hallo

            Nach dem xmlsofware.com auf merkwürdiger Weise verschwunden ist, kann du die unter http://www.verhoofstad.com/~pg6/software/ die XML-Parsers anschauen.

            Danke, werde ich mir gleich mal anschauen!

            Die Seite http://www.xmlsoftware.com ist auch wieder online (es hat bloß eine 2 tägigen Ausfall gegeben)

            Dazu verwenden wir am Web Server ASP. Für das Sample ist es unbedingt nötig, das der Microsoft XML Parser installiert ist.

            Ich habe woanders gelesen, dass dieses Programm nicht gerade billig ist..

            Der MSXML selbst ist an sich kostenlos.

            Oder ist das gar nicht meine Aufgabe, das zu installieren?

            Ob es deine Aufgabe ist? Diese Frage stellt sich wohl kaum, wenn du nicht der Serverwervalter bist.

            »»Ist das entweder schon voristalliert oder nicht? Entweder Glück gehabt oder nicht?

            So ist es.

            Soweit ich 'rausgefunden habe läuft auf >meinem< Server Apache.
            Also, eher nicht zu gebrauchen..
            Muss ich mir dann auf Apache.org so ein Programm 'runterladen? Welches Script brauche ich dann?

            Bitte gnade!! ;-)  *säuftz* Es kommt im Grunde nicht darauf an welchen Webserver du verwendets, sondern darauf ob du am Recher auf dem der Server läuft, bei bedarf Software installieren kannst oder nicht. Wenn das nicht der Fall ist, brauchst du dir wirklich nicht den Kopf darüber zu zerbrechen, welche Software (Parser) für dich am besten geeignet ist.

            So wie ich dich bisher verstanden habe, hast du keine eigenen Server.
            Du kanst also höchstens deinen Provider fragen, welche Möglichkeiten er für die serverseitige XML-Verarbeitung bietet und wenn er keine hat, ob er dir solche software installieren würde.

            Grüße
            Thomas

            1. Hi,

              Die Seite http://www.xmlsoftware.com ist auch wieder online (es hat bloß eine 2 tägigen Ausfall gegeben)

              Jo, schau' ich mir mal an.

              Der MSXML selbst ist an sich kostenlos.

              Prima, dann probier' ich den doch gleich aus! :-)

              Ob es deine Aufgabe ist? Diese Frage stellt sich wohl kaum, wenn du nicht der Serverwervalter bist.

              Okay..

              Bitte gnade!! ;-)  *säuftz*

              Tut mir leid! Ich habe Dich aber vorgewarnt - das Thema lautet unmissverständlich   A n f ä n g e r   -   F r a g e :   ..
              ;-) Bin Dir aber trotzdem dankbar, dass Du Dich darauf eingelassen hast. Ich suche auch jeden Tag im Internet nach einer passenden Antwort, habe bis jetzt noch keine einzige Internetseite gefunden, die mir das erklären kann. Entweder wird nur gesagt, dass es geht, oder so unverständlich, dass es genausowenig zu gebrauchen ist. Das Forum hier war meine letzte Hoffnung.. Und zum Glück gibt es ja so nette Leute wie Dich, die gerne alles zweimal erklären! :-)

              Es kommt im Grunde nicht darauf an welchen Webserver du verwendets, sondern darauf ob du am Recher auf dem der Server läuft, bei bedarf Software installieren kannst oder nicht. Wenn das nicht der Fall ist, brauchst du dir wirklich nicht den Kopf darüber zu zerbrechen, welche Software (Parser) für dich am besten geeignet ist.

              Ja, das habe ich gesucht! Damit kann ich was anfangen..

              So wie ich dich bisher verstanden habe, hast du keine eigenen Server.

              Nein.. nicht wirklich. Konnte man das etwa aus meinen Formulierungen vermuten!? War nicht beabsichtigt..

              Du kanst also höchstens deinen Provider fragen, welche Möglichkeiten er für die serverseitige XML-Verarbeitung bietet und wenn er keine hat, ob er dir solche software installieren würde.

              Genau das werde ich machen! Vielen Dank für deine zahlreichen Antworten :-), aber ich denke, so langsam ist auch Deine Geduld zu Ende - nerv' ich meinen Provider weiter *big grin*.

              Bye,
              Christoph.

              1. Hallo Christoph,

                Der MSXML selbst ist an sich kostenlos.

                Prima, dann probier' ich den doch gleich aus! :-)

                Wenn du einen IE6-er hast, hast du auch den MSXML, zumindest bei dir Lokal für deinen Browser, so kann dir der IE die Transformation durchführen, aber eben nur in dem Browser undn nicht auf dem Server.

                Tut mir leid! Ich habe Dich aber vorgewarnt - das Thema lautet unmissverständlich   A n f ä n g e r   -   F r a g e :   ..

                Schon ok. ;-)

                So wie ich dich bisher verstanden habe, hast du keine eigenen Server.

                Nein.. nicht wirklich. Konnte man das etwa aus meinen Formulierungen vermuten!? War nicht beabsichtigt..

                Ja, das konnte man schon heruaslesen. ;-)
                Wenn du lange genug hier im Forum bist, entwickelst ein gewisses Gespür für Hellsehen, quasi.

                Genau das werde ich machen! Vielen Dank für deine zahlreichen Antworten :-), aber ich denke, [...] nerv' ich meinen Provider weiter *big grin*.

                Gerne und viel Erfolg

                Grüße
                Thomas

        3. Danke, Thomas!

          Tolle Seite, die Du da empfohlen hast!