2009-09-29 1 views
0

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

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

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

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

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

ответ

1

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

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

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

«имя-функция @ [.index]»

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

Параметры: eFeature - функция, связанная с данным объектом с этим объектом, или null. eObject объект, который будет идентифицирован. Возвращает: отрезок фрагмента, который разрешает данный объект в данной функции данного объекта.

+0

Спасибо! Это очень помогает. – Juve

+0

Вот ссылка на связанный Javadoc: http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.emf.doc/references/javadoc/org/eclipse/emf/ecore/ impl/EModelElementImpl.html поиск: eURIFragmentSegment – Juve

Смежные вопросы