Odata atompubフォーマット:アプリケーション/XML対アプリケーション/zip
質問
いくつかのODATAフィードからの応答を見ている間、私はそれらの構造がアプリケーション/XMLまたはアプリケーション/ZIPに設定されている状態に応じて、それらの構造がわずかに異なることを見ました。ここに2つの例があります。
- アプリケーション/zip
<content type="application/zip" /> <m:properties> <d:Id>Simple.Data.Core</d:Id> </m:properties
- アプリケーション/XML
<content type="application/xml"> <m:properties> <d:ProductID m:type="Edm.Int32">1</d:ProductID> </m:properties> </content>
どちらもAtompub(Odataが使用するStanard RSSスキーマ)として送信されますが、コンテンツに「アプリケーション/zip」というタイプがある場合、M:プロパティ要素はコンテンツと同じレベルになり、「Application/XML」の場合、 「コンテンツ」のサブレメントとして提供されます。 odata.orgのodata仕様によると、2番目の形式は正しいです。最初の1つのフォーマットが使用されている(そしてOdataクライアントが理解している)ことを誰かが知っていますか?
前もって感謝します
解決
実際には両方とも正しいです。最初のもの(M:コンテンツ以外のプロパティを使用)は、Atompub仕様に従ってメディアリンクエントリ(MLE)を表します。 MLEのODATA形式については、ここで説明します。 http://www.odata.org/developers/protocols/atom-format#representingmedialinkentries。 2つ目は、通常の非MLEエンティティです。
他のヒント
次の回答を受け取りました Odata Google Group:
エンティティタイプがメディアリンクエントリとしてマークされている場合、つまりメディアに裏付けられている場合、プロパティはAtom:Entry Elementの要素に存在しません。コンテンツ要素は、バッキングメディアをダウンロードする場所を指しています。このようなエンティティのもう1つの例は、Netflixのフィードの「タイトル」コレクションです。http://odata.netflix.com/v2/catalog/titles?$ top = 1以下で言及しているのは、Atomでそのようなエンティティの種類を解析するのに苦労していること、Atom Feedをどのように解析しているのですか?クライアントライブラリのいずれかを使用していますか、それとも対応を手作業で解析していますか?
参照 :http://tools.ietf.org/html/rfc5023#page-25
Phani Raj Yayavaram Narasimha