Are any of the following XPath expressions acceptable? Using version 2.3.1 of eclipselink
@XmlPath("../header/@type")
@XmlPath("/root/header/@type")
@XmlPath("parent::*/header/@type")
Basically this is in a class which repeats within the XML document (/root/tag
), if that isn't clear I'll elaborate.
I'm trying to traverse up the tree rather than down. My other @XmlPath
annotations are working fine.
EclipseLink JAXB (MOXy) does currently not support axes/parent. If you are interested in this kind of support please enter an enhancement request:
- https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EclipseLink
It does support XPath like:
- @XmlPath(".") // Map to self node, useful when mapping two objects to same element
- @XmlPath("@foo") // Map to attribute
- @XmlPath("foo") // Map to element
- @XmlPath("foo[2]") // Map to 2nd occurence of
- @XmlPath("foo[@bar='Hello World']") // Map to foo element with bar attribute with value "Hello World"
- @XmlPath("ns1:foo/ns2:@bar") // Map to namespace qualified nodes
For More Information
- http://blog.bdoughan.com/2010/07/xpath-based-mapping.html
- http://blog.bdoughan.com/2010/09/xpath-based-mapping-geocode-example.html
- http://blog.bdoughan.com/2011/03/map-to-element-based-on-attribute-value.html