2011-09-16 15 views
0

さまざまな種類のアイテムを返すWebサービスを構築しています。すべての在庫を要求するeBayのWebサービスリクエストと同様です。Webサービスコールの結果を検証する必要がありますか

いくつかのアイテムは、トラックやトラックのように私たちによく知られています。他のものは、トースターやオーディオ機器のようなものではありません。

他のすべてのアイテムでそのタイプ情報が一般的ではない場合でも、アイテムに含まれるすべての情報を返すことができます。以下の例では、makeとPop Speedがこれの例です。

だから私はこの

<inventory> 
<truck> 
    <title>Massive Truck</title> 
    <make>CAT</make> 
    <weight>1200</weight> 
</truck> 

<toaster> 
    <title>Quick Toaster</title> 
    <Popspeed>20</Popspeed> 
</toaster> 
</inventory> 

のような情報を返すことができます。しかし、問題は、私はありません。このため、XSD /スキーマを構築するために(私は道を知らない)ということです。 この情報もJSONで返すので、スキーマはありません。

でも問題ありませんか?

あなたに返される構造とプロパティを知ることは良いことだと思っていたかもしれませんが、たぶん口頭/ドコ同意書があるだけで十分です。

答えて

0

Hal(http://stateless.co/hal_specification.html)をご覧ください。探しているものとまったく同じです。 halでは、埋め込まれたリソースの構造を識別するためにリンク関係を使用します。 XSDを実行することはできませんが、ドキュメントの検証にはschematronやrelax-ngのようなものを使用できます。

あなたのドキュメントのXMLベースのHALバージョンのようなものになります。あなたはHALのスペックから見ていくように

<resource rel="self" href="http://example.org/inventory" > 
    <resource rel="truck" href="http://example.org/inventory/Massive_Truck"> 
     <title>Massive Truck</title> 
     <make>CAT</make> 
     <weight>1200</weight> 
    </resource> 
    <resource rel="toaster" href="http://example.org/inventory/Quick_toaster"> 
     <title>Quick Toaster</title> 
     <Popspeed>20</Popspeed> 
    </resource> 
</resource> 

を、あなたが使用できる同等のJSON表現があります。

+0

本当によかったですね、あなたの答えに感謝します。 – Jiminy