我正在尝试使用JAXBContext.generateSchema(..)生成XML架构。
我的班级看起来像这样:
@XmlRootElement
@XmlAccessorType( XmlAccessType.FIELD )
class Person {
@XmlAttribute
public String name;
@XmlAnyAttribute
public Map<QName, String> otherAttributes = new HashMap<QName, String>();
}
当我使用RI生成模式时,它可以正常工作。
<xsd:attribute name="name" type="xsd:string" />
<xsd:anyAttribute processContents="skip" namespace="##other" />
但是当使用MOXy中的生成器时,它会切换顺序:
<xsd:anyAttribute processContents="skip" namespace="##other" />
<xsd:attribute name="name" type="xsd:string" />
(XML模式中不允许这样做)
有解决方法吗?我正在使用MOXy 2.4.1。
答案 0 :(得分:1)
注意:我是EclipseLink JAXB (MOXy)主管,是JAXB (JSR-222)专家组的成员。
我已针对此问题输入了以下错误,您可以使用该错误跟踪我们在此问题上的进展情况。
一旦每个人都回来休假,我们应该在新的一年早些时候解决。
<强>更新强>
EclipseLink 2.4.2和2.5.0流中已修复此问题。从2012年12月28日开始,这些标签的任何夜间版本都将包含此修复程序,可从以下链接获取: