UML-Modell

Das UML-Modell (Unified Modeling Language) stellt eine formatunabhängige Beschreibung Ihrer Daten dar. Ihr Hauptvorteil besteht darin, dass sie die Datenelemente und ihre Beziehung zueinander definiert und beschreibt. Bei diesem modellbasierten Ansatz ist es wahrscheinlicher, dass die Daten gut strukturiert und änderungstoleranter sind.

UML-Klassenbeziehungen

Die Hauptklassen im UML-Modell werden im XML-Schema als Hauptelemente dargestellt. Die verschiedenen Arten von Beziehungen zwischen den UML-Klassen bestimmen, wie Ihre XML-Elemente im Schema strukturiert sind.

Es gibt drei Klassenbeziehungen:

Komposition
Das ist der Fall, wenn eine Klasse aus einem oder mehreren Unterelementen besteht. Wenn Sie beispielsweise einen Wahlbericht erstellen, besteht dieser aus Wahlen. In Ihrem XML-Schema wird das Element Election als Unterelement des Elements ElectionReport generiert.
Einen „Typ von“ oder „Instanz von“
Das ist der Fall, wenn eine abstrakte Klasse eine konkrete Klasse implementiert. Wenn Sie beispielsweise einen Wettbewerb erstellen, wird dieser von seiner konkreten Klasse implementiert. Ein Teilnehmerwettbewerb ist also eine Art von Wettbewerb. In Ihrem XML-Schema wird Contest als abstraktes XML-Element generiert und dient als Erweiterungsbasis für das Element CandidateContest.
Geleitete Verknüpfung
Dies ist der Fall, wenn ein Element ein anderes Element mit einer mit dem zweiten Element verknüpften Kennung enthält. Dies ist beispielsweise der Fall, wenn Sie einen Kandidaten mit einer Partei verknüpfen oder verknüpfen. In Ihrem XML-Schema enthält das Element Candidate ein PartyId-Element, das eine Kennung enthält, die mit einem Party-Element verknüpft ist.

Das folgende Diagramm veranschaulicht die drei Arten von Beziehungen:

Beispiele für UML-Modelle

Das folgende Diagramm zeigt eine Contest-Entität und zwei Typen von Contest: CandidateContest und PartyContest.

Das folgende Diagramm zeigt eine allgemeine Ansicht des Klassendiagramms für ein CandidateContest:

Das folgende Diagramm zeigt eine allgemeine Ansicht des Klassendiagramms für ein PartyContest: