Поддержка EclipseLink MOXy @XmlPath для неравенства предикатов

Ранее опубликовал поддержку EclipseLink MOXy @XmlPath для осей / родителей

Я все еще работаю с аннотацией @XmlPath, и мне кажется, что предикатное неравенство не поддерживается?

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

Также действительным для меня было бы проверить наличие атрибута

@XmlPath("node[@x]")

Или даже лучше, что он не существует

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

Есть ли высокая стоимость внедрения этих функций? Я привык иметь весь массив функций XPath. MOXy предоставил мне фантастическую функциональность, за которую я очень благодарен, но она кажется немного негибкой в ​​этом отношении.

1 ответ

Примечание. Я являюсь лидером EclipseLink JAXB (MOXy) и являюсь членом группы экспертов JAXB 2 (JSR-222).

MOXy в настоящее время поддерживает:

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

но нет:

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

Фон

В настоящее время MOXy использует один и тот же XPath для маршалинга и демаршаллинга. Это на 100% ясно, что означает каждый из неподдерживаемых XPath с точки зрения отмены маршалинга, это немного менее ясно с точки зрения сортировки (но, вероятно, не неразрешимо).

Пункты действий

Пожалуйста, введите запрос расширения для этой функции (укажите MOXy в качестве компонента). Ошибки, введенные внешними пользователями, имеют приоритет в нашем журнале.

Для дополнительной информации

Другие вопросы по тегам