Какой язык запросов / путей используется для ссылок в XMI-экземплярах, производных от Ecore?

StackOverflow https://stackoverflow.com/questions/1491602

Вопрос

Предположим, что у меня есть Ecore-модель, содержащая пакет и несколько классов, которые ссылаются друг на друга.Если я создам "Динамический экземпляр", Eclipse создаст XMI-файл, и я смогу создать экземпляр некоторых классов.Отношения сдерживания напрямую сериализуются в XML-дерево в XMI (the children элементы в примере).Но если я создаю экземпляры ссылок на элементы, которые уже содержатся где-то в дереве, редактор записывает выражения пути, подобные приведенным ниже, для currentChild атрибут:

<parent currentChild="//@parent/@children.1">
  <children/>
  <children/>
</parent>

Насколько я знаю, это не XPath, потому что:

  1. Тот самый "childrens" являются ли элементы не атрибутами и на них не нужно ссылаться через "@"
  2. XPath использует , например,, elem[1] и не elem.1 чтобы получить, например, второй элемент списка

Что это такое и где я могу найти информацию об этом?Я уже пытался просмотреть страницы / спецификации EMF, но не смог их найти.

Это было полезно?

Решение

Это путь фрагмента ЭДС.Javadoc описывает это следующим образом:

Строковая организация.eclipse.emf.ecore.Внутренний объект.eURIFragmentSegment(EStructuralFeature eFeature, EObject EObject) Возвращает сегмент фрагмента, который при передаче в eObjectForURIFragmentSegment преобразуется в данный объект в заданной функции этого объекта.

Аргумент feature может быть равен null, и в этом случае он будет выведен, если это возможно.Результат по умолчанию будет иметь вид:

"@feature-name[.index]"@имяобъекта[.index]"

Индекс используется только для многозначных объектов;он представляет позицию в списке.

Параметры:Обозначьте признак, связывающий данный объект с этим объектом, или null.EObject объект, подлежащий идентификации.ВОЗВРАТ:сегмент фрагмента, который преобразуется в данный объект в заданном объекте этого объекта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top