2012-01-04 100 views
2

的EclipseLink莫西@XmlPath支持具有以前发布的EclipseLink MOXy @XmlPath support for axes/parent谓词不平等

我仍然@XmlPath注释工作,在我看来,不支持谓词的不平等?

@XmlPath("node[@attr != 'a']") 

也适用于我将检查属性

@XmlPath("node[@x]") 

甚至更​​好是否存在等,它不存在

@XmlPath("node[not(@x)]") 

有一个沉重的成本介绍这些功能?我习惯于使用整个XPath功能阵列。 MOXy为我提供了一些我非常感谢的奇妙功能,但在这方面似乎有点不灵活。

回答

0

备注:我是EclipseLink JAXB (MOXy)的领导和JAXB 2 (JSR-222)专家组的成员。

莫西目前支持:

  • @XmlPath("node[@x='foo']")

但不是:

  • @XmlPath("node[@x!='foo']")
  • @XmlPath("node[@x]")
  • @XmlPath("node[not(@x)]")

背景

莫西目前采用两种编组和解组相同的XPath。 100%清楚每个不受支持的XPath在解编方面的含义,但在编组方面稍微不太清楚(但可能无法解决)。

行动项目

请输入这个功能(指定莫西的成分)的增强请求。外部用户输入的错误在我们的积压工作中被优先考虑。

更多信息

+0

https://bugs.eclipse.org/bugs/show_bug.cgi?id=367921 – mikeapr4 2012-01-05 09:22:29

+0

关于编组,我明白你的意思,这些谓词不能被使用为了创建XML,我看到的唯一选择是忽略那些用于编组的谓词。我确定现在不支持node [(@ a ='1')和(@b!='2')]',但是如果是这样的话,编组人员需要明白'(@ b!='2')'谓词是不可逆的,因此应该使用'node [@ a ='1']' – mikeapr4 2012-01-05 09:26:20

+0

还有一件事,我使用MOXy为解析XML提供了更大的灵活性,这种架构不在我的控制之下。我认为这是需要基于XPath映射的最常见用例,而不是更常见的JAXB用于编组和解组对象的用例。不知道我是否代表多数,但需要考虑的事情:) – mikeapr4 2012-01-05 09:33:15