Jens : Tabelle mit XML?

Hallo Leute!
Ich versuche mich gerade in die Thematik von XML einzuarbeiten.
Als Ziel steht bei mir im Vordergrund, eine Art Bestellschein der mit Daten aus einer Datenbank gefüllt wird. Dieser Bestellschein hat eine Art Tabellen Form! Nun ist meine Frage, wie bekomme ich die Tabelle hin ? Muß ich die in der XML Datei erzeugen oder in der XSL machen? Brauche ich den Überhaupt XML dafür?
Mir ist diese ganze Sache noch schleierhaft, welchen Vorteil das mir bringen soll!
Ich möchte nun erst einmal dieses Grundgerüst für den Schein fertig stellen, um die Füllung kümmere ich mich dann danach!
Also wer weiß Rat?
Ich bin echt totaler Neuling auf diesem Gebiet
Danke
Jens

  1. Hallo Jens

    Ich versuche mich gerade in die Thematik von XML einzuarbeiten.
    Als Ziel steht bei mir im Vordergrund, eine Art Bestellschein der mit Daten aus einer Datenbank gefüllt wird. Dieser Bestellschein hat eine Art Tabellen Form! Nun ist meine Frage, wie bekomme ich die Tabelle hin ? Muß ich die in der XML Datei erzeugen oder in der XSL machen? Brauche ich den Überhaupt XML dafür?

    XML dient der Datenhaltung, mit XSLT kannst du dann deine XML-Daten in HTML transformieren, und für die Darstellung (Tabelle) sorgen.

    Mir ist diese ganze Sache noch schleierhaft, welchen Vorteil das mir bringen soll!

    Der Vorteil liegt in der Trennung der Dartsellung vom Inhalt (Daten). So kannst du Deine Daten ändern und ergänzen und auf verschiedene Weisen darstellen, z.B. HTML, WML, VoiceXML usw.

    Ich bin echt totaler Neuling auf diesem Gebiet

    Dann würde ich Dir raten zunächst ein wenig zu lesen über XML. Nach meiner Erfahrung ist das alles halb so wild, wenn Du erstmal den Sinn und die Konzepte die dahinter stehen verstanden hast.

    Hier findest du einiges
    http://selfhtml.teamone.de/xml/index.htm
    und hier einige weiterführende Links:
    http://aktuell.de.selfhtml.org/links/xml.htm

    Viel Spaß mit XML
    Franz

    1. Ok so langsam habe ich das mit der Trennung kappiert.
      Ich versuche das mal zu beschreiben.
      Also meiner Ansicht nach gibt es erst einmal 3 Typen von Dateien:

      1. Die eigentliche XML Datei
      2. Die dazugehörige DTD
      3. Die XSL Datei, die nachher die daten aus der XML Datei darstellt.

      So in meinem XML Büchern ist aber oftmals von verschiedenen Arten eine DTD zu Bschreiben die Rede. Das eine Buch macht es mit folgenden Befehlen <!Element Schuhe ..blblbl> und das andere wiederum mit <!element Type id="products">

      Was ist denn nun richtig, sind das zwei verschiedene Standards?

      Weiter im Text.
      In meiner eigentlichen XML Datei sind die beiden anderen (DTD,XSL) eingebunden. Nun besteht 2 Möglichkeiten die XML in einem Browser darzustellen.

      1. Ich besitze einen XML fähigen Browser und das klappt alles normal

      2. Auf Server seite lasse ich eine Praser drüberlaufen der mir dann das HTML mit http schickt!

      Richtig?

      Nun da nicht alle Browser mit dem XSL Datein umgehen können und um Transport zu spraren nimmt man besser die Variante 2, oder?
      Habe ich das soweit richtig verstanden?

      Nun wenn ich also die Daten in einer Art Tabelle darstellen lassen will, dann definiere ich das in der XSL Datei, aber wie nehme ich dafür die Normal HTML gebräuchlichen Tags wie <Table> und <TR>? Oder wie realisere ich das?
      Alles andere erscheint mir ganz schön schwierig!

      Helft mir bitte weiter XML besser zu verstehen!!!
      MFG
      Jens

      1. Hallo,

        1. Die eigentliche XML Datei
        2. Die dazugehörige DTD

        wobei Du die DTD nur brauchst, wenn du die Gültigkeit Deiner Dokumente checken willst, also z.B. überprüfen willst, ob dein <name>-Element immer auch ein <vorname> und <nachname>-Element enthält.

        1. Die XSL Datei, die nachher die daten aus der XML Datei darstellt.

        So in meinem XML Büchern ist aber oftmals von verschiedenen Arten eine DTD zu Bschreiben die Rede. Das eine Buch macht es mit folgenden Befehlen <!Element Schuhe ..blblbl> und das andere wiederum mit <!element Type id="products">

        Ne, ne da gibts nur eine richtige Art: Wie du Elemente und Attribute deklarierst steht hier genau:
        http://selfhtml.teamone.de/xml/dtd/index.htm

        Was ist denn nun richtig, sind das zwei verschiedene Standards?

        nein, es gibt nur eine richtige Variante

        Weiter im Text.
        In meiner eigentlichen XML Datei sind die beiden anderen (DTD,XSL) eingebunden. Nun besteht 2 Möglichkeiten die XML in einem Browser darzustellen.

        1. Ich besitze einen XML fähigen Browser und das klappt alles normal
        1. Auf Server seite lasse ich eine Praser drüberlaufen der mir dann das HTML mit http schickt!

        Richtig?

        Der Parser ist ein XSLT-Prozessor, der mittels eines Parsers die XML-Datei einliest und in HTML transformiert.

        Nun benötigst entweder ein Programm auf dem Server, dass dir
        den XSLT-Prozesser anwirft und das ausgespuckte HTMl ausliefert. Oder du erzeugst HTML-Dateien, die du dann auf den WebServer legst.

        Nun da nicht alle Browser mit dem XSL Datein umgehen können und um Transport zu spraren nimmt man besser die Variante 2, oder?
        Habe ich das soweit richtig verstanden?

        Ja, Variante 2 ist die einzig praktikable im Internet (Intranet ist nochmal was anderes)

        Nun wenn ich also die Daten in einer Art Tabelle darstellen lassen will, dann definiere ich das in der XSL Datei, aber wie nehme ich dafür die Normal HTML gebräuchlichen Tags wie <Table> und <TR>? Oder wie realisere ich das?

        Ja, du TRANSFORMIERST XML in HTML und beschreibst in Deinem XSLT-Stylesheet, wie Dein Ergebnisdokument aussehen soll (mit HTML-Tags). Beispiele dazu findest du hier:
        http://selfhtml.teamone.de/xml/darstellung/xsltbeispiele.htm

        Gruß
        Franz

  2. Hallo Jens

    Als Ziel steht bei mir im Vordergrund, eine Art Bestellschein der mit Daten aus einer Datenbank gefüllt wird. Dieser Bestellschein hat eine Art Tabellen Form! Nun ist meine Frage, wie bekomme ich die Tabelle hin ? Muß ich die in der XML Datei erzeugen oder in der XSL machen? Brauche ich den Überhaupt XML dafür?

    In XML selber musst du (ich weiss ja nicht, wie du da arbeitest, ob du eine eigene DTD hast usw.) die Daten so notieren, dass sich daraus die tabellarischen Strukturen rekonstruieren lassen. Im Prinzip also etwas Vergleichbares, wie in HTML mit den Elementen table, tr, th und td geloest ist. Wie eine solche Tabelle dann darzustellen ist, bestimmst du nicht in XML. Erst bei der Formatierung der XML-Daten mit CSS oder XSL oder bei der Uebersetzung der XML-Daten in eine andere, ausgabegerechte Sprache wie HTML legst du fest, wie aus den "logisch als Tabelle interpretierbaren Daten" tatsaechlich eine Tabelle wird. In CSS hat man da beispielsweise ziemlich rumdoktorn muessen und die vielen Extra-Angaben der display-Eigenschaft erfunden: siehe http://selfhtml.teamone.de/css/eigenschaften/positionierung.htm#display. In XSLT kannst du die XML-Daten mittels geeigneter Templates in HTML-Tabellenelemente uebersetzen - Beispiel siehe http://selfhtml.teamone.de/xml/darstellung/xsltbeispiele.htm#glossarbeispiel.

    Das alles gilt natuerlich nur, wenn du bereits XML hast. Wenn du lediglich ein CGI-Script oder etwas Derartiges hast, das "tabellarische Daten" aus einer Datenbankabfrage erhalten hat, und diese Daten sollen an den Browser gesendet werden, dann kannst du aus den Daten auch direkt HTML machen.
    Um dazu Naeheres sagen zu koennen, sind deine Angaben jedoch zu allgemein.

    Vielleicht fragst du mal nicht gleich nach dem "wie", sondern schilderst einfach mal genauer, "was" exakt passieren soll, welche Daten du in welcher Form hast usw.

    viele Gruesse
      Stefan Muenz

  3. Welche Nützlichen Programme könnt ihr mir denn empfehlen?
    Ich habe da was von DTD Werkzeugen gelesen, damit soll das alles noch einfache von der Hand gehen!!!!
    Welchen Parser könnt ihr für gut heißen?´
    Danke

    Jens

    1. Hallo,

      Welche Nützlichen Programme könnt ihr mir denn empfehlen?

      Um XML und XSLT-Dateien zu erstellen reicht ein Texteditor.
      Es gibt auch (teure und weniger teure) Entwicklungsumgebungen, die Dir ein wenig Tipparbeit abnehmen.

      Ich habe da was von DTD Werkzeugen gelesen, damit soll das alles noch einfache von der Hand gehen!!!!

      was?
      Auch DTD musst du letztlich selbst erstellen.

      Welchen Parser könnt ihr für gut heißen?

      Xerces, msxml und viele andere

      Hier findest du alles zu XML-Software:
      http://www.xmlsoftware.com

      Gruß
      Franz