!--a11y-->
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.
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


Da die Elemente