Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.164 Beiträge
 
Delphi 12 Athens
 
#4

AW: Vorteile/Nachteile von XML

  Alt 18. Jan 2011, 19:58
Es ist nicht so, daß die Parser damit nicht klar kommen, wenn ein Tag nicht geschlossen wird.
Vielmehr ist es so, daß es laut XML-Spezifikation verboten ist, daß es offene Tags gibt und es ist vorgeschrieben, daß ein Parser in soeinem Fall einen Fehler auslösen soll.

Selbst mein Parser wirft in soeinem Fall eine Exception, obwohl man dieses auch geziehlt deaktivieren kann ... z.B. kann, in Bezug auf eine teilweise Kompatibilität zum HTML, das <br>-Tag als offen deklariert werden, wobei es dann auch immer offen sein muß.
PS: Seit XHTML ist es auch in HTML vorgeschrieben, daß das <br> als offen markiert sein muß, also <br/> ... als kompatibilität zum XML.

Selbst wenn der Programmierer Mist baut und etwas beim Speichern schief geht oder diese Bearbeitung vorzeitig abgebrochen wurde, dann schließt eine ordentliche XML-Lib immer alle offenen Tags.

Wenn beim Speichern etwas Schwerwiegendes passiert, dann ist es doch egal, ob XML oder was Anderes ... in allen Fällen ist die Datei defekt.
Aber notfalls kann man viele XML-Parser auch so einstellen, daß sie dennoch die XML auslesen und zugänglich machen, bis zum ersten schweren Fehler.

Wozu soll es denn Konventionen geben?
Es ist deine Entscheidung, ob du lieber ein Attribut oder nicht nutzt.
Die Aufteilung der Daten ist nicht vorgeschrieben, sondern nur deren Format.
Grundsätzlich kann man aber sagen, daß bei vielen und/oder großen Daten-Einheiten lieber auf SubNodes, anstatt auf Attribute gesetzt werden sollte.



Auch wenn die Vorteile schon mehrfach/ständig genannt wurden.
Vorteile:
- es ist ein genormtes und weit verbreitetes Datenformat
- automatische Speicherverwaltung (der Programmierer muß sich um nix kümmern)
- viele Umgebungen (Delphi, PHP, JS, ...) haben schon passende DOM-Parser integriert, welche natürlich alle Kompatibel sind
- man kann die Stucktur erweitern/ändern, ohne die Datei extra konvertieren zu müssen und bei einer Erweiterung bleiben oftmals alte Programme weiterhin lauffähig
- die Datei ist vom Menschen lesbar/änderbar, ohne spezielle Anzeigeprogramme

Nachteile:
- die Datei ist oftmals größer, als eine Binärdatei
- die Datei ist ganz leicht vom Menschen lesbar (Grundsätlich erstmal keine Geheimnisse)


@Luckie:
Eine XML-Datei, mit entsprechenden Einrückungen und Zeilenumbrüchen kann sogar besser lesbar sein, als eine INI.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (18. Jan 2011 um 20:08 Uhr)
  Mit Zitat antworten Zitat