2

我正在尝试使用 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。

4

1 回答 1

2

注意: 我是EclipseLink JAXB (MOXy)负责人,也是JAXB (JSR-222)专家组的成员。

我为此问题输入了以下错误,您可以使用它来跟踪我们在此问题上的进展。

一旦每个人都从假期回来,我们应该在新年的早些时候进行修复。

更新

此问题已在 EclipseLink 2.4.2 和 2.5.0 流中得到修复。从 2012 年 12 月 28 日开始,这些标签的任何夜间构建都将包含此修复程序,可从以下链接获得:

于 2012-12-23T14:07:17.457 回答