2009-11-16 17 views
5

私はXMLスキーマの代替グループを調査していますが、私は公式の仕様を見つけることができません。誰も私にそれを指摘できますか?XMLスキーマ:代替グループ

置換グループ属性を持つ要素がw3schoolsクレームなどの複雑なまたは唯一のグローバル要素内の要素を置き換えることができれば、私は思ったんだけど:

「 のsubstitutionGroup(head要素 でそのすべての要素に注意してください。代入可能な要素)は、 をグローバル要素として宣言する必要があります。 それ以外の場合は機能しません。

は上記の文ですか?

グローバル要素はそれぞれXMLインスタンスのルートになる可能性があるため、置換グループを定義する点は何ですか?

答えて

6

置換基は非常に複雑な獣です。基本的には、考えられるすべての選択肢を列挙することなく、<xs:choice>構造を表現する別の方法です。つまり、元のスキーマを変更することなく、選択したオプションを後でやり直すことができます。

これが実際に役に立つユースケースは、第三者によって拡張可能になるように設計されたスキーマに限られています。実際には、彼らは非常に扱いが難しく、理解することは非常に難しい(避ける理由があるためhereを参照)。

+0

これは当てはまりますが、代替グループをサポートする必要があるツールを作成しています。スペックを教えていただけますか? – Gady

+0

仕様はhttp://www.w3.org/TR/2001/REC-xmlschema-0-20010502/#SubsGroupsです。しかし、それから何か意味を作って幸運。 – skaffman

+0

私はそれが依存すると思う。抽象的な「親」要素で置換グループを使用すると、選択肢やシーケンスを使用するよりも、JAXBで生成されるクラスがよりよくなります。 – Marc