# xsd ref auf element oder typen verwenden?



## ARadauer (13. Nov 2013)

Beschäftige mich das erste mal intensiver mit xsd.. schönes Beispiel hier
XML Schema Example

Untere Hälfte...
Divide the Schema
.. ok klar Elemente auslagern und darauf verweisen

Using Named Types
...mhn ja auch klar complexe Typen wiederverwenden

Scheint mir jetzt aber ziemlich ähnlich. . Sehe keinen objektiven Vorteil dsr einen oder anderen Variante. .

Wo ist der unterschied,  was ist besser, üblicher?


----------



## dzim (20. Nov 2013)

Puh... Ich musste da auch mir erst einmal wieder einen Überblick verschaffen - ein Jahr nix grösseres mit XML gemacht und schon ist man wieder raus.

Naja der Unterschied ist wirklich marginal. Lustigerweise habe ich genau die "Using Named Types"-Variante immer verwendet - allerdings nicht wissentlich. Ich habe die meisten Schemas mithilfe von Eclipse' XSD-Schema-Editor erstellt und der macht(e) das halt immer so. 
Ich persönlich finde diese Variante beim kurzen wieder-einmal-anschauen besser als die "Divide the Schema"-Variante, kann dir aber keine wirklich Hieb-und-Stichfesten Begründungen dafür geben.

Aber Danke, dass ich mich dank dir mal wieder damit beschäftigen konnte


----------



## dzim (20. Nov 2013)

Aber: Wenn du die Elemente, die du später verwenden willst definierst (Divide), dann ist das Schema an der Stelle mitunter komplexer, da du auch Sequences u.s.w. definieren musst.
Bei der definition von Klassen (Named Types) definierst du wirklich nur genau dieses Typ - nicht mehr und nicht weniger - wie du ihn verwendest, hangt dann davon ab, wo du ihn einbistest - so ist es dann einfach, einmal ein Element in einer Choice und das nächste Mal in einer Sequence zu haben. Verstehst du, was ich meine? Vergleiche noch einmal ganz konkret die jeweilige Typendefinition, dann siehst du vielleicht was ich meine.

Und damit habe ich auch den Grund gefunden, warum mir Named Types am besten gefallen - ist meiner Ansicht nach die flexibelste  der Möglichkeiten.


----------

