Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Tabellen Dokument im Navigationsbaum lokalisieren

Unbegrenzt auftretende Elemente in XSD

Es gibt weder in XSD noch in Java einen expliziten Tabellentypen. Statt dessen können Sie in XSD für Elemente festlegen, dass sie unbegrenzt auftreten dürfen (siehe auch: Elemente und Attribute). Nehmen Sie zum Beispiel an, dass Sie einen Datentyp staff benötigen, mit dessen Hilfe man eine Gruppe von Mitarbeitern als Stabsmitarbeiter auszeichnen und ihnen einen Manager zuordnen kann. Die folgende Tabelle soll die Definition dieses Datentyps im XSD-Editor widerspiegeln:

Definition eines unbegrenzt auftetenden XSD-Element innerhalb einer Struktur

Struktur

Kategorie

Typ

Häufigkeit

Beschreibung

staff

Komplexer Typ

     

[-] manager

Element

 

1

staff manager

 

name

Element

xsd:string

1

 
 

birthday

Element

xsd:date

1

 

[-] employee

Element

 

1..unbounded

staff members

 

name

Element

xsd:string

1

 
 

birthday

Element

xsd:date

1

 

 

Das Element employee kann also nach dieser Definition mehr als einmal im zugehörigen XML-Schema auftreten.

Umsetzung in Java-Klassen

Die Java-Proxy-Generierung generiert für den Datentyp staff die Klasse Staff_Type, die genauso wie der Datentyp im Integration Repository wiederverwendet werden kann. Die Klasse bietet zwei Alternativen für den Zugriff auf die Werte des Elements employee, dass unbegrenzt oft in der Message vorkommen darf:

Die Klasse Staff_Type enthält neben der inneren Klasse Staff_Type.Employee_List für den Zugriff mit Listmethoden noch die inneren Klassen Staff_Type.Employee_Type und Staff_Type.Manager_Type.

Hinweis

Staff_Type.Employee_List implementiert das Java Interface java.util.List, so dass dessen allgemeine Methoden verwendet werden können (zum Beispiel die Methode size(), um die Anzahl der Elemente in der Liste zu bestimmen).

Klassenhierarchie mit öffentlichen Methoden in UML-Notation

Diese Grafik wird im zugehörigen Text erklärt

Hinweis

Da die Elemente manager und employee lokal im Datentyp staff definiert sind, generiert die Java Proxy-Generierung innere Klassen. Wenn Sie für diese Elemente auf wiederverwendbare Datentypen verweisen, werden auch globale Klassen generiert. (Die inneren Klassen sind allerdings auch wiederverwendbar.)

 

 

 

Ende des Inhaltsbereichs