実際のプロジェクトに複数のXML記述子ファイルがあり、対応するXSDの作成に問題があります。XMLスキーマ - 要素の外観を制限する
私には、例えば、XMLに私のカスタムタイプがあります。
<A>
<B>
...
</B>
</A>
私は私のXMLファイル内のテンプレートブロックを作成する必要があります。これらのブロックには、私のカスタムタイプの要素が含まれている可能性があります。しかし、他の場所でテンプレートと要素内の要素の間にわずかな違いがある:彼らは私の知る限りではParameter
要素
<Template>
<Parameter />
<A>
<Parameter />
<B>
<Parameter />
...
</B>
</A>
</Template>
を有していてもよく<Parameter>
要素はどこにでも内部現れることができることを宣言することは不可能です<Template>
(子ノードを含む)しかし私はすべての型定義の要素として<Parameter>
を定義することでこれを行うことができます。
しかし、<Parameter>
は、その親が<Template>
要素内にある場合にのみ表示されるように制限したいと考えています。 <Parameter>
を型定義に配置できますが、その親が<Template>
タグのスコープにあるときの外観を制限できますか?
これをXSDでどのように書くことができますか?
*私の知る限りでは、要素はどこにでも内部に表示させることは不可能である。*これは何を意味するのでしょうか? –
私はXMLスキーマをよく理解していれば、他の要素の中のどこにでも現れる要素(今のところのParameter)を宣言することはできません。代わりに、他のすべての子としてParameterを参照する必要があります(私はしません)。 (テンプレート、A、Bはすべてこの要素を内部に持つことができます)。しかし、テンプレートに含まれていない場合、AまたはBに ' 'という子を持たせたくありません。 –
それは正しいのですが、 'A'、' B'などの各要素に追加する必要があります。 'A'要素が' Template 'の中にない場合、 'Parameter'要素が有効でないように制限することができます'。さて、私はあなたの質問が何であるかを見ています。 –