场景
考虑以下类(省略导入):
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement
public class Test {
@XmlAttribute
public int id;
@XmlAnyAttribute
public Map<QName,String> any;
}当我做以下事情时,会有什么行为:
Test t = new Test();
t.id = 5;
t.any = new HashMap<QName,String>();
t.any.put(new QName("id"), "10");
JAXBContext jc = JAXBContext.newInstance(Test.class);
Marshaller m = jc.createMarshaller();
m.setEventHandler(myEventHandler);
m.marshal(t, System.out);显而易见的问题:
应该为Test实例生成一个XML元素。但显而易见的问题是:使用哪些属性?<test id="5"/>?还是<test id="10"/>?或无效的XML <test id="5" id="10"/>。
请回答:
handleEvent(ValidationEvent) of myEventHandler会被调用吗?如果是,用什么?<test id="5" id="10"/>并报告绝对没有错误?请把你的答案建立在坚实的原教旨之上:
当然可以试试看。但是,人们应该能够通过研究Javadoc和JAXB规范文档来预测确切的行为。因此,如果可能的话,请引用文档来源的相关部分来支持您的回答。
发布于 2014-01-28 04:03:50
备注:,我是EclipseLink JAXB (MOXy)的负责人,也是JAXB (JSR-222)专家组的成员。
哪里可以找到JAXB规范
作为参考,JAXB (JSR-222)规范可以从以下位置下载:https://jcp.org/en/jsr/detail?id=222
回答你的问题
在哪里报告问题
一个经过认真开发的软件,国际水文学组织,不应对边缘情况下的行为产生怀疑。
您可以通过Jira或邮件列表提出类似的问题。
https://stackoverflow.com/questions/21321665
复制相似问题