# EMF: Sichtbarkeit von ID's



## krok158 (10. Nov 2009)

Hi,

Mein Problem ist folgendes:

Ich will so eine Art "Kunstladen" in XML mit Hilfe von EMF modelieren. Mein Ziel ist es, folgenden XML-Ausschnitt zu produzieren und einzulesen: (Das ist ein sehr vereinfachtes Modell, um das wesentliche Problem zu skizzieren.)


```
...
<Kuenstler id="Otto" ...>
    <Werk id="Strasse" .../>
    <Werk id="Gasse" .../>
</Kuenstler>
<Kuenstler id="Muster" ...>
    <Werk id="Apfel" .../>
    <Werk id="Strasse" .../>
</Kuenstler>
...
<Bestellung id="Kunde1" ...>
    <Werk href="//Otto/Strasse"/>
    <Werk href="//Muster/Strasse"/>
...
```

Wörtlich ist das Problem in den Werksnamen, die eindeutig nur in Verbindung mit Künstlernamen sind.
Das *iD="true"* Attribut setzt voraus, dass "id" im ganzen Dokument eindeutig ist.

Leider habe ich nach tagelangen Suchen in alle mögliche Resursen (Google, Foren, Bücher) noch kein Lösung gefunden.
Für jede Hilfe werde ich extrem dankbar sein


----------



## Wildcard (10. Nov 2009)

Warum benutzt du ID denn als ID?
Du kannst ID für das Feature einfach auf false setzen, Resource#getURIFragment(EObject) liefert dir trotzdem eine gültige ID (Pfadbasiert) über die referenziert wird. Wenn du allerdings UUIDs brauchst, dann bietet dir EMF auch dafür built-in Support (zB über XMI UUIDs)


----------



## krok158 (12. Nov 2009)

Danke für die Antwort.

Das problem ist in Ausgabe fon XPaths.
Wenn ich keine id's definiere, werden die Werke einfach durchnummeriert.
Solte jemand den Dokument manuel ändern (neue Werk dazu in die Mitte packen) wird das alles ducheinanderer


----------



## Wildcard (12. Nov 2009)

Du kannst in deiner Resource getFragmentURI überschreiben und dort eigene IDs ganz nach eigenen Wünschen zurückliefern. Du musst nur dafür sorgen, dass die ID dann auch wirklich eindeutig in deiner Resource ist.


----------

