2016-09-18 2 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"와일드 카드 요소이다. (타입이 정의되지 않았기 때문에 "anyType"타입을가집니다.)

아마도 이것은 관련되었거나 (와일드 카드 인 요소와 관련이없는) 어쩌면 "fixed"value "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()); 
}