Domanda

Supponiamo che ho un Ecore-modello contenente un pacchetto e alcune classi che fanno riferimento ad ogni altro.Se creo un "Istanza Dinamica", Eclipse produce un XMI-file e posso creare un'istanza di alcune classi.Il contenimento dei rapporti sono direttamente serializzati in un XML-albero in XMI (il children elementi nell'esempio).Ma se è possibile creare istanze di riferimenti a elementi che sono già presenti da qualche parte nella struttura, l'Editor scrive Percorso di Espressioni come la seguente, per il currentChild attributo:

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

Per quanto ne so questo non è XPath, perché:

  1. L' "childrens"sono elementi che non sono gli attributi e non hanno a cui fa riferimento, tramite "@"
  2. XPath utilizza ad esempio, elem[1] e non elem.1 per ottenere ad esempio, la seconda elem di un elenco

Che cos'è e dove posso trovare informazioni su di esso?Ho già provato a navigare in EMF pagine specifiche, ma non riusciva a trovare.

È stato utile?

Soluzione

È un EMF Frammento di Percorso.Il Javadoc descrive così:

Stringa org.eclipse.emf.ecore.InternalEObject.eURIFragmentSegment(EStructuralFeature eFeature, EObject eObject) Restituisce il frammento segmento che, quando passò a eObjectForURIFragmentSegment, si risolve per l'oggetto indicato in oggetto determinata funzione.

La caratteristica argomento può essere nullo, nel qual caso verrà detratto, se possibile.Il risultato predefinito sarà della forma:

"@caratteristica-nome[.indice]"

L'indice è utilizzato solo per molti valori di funzionalità;esso rappresenta la posizione nell'elenco.

Parametri:eFeature la funzione inerenti l'oggetto dato a questo oggetto, o null.eObject oggetto da identificare.Restituisce:il frammento segmento che si risolve per l'oggetto indicato in oggetto determinata funzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top