Dmitri Rettig: Was kann XML, was HTML nicht kann?

Hallo,

Gerade bin ich am Studieren von SELFHTML 8.0, ist relativ schwer durchzublicken, was nun neu ist...

Nun bin ich bei XML angelangt, und kann immer noch nicht verstehen, wozu XML gut sein soll. Mit HTML lässt sich doch so ziemlich alles gestalten. Und wer benutzt schon eine Fremde DTD?

Entweder ich habe wirklich zu viel übersprungen, oder XML ist einfach nur für den Normaluser (!) sinnlos.

MfG Dmitri Rettig

  1. Hi,

    Nun bin ich bei XML angelangt, und kann immer noch nicht verstehen, wozu XML gut sein soll. Mit HTML lässt sich doch so ziemlich alles gestalten.

    eigentlich nicht, weil HTML keine Layoutsprache ist. XML natürlich auch nicht. Und genau das ist Dein Problem: Du suchst in der Seitengestaltung, aber da gehört es nicht hin. Es kann nur _auch_ dafür verwendet werden.

    HTML als Konfigurationsdatenspeicher zu verwenden wäre beispielsweise ein wenig extravagant. XML ist dafür perfekt.

    Siehe übrigens auch <?m=2760&t=468>.

    Und wer benutzt schon eine Fremde DTD?

    Der, der sie gebrauchen kann.

    Entweder ich habe wirklich zu viel übersprungen, oder XML ist einfach nur für den Normaluser (!) sinnlos.

    Wenn Du "Normaluser" als "Homepagebastler" definierst, stimme ich Dir zu. Es gibt aber auch "höhere" Seitenerstellung - z.B. HTML und WML (WAP) durch das gleiche XML - und eine Welt außerhalb des Browsers.

    Cheatah

    1. Moin

      Es gibt aber auch [...] eine Welt außerhalb des Browsers.

      Uff.

      Echt?

      Swen, total verunsichert

  2. Hi!

    Nun bin ich bei XML angelangt, und kann immer noch nicht verstehen, wozu XML gut sein soll. Mit HTML lässt sich doch so ziemlich alles gestalten. Und wer benutzt schon eine Fremde DTD?

    HTML mit XML zu vergleichen ist ungefaehr so sinnvoll wie zu sagen, "Ich komme doch mit meinem Auto ueberall hin, wozu soll denn jetzt ein Kuehlschrank gut sein?" Das sind einfach zwei voellig verschiedene Dinge. XML ist *nicht* zum (direkten) Webseitenbasteln da. Mit XML werden in erster Linie Daten strukturiert abgelegt, aehnlich wie in einer Datenbank. Aus dieser Datenanhaeufung wird dann *manchmal* (wenn die Daten dazu bestimmt sind) eine Darstellung in irgendeiner Form generiert. Was das fuer eine Darstellung ist, also ob sie in HTML, PostScript oder sonstwas gemeisselt ist, ist dabei voellig egal.

    Schau mal auf http://www.heise.de/newsticker/. In der Mitte siehst Du die Ueberschriften von verschiedenen Meldungen. Drumherum siehst Du Designelemente, Werbung und andere Dinge, die keine Information beinhalten, die in Bezug zu den News in der Mitte stehen. Die pure Information steht also in der Mitte, genau das ist es, was man in einer XML-Datei (oder auch einer Datenbank) speichern wuerde. Der Rest wird als Teil des Designs dann automatisch dazugeneriert, bevor die daraus entstehende Seite zu Dir uebertragen wird.

    (Allerdings gibt es auch die Moeglichkeit, das erstmal die XML-Daten zum Browser uebertragen werden und separat noch Anweisungen fuer Layout und Design, und der Browser setzt das dann zusammen und zeigt eine Seite an.)

    Entweder ich habe wirklich zu viel übersprungen, oder XML ist einfach nur für den Normaluser (!) sinnlos.

    http://selfhtml.teamone.de/xml/intro.htm war aber dabei?

    So long

    1. Joho,

      HTML mit XML zu vergleichen ist ungefaehr so sinnvoll wie zu sagen, "Ich
      komme doch mit meinem Auto ueberall hin, wozu soll denn jetzt ein
      Kuehlschrank gut sein?" Das sind einfach zwei voellig verschiedene Dinge.

      Das in Anbetracht der Tatsache, dass HTML eine Teilmenge von XML ist, zu sagen,
      halte ich fuer etwas gewagt ;-)

      XML ist *nicht* zum (direkten) Webseitenbasteln da. Mit XML werden in
      erster Linie Daten strukturiert abgelegt, aehnlich wie in einer Datenbank.
      Aus dieser Datenanhaeufung wird dann *manchmal* (wenn die Daten dazu
      bestimmt sind) eine Darstellung in irgendeiner Form generiert. Was das
      fuer eine Darstellung ist, also ob sie in HTML, PostScript oder sonstwas
      gemeisselt ist, ist dabei voellig egal.

      Das ist so nicht ganz richtig. Es kommt ganz auf die Verwendungsart an. Es
      stimmt, XML laesst sich gut dazu benutzen, aber auch gut um Inhalte
      aufzubereiten. Siehe HTML.

      Gruss,
       CK

      --
      s s^s<DATA>se;s (([^\s]))(ord($1)%2?
      chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
      __END__
      uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>

      1. Jo auch!

        Das in Anbetracht der Tatsache, dass HTML eine Teilmenge von XML ist, zu sagen,
        halte ich fuer etwas gewagt ;-)

        Na, dann muessen wir's auch *ganz* genau machen. Du meinst XHTML, nicht HTML. (Wie Du auf http://www.w3.org/TR/xhtml1/ siehst, ist die eigentliche HTML-Spec nach wie vor die 4.01er.) Und XHTML ist keine Teilmenge von XML, sondern in XML definiert (man spricht von einer "XML application"). Das bisherige HTML ist in SGML definiert ("SGML application") und auch keine Teilmenge davon.

        Und was die Anwendungsgebiete angeht bleibe ich trotzdem bei voellig verschiedene Dinge. Zwar kann man alles missbrauchen, aber geeignet ist HTML zur Datenspeicherung nicht. Ok, insofern hinkt mein Vergleich, denn einen Kuehlschrank kann ich nicht missbrauchen, um damit Einkaufen zu fahren. *g*

        Das ist so nicht ganz richtig. Es kommt ganz auf die Verwendungsart an. Es
        stimmt, XML laesst sich gut dazu benutzen, aber auch gut um Inhalte
        aufzubereiten. Siehe HTML.

        Inhalte aufbereiten? Was meinst Du damit? IMHO ist der wesentliche Punkt, dass Du mit XML nicht ohne weiteres eine anzeigbare Webseite schreiben kannst. Dazu brauchst Du entweder einen Transformer (XSLT), der das in eine andere Sprache uebersetzt, oder im Falle von XHTML eine zusaetzliche Spezifikation, die die Informationen beinhaltet, wie z.B. ein <P>-Element zu behandeln ist. Oder Du hast halt nen einfachen XML-Viewer wie den IE5, der Dir lediglich die Struktur der Daten anzeigen kann (als Tree).

        Was meinst Du dazu?

        1. Joho,

          »» Das in Anbetracht der Tatsache, dass HTML eine Teilmenge von XML ist, zu sagen,
          »» halte ich fuer etwas gewagt ;-)

          Na, dann muessen wir's auch *ganz* genau machen. Du meinst XHTML, nicht
          HTML. (Wie Du auf http://www.w3.org/TR/xhtml1/ siehst, ist die eigentliche
          HTML-Spec nach wie vor die 4.01er.) Und XHTML ist keine Teilmenge von XML,
          sondern in XML definiert (man spricht von einer "XML application").

          Das sehe ich nicht so. IMHO ist HTML gleichzusetzen mit XML - es ist ja
          schliesslich mit XML definiert. Klar, es gehoert noch mehr dazu als die
          blosse DTD, aber das habe ich ja nie bestritten. Trotz allem ist HTML
          eine Untermenge von XML (daher kann es ja auch in XML definiert werden).

          Das bisherige HTML ist in SGML definiert ("SGML application") und auch
          keine Teilmenge davon.

          Weshalb hat dann HTML eine DTD? ;-)

          Und was die Anwendungsgebiete angeht bleibe ich trotzdem bei voellig
          verschiedene Dinge. Zwar kann man alles missbrauchen, aber geeignet ist
          HTML zur Datenspeicherung nicht. Ok, insofern hinkt mein Vergleich, denn
          einen Kuehlschrank kann ich nicht missbrauchen, um damit Einkaufen zu
          fahren. *g*

          Da hast du Recht. Das habe ich ja auch geschrieben.

          »» Das ist so nicht ganz richtig. Es kommt ganz auf die Verwendungsart an. Es
          »» stimmt, XML laesst sich gut dazu benutzen, aber auch gut um Inhalte
          »» aufzubereiten. Siehe HTML.

          Inhalte aufbereiten? Was meinst Du damit? IMHO ist der wesentliche Punkt,
          dass Du mit XML nicht ohne weiteres eine anzeigbare Webseite schreiben
          kannst.

          Doch. Siehe HTML ;-)

          Dazu brauchst Du entweder einen Transformer (XSLT), der das in eine andere
          Sprache uebersetzt, oder im Falle von XHTML eine zusaetzliche
          Spezifikation, die die Informationen beinhaltet, wie z.B. ein <P>-Element
          zu behandeln ist.

          Das habe ich nie bestritten. Im Gegenteil ;-)

          Was meinst Du dazu?

          S.o. ;-)

          Gruss,
           CK

          --
          s s^s<DATA>se;s (([^\s]))(ord($1)%2?
          chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
          __END__
          uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>

          1. Re!

            Das sehe ich nicht so. IMHO ist HTML gleichzusetzen mit XML - es ist ja
            schliesslich mit XML definiert.

            XML ist aber nicht mit XML definiert. ;-) XML bietet ja erst das Regelwerk, um sowas wie XHTML zu definieren. Oder besser gesagt, XML *ist* das Regelwerk, es legt bestimmte Syntaxrahmenregeln fest, die alle XML-Anwendungen gemeinsam haben. Ich glaube, ich habe mal den Begriff Metasprache fuer sowas gehoert. HTML dagegen legt Regeln fuer Hypertextdokumente fest, definiert konkrete Elemente (im Gegensatz zu XML), legt moegliche und nicht moegliche Verschachtelungen dieser Elemente fest (macht XML auch nicht).

            Klar, es gehoert noch mehr dazu als die
            blosse DTD, aber das habe ich ja nie bestritten. Trotz allem ist HTML
            eine Untermenge von XML (daher kann es ja auch in XML definiert werden).

            Nein. Eine Untermenge bzw. Teilmenge ist etwas anderes. XML ist (fast) eine Teilmenge von SGML, weil es manche Teile der dortigen Syntaxrahmenregeln uebernimmt. (IIRC definiert es auch einige zu SGML inkompatible, weshalb es dann doch keine richtige Teilmenge ist, aber wir koennen uns den Idealfall denken.) HTML ist eine *Anwendung* der Rahmenregeln von SGML, XHTML eine *Anwendung* von XML, beide Male sind es aber keine Teilmengen. Waeren es Teilmengen, wuerden sie sich ebenfalls auf das Festlegen einer Syntax beschraenken. Das tun sie aber nicht, vielmehr definieren sie konkrete Elemente und deren Bedeutung.

            Das bisherige HTML ist in SGML definiert ("SGML application") und auch
            keine Teilmenge davon.
            Weshalb hat dann HTML eine DTD? ;-)

            Warum hat denn XML eine?

            Inhalte aufbereiten? Was meinst Du damit? IMHO ist der wesentliche Punkt,
            dass Du mit XML nicht ohne weiteres eine anzeigbare Webseite schreiben
            kannst.
            Doch. Siehe HTML ;-)

            Aber da brauchst Du die zusaetzlichen fetslegungen, die HTML aufstellt. Gaebe es kein HTML, wuerdest Du das mit XML nicht gebacken kriegen.

            [sinngemaess daselbe]
            Das habe ich nie bestritten. Im Gegenteil ;-)

            Ich finde schon, dass Du das tust. ;-)

            s s^s<DATA>se;s (([^\s]))(ord($1)%2?
            chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
            __END__
            uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>

            Ich muss mir auch mal sowas ausdenken. *g*

            So long

          2. hallo Christian,

            Das sehe ich nicht so. IMHO ist HTML gleichzusetzen mit XML - es ist ja schliesslich mit XML definiert.

            Sorry, aber vielleicht wäre es jetzt an der zeit paar einführungen zum them zu lesen.

            html ist definitiv nicht xml und schon gar nicht in xml definiert.
            (mal ganz banal: seit wann gibt es html und seit wann xml?)
            aber das ist eigenltich 2. rangig.

            html basiert auf sgml (aber html ist kein echte teilmenge von sgml!)
            zu html steht:
            http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.1

            xml ist eine echte teilmenge von sgml;
            wobei sgml sogar wegen xml geändert wurde. es gibt aber unterschiede:
            http://www.w3.org/TR/NOTE-sgml-xml-971215

            aus der xml spez:
            "Definition: A data object is an XML document if it is well-formed, as defined in this specification. A well-formed XML document may in addition be valid if it meets certain further constraints"

            html dokuments müssen nicht well formed sein im sinne von xml.
            more links:
            http://www.w3.org/TR/xhtml1/#html4
            http://www.w3.org/TR/xhtml1/#xhtml

            Weshalb hat dann HTML eine DTD? ;-)

            http://www.w3.org/TR/html4/conform.html#h-4.2 der erste satz, dann http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.1 punkt 2.

            Doch. Siehe HTML ;-)

            nö. html ist kein xml.

            grüße
            thomas

            --
             W§$&V U=Z$`)Q§&)ZÀ346tz08A§Ö)Q&Q§%&)/ A%()A()? A?§$)(/&Q)(AZHIVGJD