MOXy 2.4.0でアンマーシャリングするには、次の注釈付きクラスを使用します。このオブジェクトへのアンマーシャリングは問題なく機能します
@XmlElementRefs({
@XmlElementRef(name = "a", namespace = "http://mynamespace", type = JAXBElement.class),
@XmlElementRef(name = "b", namespace = "http://mynamespace", type = JAXBElement.class)
})
protected List<JAXBElement<?>> elements;
このリストで任意の要素を許可したいので、添付しました@XmlAnyElement
@XmlAnyElement(lax=true)
@XmlElementRefs({
@XmlElementRef(name = "a", namespace = "http://mynamespace", type = JAXBElement.class),
@XmlElementRef(name = "b", namespace = "http://mynamespace", type = JAXBElement.class)
})
protected List<Object> elements;
これで、リスト全体に型のクラスのみが含まれますが、この場合、DOM要素とJAXB要素のいずれかの異種リストを有効にするcom.sun.org.apache.xerces.internal.dom.ElementNSImpl
べきではありませんか?lax=true