2011-01-12 10 views
7

XMLには多くの利点があります。それは機械と人間の両方で読み取り可能であり、標準化されたフォーマットを持ち、非常に汎用性があります。任意のバイナリ形式のスキーマ言語を作成する努力はありますか?

また、いくつかの欠点もあります。これは冗長であり、大量のデータを転送する効率的な方法ではありません。

XMLの最も有用な側面の1つがスキーマ言語です。スキーマを使用すると、現代のプログラミング言語でソースコードを生成して、ほとんどの他のファイル形式に付随する手作業コードの煩雑な処理をせずにxml形式を読み取ることができます。

これは私に、任意のバイナリファイル形式のスキーマ言語が存在するかどうかを考えました。もしそうでなければ、それは価値がありますか?

私が不明確な場合に備えて。私は、バイトオフセット、フィールドとレコードの長さ、デリミタなどを定義することを目的とした言語について尋ねています。その仕様に準拠したファイル形式を読み込むコードを生成するために解析することができます。

私はこのような考えを示唆する最初の疑いがあるので、この分野を持っている、または現在この分野を追求しているプロジェクトやワーキンググループを知っていれば、私は感謝しています。

答えて

1

"スキーマ"と "任意"は矛盾しています。バイトオフセット、フィールド長、レコード長、区切り文字などを指定することは、「任意」ではありません。

バイトオフセットはCOBOL以来ずっとありました。 EDIは、これを正確に実行する、よく知られた、試された、真のプロトコルです。

EDIツールであるWebMethodsには、非常に優れたEDIパーサーが組み込まれています。

+0

は、任意の「バイトオフセット、フィールドとレコード長、区切り文字などを指定することはできません 『』。」いいえ、そのような仕様で定義されているファイル形式はです。たぶん "一般目的"は言葉のよりよい選択でした。あなたがX12基準で指定されたEDIを指しているなら、私は少し官僚的なものを探していました。誰でもXMLスキーマを作成して使用することができ、承認のために標準化団体に提出する必要はありません。 –

+0

しかしそれを消費者に伝える必要があります。メタデータを組み込んだとしても、それはいつも明快で分かりやすいというわけではありません。レコードベースのプロトコルを使用するすべての企業は、標準化団体に提出することなく自由に作成できます。彼らは推測する必要がないように消費者に手がかりを与えなければならない。 – duffymo

1

はい、いくつかの人がこれを試みました。

このような試みの1つは、Binary Format Descriptionです。もう1つはData Format Description Languageです。私はどれがどれほど実用的であるかはわかりません。

+1

BinX、バイナリXML記述言語:http://www.edikt.orgもあります。uk/binx/ –

0

要するに、プログラミング言語を「スキーマ言語」と数えない限り。 XMLは、スキーマに関係なく非常に構造化されています。バイナリ形式は絶対に何でもかまいません。基本的に実行時に使用される生データ構造のメモリダンプであった古いMSオフィスフォーマットを考えてみましょう。プログラミング言語を許可すれば、それでパーサを作成したり作成したりできます:-)圧縮バイナリファイルはどうですか?zip、jpeg、WebM?どのようにスキーマ言語がそのような種類のものを包含したいのですか?

+0

宣言型言語を使用して正式に定義するために、いくつかのバイナリ形式が複雑になる可能性があります。いくつかのXMLフォーマットでも同じことが言えます。 –

+2

なぜ私には分かりやすいのですか。ファイルを開いて、それを壊すことなくバイディングできる重要なビットを見ることができます。例えばメタデータ。また、zipは明確なフォーマットです。エディタ "010 Editor"は、ここでOPが探しているものの実装を提供し、zipファイルを解析するものを含むいくつかのサンプルスクリプトが付属しています。 – Jimbo

関連する問題