数年後、xmlの代わりにyamlが使用されることを読みました。各仕様の相対的な長所と短所を比較してください。
5 に答える
YAMLはそれほど冗長ではありません。信号対雑音比は、すべての括弧がないと高くなります。これにより、多くの人にとって主観的に読みやすく、編集しやすくなります。反対に、解析が少し(ほんの少しだけ)難しくなります。
ただし、最大の違いは、XMLはマークアップ言語であることが意図されており、YAMLは実際にはデータ形式であるということです。単純な階層データの表現はYAMLでより適切に行われる傾向がありますが、実際のマークアップされたテキストは表現するのが面倒です。
編集:参考までに、YAMLは本質的に(歴史的にではありませんが)JSONの「よりクリーンな」バージョン(「JavascriptObject Notation」)であり、後者の知覚されるラインノイズ(括弧と中括弧)を大幅に排除します。特定のプロジェクトに適したYAMLライブラリが見つからない場合は、JSONがより広くサポートされている代替手段であり、YAMLの多くの利点があります。
YAMLはXMLよりも冗長ではありません。ただし、 YAMLはデータ専用であり、技術的にはマークアップ言語ではありません(Y AML A'int M arkupL言語)。
xmlの大きな利点は、検証するオプションです(括弧内の意見)。
- スキマトロン(非常に強力)
- W3C XMLスキーマ(実線)
- DTD(あまり良くない(xmlでもない))
- XSD(最もよく使用されます)
そして、データをクエリするためのオプション:
- XPath(バージョン2.xではさらに優れています)
- XQuery(ほとんど興味がなくなった)
ほとんどの場合、YAMLはおそらく人間にとって最も読みやすいものです。
JSONは非常に読みやすく、JavaScriptがデータを保存する方法です(間違っている場合は訂正してください)。値を解析するために独自のCスタイルのプログラミング言語を作成するときは、JSONを使用するのが本当に好きです。
私が見る主な利点は、人間が読みやすいことです。また、特定のデータ構造(辞書と配列)の概念がすでに組み込まれているため、XMLよりも少し優れています。
反対に、YAMLを解析するためのライブラリサポートはXMLのサポートにほど遠いため、XMLの主な用途の1つを満たすためにYAMLを使用することは困難です。それがアプリケーション間通信です。
YAMLが未来であるとはあまり確信していません。私はそれを使用し、WorksForMe™を使用しましたが、仕様について不満を感じることがよくあります。最新のものは、なぜYAMLが好きではないのかです。