Peter Thomassen: XML: Was ist das eigentlich?

Hallo ihr,
ich frage mich zur Zeit immer öfter, was XML eigentlich ist. Gut,
ich habe gelesen, dass man damit Daten besser strukturieren kann.
Besser? "Besser" ist ein Komparativ, ein Vergleich also. "Besser"
als was? Als mit Textdateien? Sicher. Aber was spricht gegen SQL-
Datenbanken?

Oder basiert XML auf SQL-Datenbanken? Wozu braucht man dann aber
noch XML, und nimmt nicht einfach, wie gehabt, PHP, Perl oder
sonst etwas?

Weiterhin habe ich gelesen, dass man bei XML seine eigenen Tags
in DTD's definieren und diesen Styles definieren kann. Was hat
man davon? Wieso definiert man nicht einfach Klassen?
Ich habe auch gelesen, dass diese Tagdefinitionen etwas mit der
Strukturierung zu tun haben. Aber - s.o. - wozu ist die denn gut?

Und zu guter Letzt: Wozu muss denn der Browser XML-fähig sein?
Doch nur, um die XML-Daten vom Server zu holen und dann richtig
anzuzeigen. Hat denn dann der Client nicht Zugriff auf die Daten-
bank? Das kann doch fatale Folgen haben!

Oder sehe ich das alles vollständig falsch?

Wäre schön, wenn mir das jemand erklären könnte, oder hieraus ei-
ne schöne Diskussion entstehen würde :)

Danke schonmal,
Peter

  1. Hallo Peter,

    ich frage mich zur Zeit immer öfter, was XML eigentlich ist.

    http://de.selfhtml.org/xml/intro.htm und http://de.selfhtml.org/xml/
    allgemein kennst Du bereits? Da stehen nicht wenige Infos drin und
    wie immer ist natürlich auch http://selfsuche.teamone.de/ sowie
    http://www.google.com/ eine gute Anlaufstelle für Infos ;-)

    Viele Grüße,
    Stefan

  2. hallo Peter,

    ich frage mich zur Zeit immer öfter, was XML eigentlich ist. Gut,
    ich habe gelesen, dass man damit Daten besser strukturieren kann.

    Schön, daß du das gelesen hast ... aber so wie dein posting weitewrgeht, hast du es offenbar _nicht_ in SELFHTML gelesen. Schau mal hier rein: http://selfhtml.teamone.de/xml/index.htm  -  damit dürften sich deine Nachfragen größtenteils erledigt haben.

    Christoph S.

  3. use Mosche;

    ich frage mich zur Zeit immer öfter, was XML eigentlich ist. Gut,
    ich habe gelesen, dass man damit Daten besser strukturieren kann.
    Besser? "Besser" ist ein Komparativ, ein Vergleich also. "Besser"
    als was? Als mit Textdateien? Sicher. Aber was spricht gegen SQL-
    Datenbanken?

    Mit XML kannst du Strukturen selbsterklärend abspeichern. In Datenbanken kannst du Strukturen abspeichern, du kannst aber nicht ihre Logik mitspeichern. Mit XML kannst du viel mehr machen als nur mit DBs.

    Oder basiert XML auf SQL-Datenbanken? Wozu braucht man dann aber
    noch XML, und nimmt nicht einfach, wie gehabt, PHP, Perl oder
    sonst etwas?

    Wozu brauche ich Kernel 2.6 wenn ich den 2.4er habe? Es ist vor allem etwas neues - ein neues Konzept, Strukturen und Logik abzuspeichern.

    Weiterhin habe ich gelesen, dass man bei XML seine eigenen Tags
    in DTD's definieren und diesen Styles definieren kann. Was hat
    man davon? Wieso definiert man nicht einfach Klassen?
    Ich habe auch gelesen, dass diese Tagdefinitionen etwas mit der
    Strukturierung zu tun haben. Aber - s.o. - wozu ist die denn gut?

    Um es einfach zu machen - mit XML kannst du sowas wie Klassen implementieren (natürlich noch viel mehr). Diese "Klassen" werden aber in einfachen Textdateien gespeichert - das ist bei Klassen anderer Programmiersprachen nicht der Fall (bzw. kommt auf die Implementierungslogik drauf an).

    Und zu guter Letzt: Wozu muss denn der Browser XML-fähig sein?
    Doch nur, um die XML-Daten vom Server zu holen und dann richtig
    anzuzeigen. Hat denn dann der Client nicht Zugriff auf die Daten-
    bank? Das kann doch fatale Folgen haben!

    Wozu muss ein Browser HTML können? Um die darin enthaltenen Daten anzuzeigen. In XML sind Daten vorhanden => diese sollen angezeigt werden.

    Oder sehe ich das alles vollständig falsch?

    Informiere dich doch zum Beispiel im entsprechenden SelfHTML Kapitel oder kauf dir ein entsprechendes Buch.

    use Tschoe qw(Matti);

  4. Hi,
    danke für eure Antworten. Werde mich dann morgen mal schlau machen
    gehen. Wie ihr gemerkt habt ... ich hab überhaupt keine Ahnung von
    XML :)

    Bye,
    Peter

    1. Hallo Peter,

      Wie ihr gemerkt habt ... ich hab überhaupt keine Ahnung von XML :)

      Ach ja? Und was sagt uns der Quelltext der Webseite, die du angegeben hast (assistance4all.de):

      <?xml version="1.0" encoding="ISO-8859-15"?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
      <head>
      usw.

      Oder hast du alles schnell umgestellt <g>?

      Viele Grüße,

      <-- Martin />

      1. Hi,

        <?xml version="1.0" encoding="ISO-8859-15"?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
        <head>
        usw.

        XML != XHTML. Warum die XML-Deklaration drin ist, weiß ich eigent-
        lich auch nicht so genau.

        Bye,
        Peter

        1. Hallo Peter,

          XML != XHTML. Warum die XML-Deklaration drin ist, weiß ich eigent-
          lich auch nicht so genau.

          Ganz einfach: weil XHTML die Neuformulierung von HTML mit der Hilfe von XML ist. XHTML ist eine mögliche Sprache, die mit XM: formuliert werden kann.

          <img src="/images/08.gif" width=213 height=100 border=0 alt="Schau mal unter folgenden Links nach:">

          http://selfhtml.teamone.de/html/xhtml/unterschiede.htm#allgemeines

          Viele Grüße,

          <-- Martin />

          1. hallo Martin,

            Ganz einfach: weil XHTML die Neuformulierung von HTML mit der Hilfe von XML ist. XHTML ist eine mögliche Sprache, die mit XM: formuliert werden kann.

            das ist sicher nett gemeint, aber weder treffend noch ganz richtig so.

            xhtml ist die neuformatierung von html als xml anwendung[smöglichkeit].
            d.h. xhtml  formuliert html so um, dass sie a) bestimmten regeln von xml entspricht (xhtml ist also xml basierend)   b) dass sie mit/in xml-basierenden programmen eingesetzt werden kann.
            html wird nicht mit hilfe von xml umformuliert und xhtml ist keine mögliche sprache, sondern konkret eine xml gerechte umformulierung der 3 html dtd's.

            grüße
            thomas

            ps: http://www.w3.org/TR/2001/WD-xhtml1-20011004/#xhtml

  5. hallo,

    Aber was spricht gegen SQL-Datenbanken?

    http://forum.de.selfhtml.org/archiv/2002/2/5782/
    dort ging in einem teil des threads xml v. db

    Weiterhin habe ich gelesen, dass man bei XML seine eigenen Tags
    in DTD's definieren und diesen Styles definieren kann.

    ja das ist durchaus möglich.

    Was hat man davon?

    eigene Tags? ;-)
    es geht weniger um die eigene tags als um die eigene struktur, die man sich mit xml selbst und nach den eingenen bedürfnissen definieren kann. das es dann eigene tags gibt ist eine absolute nebensache.

    Wieso definiert man nicht einfach Klassen?

    weil xml (wie html) eine klartextsprache und keine programmiersprache ist.

    Ich habe auch gelesen, dass diese Tagdefinitionen etwas mit der
    Strukturierung zu tun haben. Aber - s.o. - wozu ist die denn gut?

    keine ahnung wozu strukturen gut sein sollten. was glaubst du braucht irgend einer sowas wie struktrur? würdest du für irgendwas eine struktur brauchen? warum?
    wie schon oben gesagt, die definition von eigneen tags ist nebensache und dient lediglich (hoffentlich) dem besseren verständniss der struktur.

    d.h. ich kann sowohl
    <div>
     <p>Thomas J.</p>
     <p>S.</p>
    </div>

    als auch

    <ddibwrbieb>
     <eibemkkkk>Thomas J.</eibemkkkk>
     <gduhgiie>S.</gduhgiie>
    </ddibwrbieb>

    schreiben, aber

    <autor>
     <vorname>Thomas J.</vorname>
     <nachname>S.</nachname>
    </autor>

    wird wohl ziemlich vieles aussagen.

    Und zu guter Letzt: Wozu muss denn der Browser XML-fähig sein?

    er muss es nicht. er kann, er darf.

    Doch nur, um die XML-Daten vom Server zu holen und dann richtig
    anzuzeigen. Hat denn dann der Client nicht Zugriff auf die Daten-
    bank? Das kann doch fatale Folgen haben!

    sehr vereinfacht:  entweder du hast eine db oder du hast deine xml dateien.

    grüße
    thomas