2011-11-12 15 views
2

実際のプロジェクトに複数の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でどのように書くことができますか?

+0

*私の知る限りでは、要素はどこにでも