Que Consulta / Caminho-Language é usada para referências em Ecore derivados XMI-Instâncias?

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

Pergunta

Suponha que eu tenho um-modelo Ecore contendo um pacote e algumas classes que fazem referência um ao outro. Se eu criar uma "Instância dinâmico", Eclipse produz um arquivo XMI e posso instanciar algumas classes. Contenção-relações estão diretamente serializado para um XML-árvore na XMI (os elementos children no exemplo). Mas se eu instanciar referências a elementos que já estão contidos em algum lugar na árvore, o Editor escreve Path-Expressões como no seguinte, para o atributo currentChild:

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

Tanto quanto eu sei que isto não é XPath, porque:

  1. O "childrens" são elementos não atributos e não tem que ser referenciado via "@"
  2. XPath usa o exemplo, elem[1] e não elem.1 para obter, por exemplo, o segundo elem de uma lista

O que é e onde posso encontrar informações sobre ele? Eu já tentei procurar os EMF páginas / especificações, mas não conseguiu encontrá-lo.

Foi útil?

Solução

É um caminho EMF Fragmento. O Javadoc descreve-o assim:

Cordas org.eclipse.emf.ecore.InternalEObject.eURIFragmentSegment (EStructuralFeature eFeature, EObject EObject) Retorna o segmento fragmento que, quando passou para eObjectForURIFragmentSegment, vai resolver para o objeto dado em determinado recurso deste objeto.

O argumento recurso pode ser nulo, caso em que será deduzida, se possível. O resultado padrão será da forma:

"@ feature-name [.index]"

O índice é usado apenas para muitos valorizados recursos; ele representa a posição dentro da lista.

Parâmetros: eFeature o recurso relativo ao objeto dado a este objeto, ou null. EObject o objecto a ser identificado. retorna: o segmento fragmento que resolve para o objeto dado neste objeto é característica dada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top