Vor kurzem hat die Forschungsgruppe, an der ich gearbeitet habe, an einigen Simulationscodes gearbeitet.
Für die Codes haben wir die wichtigsten C ++ - Dateien, die den Code enthalten, eine Textdatei, die Eingabeparameter für die Simulation enthält. Die Daten der Simulation zu jedem Zeitschritt werden in Form von spaltenförmigen Daten ausgegeben, wobei jede Spalte, die eine physikalische Größenposition, einen Druck usw. darstellt, und jede Reihe einen Gitterpunkt darstellt.
Mein Chef hat mich nun gebeten, das Datenformat der Eingabeparameter-Datei zu wechseln und Datendateien vom aktuellen Schlüssel-Wert-Schlüssel-Wert-Typ in das XML-Format auszugeben. Er scheint zu sein sehr schlecht bei seinen Erklärungen, da sein Englisch ziemlich nervt. Zweimal hat er über die Überlegenheit über XML geredet, ohne dass ich ein Wort verstanden habe.
Nun, lassen Sie mich sagen, ich bin nur ein durchschnittlicher C / C ++ / Python-Programmierer, der an wissenschaftlichem Rechnen interessiert ist, und ich habe keinen Hintergrund in Computer Engineering-Themen wie Datenbanken oder Web-Entwicklung, in denen XML am häufigsten verwendet wird / p>
Kann mir jemand eine kurze Erklärung dazu geben oder mich auf einige Ressourcen hinweisen, die bieten eine sanfte Erklärung der Konzepte mit einfachen, aber nicht-trivialen Beispielen ohne all das Yoga, Chanten, Weihrauchverbrennung und hässliches technisches Vokabular (das mich immer wieder dazu bringt, endlos zu googeln), dass alle XML-Tutorials gefüllt zu sein scheinen / p>
Wenn jemand einige Beispiele aus der Praxis geben kann, wo und wie das XML-Datenformat verwendet wird? angewandte Mathematik Codes, die wirklich hilfreich sein werden.
Kurz gesagt, XML bietet die Möglichkeit, mit einer Vielzahl von Software interoperabel zu sein, da XML-Daten unter Verwendung der XML-Sprache ausgetauscht werden können.
Beispielsweise können die gleichen Daten in einer HTML-Seite zur Anzeige enthalten sein oder können "wie sie sind" von einer anderen Anwendung gelesen werden, die das Datenschema (XML-Schema) kennt, oder können in jedes Textformat umgewandelt werden XSLT. (d. h. XML zu CSV).
Zusammenfassend kann XML einfacher portiert werden als jedes andere Datenformat.
Natürlich ist dies nicht der einzige Vorteil der Verwendung von XML für Daten: XML kann ein Dokument gegen sein Schema validieren (für die Korrektheit), die Daten können mit einer Deklarationssprache (XPath) abgefragt werden.
Ein Nachteil von XML, für eine Anwendung, die viele Daten benötigt / produziert, ist, dass XML (in jedem binären Datenformat) ausführlich ist: denke darüber nach, wie man ein Bild zum Beispiel in XML speichert ... Das wäre umständlich. .. Natürlich können Sie Binärdaten in das XML-Dokument einfügen (durch Verwendung der base64-Codierung), aber in diesen Fällen (wo die meisten Daten in base64 gespeichert sind) macht es keinen Sinn, XML zu verwenden.
Außerdem ist XML ein sehr flexibles Format. Es ist einfach, Daten zu speichern, deren Struktur variiert, während eine klare, formale Definition dank DTD, XSD oder RelaxNG beibehalten wird.
Zum Beispiel können Sie im Vergleich zu einer Tabelle mögliche leere Zellen eliminieren, die (bei großen Datenmengen) sogar ihre Ausführlichkeit ausgleichen können.
Tabellendaten:
%Vor%XML:
%Vor%Ganz zu schweigen von der Tatsache, dass jede Reihe eine komplexe, individuelle Struktur haben kann. Sie könnten auf diese Weise einen sehr langen Polynomausdruck oder buchstäblich jede andere Funktion beschreiben.
Ich bin sicher, dass viele Anwendungen, die fortgeschrittene Mathematik implementieren, XML verwenden. Ich weiß, dass Mathematica XML-Export ermöglicht. So auch Matlab und R.
Ein weiterer Vorteil der Verwendung von XML ist, dass es sowohl von Maschinen leicht zu parsen als auch von Menschen gut lesbar ist. Sie müssen es nicht dekodieren (wie binär) und Sie können die Struktur der Daten deutlich sehen (im Gegensatz zu CSV oder vielen anderen Formaten).
Seine Popularität und Fülle von Werkzeugen sind auch nicht zu ignorieren.
Die Verwendung von XML maximiert den langfristigen Wert Ihrer Daten, da es in einer Form dargestellt wird, die unabhängig davon ist, wie Sie es verwenden möchten und unabhängig von einer bestimmten Softwareumgebung. Das ist es im Grunde. Wie oft, wenn Sie Software und Daten als langfristiges Asset behandeln, dann müssen Sie möglicherweise ein wenig "over-engineering" machen, um die kurzfristigen Ziele zu erreichen, aber Sie (oder Ihr Chef) nehmen ein kalkuliert, dass sich die Investition auf lange Sicht auszahlt.
Denken Sie an eine Welt, in der jede Software oder Hardware ihr eigenes Format verwendet. Microsoft Word '.doc' Dateien haben eine bestimmte Struktur (um Fonts, Dimensionen, Alignments, etc. zu definieren), die sich von, sagen wir, a'.pdf 'unterscheiden.
Ich könnte unendlich weitergehen und Ihnen sagen, dass einige Formate sich von anderen unterscheiden, aber in ihren Ergebnissen (eine Textdatei, ein Video, ein Bild) wie alle anderen sind. Das Internet ist ziemlich überlastet mit Leuten, die fragen "Wie kann ich diese Datei in diesem Betriebssystem öffnen?" oder "Wie kann ich diese Datei in dieser Anwendung öffnen", z. B. ecc.
Softwarefirmen wollten ihre Software nie wirklich an die bestehenden Standards anpassen, sondern überlassen ihnen diesen Schmerz, indem sie neue Standards schaffen (die oft nicht mit anderen kompatibel sind). ** Es gibt eine Ausnahme: HTML.
Irgendein Browser-Entwickler musste eine Anwendung machen, die um so besser sein sollte, je leichter, desto cooler um was zu tun? Lesen und rendern Sie ein vorhandenes Format: HTML-Seiten.
Sagte, dass Sie erraten können, warum XML ein gutes Format ist zu verwenden;) Im Idealfall sollte alles nur im .txt-Format vorliegen. Jetzt sag mir, könnten Sie eine XML-Datei ohne XML-Editor schreiben (nur mit dem Editor)? Können Sie das gleiche mit einem PDF tun? Oder mit einem Dokument?
Soweit ich weiß, gibt es keine "expliziten Beispiele aus der Praxis, wo und wie das XML-Datenformat in einigen angewandten Mathematik-Codes verwendet wird", aber leider geht es in der Informatik nicht nur um "angewandte Mathematik" sondern auch um etwas kleiner Mist, um den wir uns sorgen müssen, wie Formate.
XML ist nicht für Datenstrukturen oder Schlüssel / Wert-Paare geeignet. Verwenden Sie JSON oder YAML für diese. Auf der anderen Seite ist XML für Dokument Markup geeignet.
Tags und Links xml