2016-07-25 2 views
1

私は、ユーザーが動的データでWebサービスを設計できるアプリケーションを持っています。ユーザは、ウェブサービスが扱うべきデータを指定することができる。 例えば、ユーザは、このデータを定義していますWebサービスのための動的XSDの順序付けられていない要素の許可?

PERSON (minoccurs 1, maxoccurs 1) 
    -> Firstname (minoccurs 1, maxoccurs 1) 
    -> Lastname (minoccurs 1, maxoccurs 1) 
    -> email (minoccurs 0, maxoccurs 3) 

だから、XMLは私が対処するためのシーケンスを使用していますXMLのためのXSDを生成し、自分のアプリケーションでこの

<Person> 
    <Firstname>Peter</Firstname> 
    <Lastname>Last</Lastname> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
</Person> 

のように見えることができます要素と一緒に。これはうまく動作しますが、顧客は任意の順序でデータを送信したいので、私はxs:allを使用すると考えましたが、maxOccursは1にしかなりません。XSD 1.1で知っていますxs:allmaxOccursを処理できます。これを処理する方法はXSD 1.0にありますか?

答えて

1

この特定のケースでは、あなたは、email周り

PERSON (minoccurs 1, maxoccurs 1) 
    -> Firstname (minoccurs 1, maxoccurs 1) 
    -> Lastname (minoccurs 1, maxoccurs 1) 
    -> email-list (minoccurs 1, maxoccurs 1)  
     -> email (minoccurs 0, maxoccurs 3) 

email-listラッパーを追加することができ、まだXSD 1.0にxsd:allを使用していますが、中にターゲットとしてXSD 1.0を使用できるようにするつもりはありませんあなたの入力言語に同様の制約があるため、xsd:allの制限が反映されない一般的なケースです。

previous question regarding XSD and unordered elementsの回答では、インターフェイスの無秩序な側面を緩和することを検討する必要があります。

関連する問題