2016-09-18 25 views
1

内の要素の属性、私は次のように定義されたXMLスキーマ要素があります。私はそれを理解したようXercesのXMLスキーマ

<xsd:element name="Test"> 
    <xsd:complexType> 
     <xsd:sequence> 
     <xsd:element name="ElementFixed" fixed="SomeFixedValue"/> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:element> 

を、「ElementFixedは」ワイルドカード要素です。

これは関連性がありますか(要素がワイルドカードであるかどうか)は関係ありませんが、「固定」値「SomeFixedValue」を抽出しようとしています。 "Xercesライブラリを使用して、これを行う方法を練習するのに苦労しています。私はそれがXSAttributeUseまたはXSAttributeDeclarationと何か関係があるかもしれないと思うが、私はこの情報を抽出するためにどのオブジェクトを呼び出す必要があるかを調べることができなかった。誰かが私を正しい方向に向けることができますか?ありがとう!

答えて

0

私はそれを解決することができました。私は、XSConstants.VC_NONE、VC_DEFAULT、またはVC_FIXEDのいずれかを返すXSElementDeclarationでgetConstraintType()を呼び出す必要があったことが分かります。次に、制約タイプがでなく、でなければ、値はgetValueConstraintValue()。getActualValue()を呼び出すことによってアクセスされます。例:

short vcKind = xsElementDecl.getConstraintType(); 
System.out.println("Constraint Type: " + vcKind); 
if (vcKind != XSConstants.VC_NONE) { 
    System.out.println("Value: " + xsElementDecl.getValueConstraintValue().getActualValue()); 
}