2016-06-28 7 views
0

하위 클래스에서 @XmlValueExtension을 사용하려고하지만 예상대로 동작하지 않습니다.JAXB Moxy @XmlValueExtension은 노드 이름을 제공합니다.

루트 클래스입니다 :

@XmlDiscriminatorNode("@codeType") 
@XmlSeeAlso({Subclass1.class}) 
public abstract class SuperClass { 

} 

서브 클래스는 다음과 같습니다

@XmlDiscriminatorValue("1") 
public class Subclass1 extends SuperClass { 

    @XmlValueExtension 
    private String myValue; 

} 

그러나 마샬링 할 때 XML 결과는 다음과 같은

<Superclass codeType="1"> 
    <myValue>my awesome value</myValue> 
</Superclass> 

내가 기다리고 있었다 뭔가 :

<Superclass codeType="1">my awesome value</Superclass> 

저는 Moxy를 사용하고 있습니다. 2.6.3

감사합니다.

답변

0

OK, 실제로 우리가 @XmlValue을 대체 @XmlValueExtension를 추가하지 필요)

@XmlDiscriminatorValue("1") 
public class Subclass1 extends SuperClass { 

    @XmlValue 
    @XmlValueExtension 
    private String myValue; 

}