Warum hat sich XML so durchgesetzt?

  • Hallo!

    Man schaue sich einmal XML an und es fallen einem gleich einige Sachen auf:
    -Redumdanz: Eigentlich wäre es scheiß egal, ob es "<mytag> </mytag>", "<mytag> </blabla>" oder nur "<mytag> </>" heißt
    -Unterscheidung Attribut/Kindelement sorgt für unklare Baumstruktur
    -Wäre XML wenigstens eine reguläre Sprache mit Redumdanz, aber nein: Das Parsen wird verkompliziert
    -Redumdanz zwischen öffnenden/schließenden Tags und Einrückung, die meist vorgenommen wird
    -Kodierung geschützter Zeichen (<, >, &, ") ist sehr lang (statt einfachem Escapen lange Code wie &quot;)

    Das klingt alles total scheiße und man könnte sich eine viel einfachere Struktur ausdenken, bloß:
    -W3 hat XML empfohlen
    -Es existieren zu viele Technologien auf XML-Basis wie z.B. XHTML, SVG, ODF, XSLT und XQuery

    Es gibt dann totale Perversionen der XML-Benutzung:
    -In einem Chat-Protokoll (XMPP)
    -Zur Datenserialisierung
    -Als Konfigurationsdatei (absolut lächerlich, da oft gar keine ausgeklügelte Baumstruktur benötigt wird)
    Beides sind Anwendungsfälle, in denen man eigentlich auf eine platzsparende Lösung aus ist.
    Wer sagt, XML sei einfach manuell zu bearbeiten (siehe XHTML), vergleiche bitte einmal ein ODF-Dokument mit einem LaTeX-Dokument und LaTeX ist sicherlich kein sehr konsistentes Format.

    Nur wegen der dummen HTML-Kompatiblität wird der Quatsch überall benutzt.

    Regt mich schon auf, die Folgen der fortschreitenden Verbreitung sind dann eben perverse Sachen auf XML-Basis und mangelnde Performance.

    Möchte jemand etwas dazu sagen?

    Viele liebe Grüße
    The User

  • Allgemein kann ich nicht viel dazu sagen - wir benutzen es in der Arbeit auch.
    XML hat für uns den Vorteil, dass du es z.b. mit Excel verwalten kannst. Dadurch
    hast des ganze gewirre nicht. Die Daten kannste ganz normal eingeben.

    Verarbeitet wird die xml-file dann mit ant...


  • Ich verstehe nicht was du gegen XML hast. Es hat sehr einfache Grudnregeln. Ist einfach zu erlernen und schön konsistent.
    Ich find mabn kanns auch ohne Vorkenntnisse lesen. Ganz anders zum beispiel Latex. Da reg ich mich jedesmal über die Struktur auf. Hätten se mal leiber XML genommen.

    durch das benannte endtag ist es doch viel einfacher zu erfassen, wo das Element endet.

    Warum du die Einrückung als Redundanz empfindest kann ich net nachvollziehen. Ich hasse python wo man durch einrücekn die Hierarchie macht. Einmal falsch eingerückt funktioniert das Programm plötzlich nicht mehr. Außerdem gibts teilweise Probleme mit Leerzeichen und Tabs. Und dann den Fehler zu finden ist echt schiwerig.

    Ich bin voll und ganz von XML überzeugt.

  • Nimmt alles viel zu viel Platz weg.
    XML wird eben auch an Orten verwendet, wo das wichtig ist.
    Es ist schwer zu parsen und erzeugt keine einfache Baumstruktur...

    Vergleich mit .ini oder .desktop-Dateien.

    Für ordentliche Serialisierung schau dir mal JSon oder DBus an. Oder auch die PHP-Serialisierung.

  • Also ich finde im Gegensatz zu XML Dateien, .ini-Dateien viel übersichtlicher, logischer und mit Struktur.
    Aber da gehen die Geschmäcker von verschiedenen Konfigurationssprachen auseinandern, denke ich.

    Aber ich finde XML auch ein bisschen hmm.. naja ein wenig durcheinander, wirr und ich komme ohne gut damit zurecht.

  • Also ich verstehe dich grade nicht, Jonathan.
    Jetzt mal ganz davon abgesehen, dass ich xml sehr mag, gibt es sehr gewichtige Gründe, warum ich froh bin, dass es sich durchsetzt.

    Ganz vorne steht, dass sich xml sehr leicht durchlaufen lässt. Erst damit spielt z.Bsp. Javascript seine Stärken aus!
    Desweiteren ist es super, dass man sich um die validität bei xml keine großen Gedanken machen muss. Es ist super leicht nachzuprüfen, ob z.Bsp. eine damit geschriebene Konfigurationsdatei gültig ist oder nicht.

    Und letztendlich können wir alle nur froh sein, dass sich wenigstens in diesem Feld mal ein Standard durchgesetzt hat. Was für Probleme es vor allem für die Endanwender mit sich bringt, wenn alle ihren eigenen nutzen, sieht jeder Webdeveloper, der es etwas ernster meint ;)

    Von daher halte ich es für müssig, es nun bereits in frage zu stellen, wo es doch gerade erst im Kommen ist.

    Grüße,
    jojo


  • In welchem Feld?

    Du musst ja wohl zugeben, dass es z.B. fürs Chatten eigentlich ungeeignet ist und für Serialisierung das selbe gilt.
    Vektorgraphiken verlangen eigentlich auch etwas anderes als solche Tag-Monster. Das ist ja ganz hübsch, dass man die Dateien einheitlich durchiterieren kann, bloß wird die Iteration selbst nicht besser. (z.B. wegen der Trennung von Kindern und Attributen)

    XML gibt es jetzt eine ganze Weile und es hat sich leider Gottes in vielen Bereichen (ich denke aus Bequemlichkeit der Entwickler) durchgesetzt.

  • Zitat


    XML gibt es jetzt eine ganze Weile und es hat sich leider Gottes in vielen Bereichen (ich denke aus Bequemlichkeit der Entwickler) durchgesetzt.

    Eben nicht aus Bequemlichkeit. Wäre ja ein Widerspruch, wenns doch so umständlich ist ;)

    Nein, sondern da man einen einheitlichen Standard braucht. Und dafür ist es sehr gut geeignet


  • Aus Bequemlichkeit, weil es jede Menge Bibliotheken gibt. Oder aus Bequemlichkeit, weils zu HTML passt. ;)

    Attribute sind vollkommen sinnlos, die Information lässt sich stets über Kinder vermitteln. Die Strukturen würden genauso mit ini oder xdg funktionieren und auch dort hätte man in der Vergangenheit Dinge wie XSLT oder XQuery implementieren können.

    Oder so ganz einfache Sachen à la JSon gehen ja auch:

    Code
    Tag {
      bla {
        hallo du \{ \\;
        unterbla=tschüss
      }
      xyz=abc
    }

    XML:

    Code
    <Tag>
      <bla>
        hallo du &lt; &amp;
        <unterbla>tschüss</unterbla>
      </bla>
      <xyz>abc</xyz>
    </Tag>

    Ich hätte da einen Favoriten...