2012-04-18 3 views
0

私は、スキーマの次のコードを持っていると属性:は、xs行き方:選択肢のmaxOccursをしているminOccursはXSOM

<xsd:choice minOccurs="0" maxOccurs="unbounded"> 
    <xsd:element ref="ref1"/> 
    <xsd:element ref="ref2"/> 
    <xsd:element ref="ref3"/> 
    <xsd:element ref="ref4"/> 
    <xsd:element ref="ref5"/> 
</xsd:choice> 

私は、JavaのためのXSOMライブラリを使用していると私は説明のminOccursとmaxOccursに関する情報を取得したいと思いますxsd:choice要素に追加します。私はインターネットを見回しましたが、xs:choice要素ではなく、実際の要素からこの情報を取得するためのソリューションしか見つけられませんでした。

また、私はできる「キャッチ」XS場所特定されました:選択要素:

public void startElement(XSModelGroup arg0) { 
    if (arg0.getCompositor() == XSModelGroup.CHOICE) { 

    } 
} 

私はここで達成しようとしているが、複数の選択肢「選択肢」の区別をすることですがと単なる選択肢です。もし誰かが私が大いに感謝するのを助けることができたら。

答えて

2

XSComplexTypeで始める場合は、XSComplexTypeからXSContentTypeに、XSContentTypeからasParticle()を使用してコンテンツをパーティクルとして取得できます。パーティクルからgetTerm()を使用してコンポーネント構造階層内の子を取得できます。 (おそらくxs:choiceを含む)モードグループである用語に対しては、次のレベルを得るためにasModelGroup()を実行できます。 XSParticleは、minOccurs()およびmaxOccurs()プロパティが利用可能な場所です。それはかなり奇妙なモデルです。

+0

ありがとう、それは問題を解決しました! – STT

+0

この情報をからも抽出する方法を知りましたか? ます。 このようなものから – STT

関連する問題