elementFormDefault=„qualified“
Das hier beschriebene Werkzeug ist noch in Entwicklung, und die Informationen auf dieser Seite sind nicht verbindlich!
Ein komplexer Typ gruppiert andere Webdatentypen. Diese können einfache Typen sein, aber auch andere komplexe Typen oder Listentypen.
Eine Sonderform eines komplexen Typs ist ein Listentyp.
Die Bearbeitung eines komplexen Typs erfolgt in dem Reiter „Definition“.
Im oberen Teil werden Eigenschaften des Typs festgelegt.
Basistyp : Wenn der aktuelle Typ auf einen anderen Typ basieren soll, kann dieser über den Auswahl-Knopf (…) oder den Befehl „Basistyp auswählen“ am Kontextmenu über im Menü „Bearbeiten“ gesetzt werden. Über den Befehl „Basistyp entfernen“ kann er entfernt werden. Der Basistyp kann ein abstrakter oder nicht-abstrakter Typ sein. Auch abstrakte Typen können auf einem anderen Typ basieren, der allerdings ebenfalls abstrakt sein muss. Wenn ein Basistyp angegeben ist, werden die an dem Basistyp definierten Elemente und Attribute in den aktuellen Typ übernommen; diese können hier nicht angepasst werden, sondern nur durch Bearbeitung des Basistyps.3)
In dem Reiter „Elemente“ werden die Elemente angezeigt, die Bestandteile des komplexen Typs sind:
Wenn der Typ auf einem anderen Typ basiert, werden die aus diesem Typ vererbten Elemente grau dargestellt. Diese Elements sind in dem aktuell angezeigten Typ nicht anpassbar.
nil=„true“
enthalten darf4). Wenn das Mindestvorkommen > 0 ist, kann so dennoch ein leeres Element übergeben werden.
Wenn als Verbund „All“ angegeben ist, sind Mindestvorkommen und Maximalvorkommen nicht editierbar; die Anzahl für Mindestvorkommen kann über die „Optional“-Angabe auf 0 oder 1 geändert werden.
Über das Kontextmenü können Elemente hinzugefügt oder entfernt werden. Auch die Reihenfolge kann hier angepasst werden:
Element hinzufügen: Fügt ein Element hinzu. Für die Auswahl des Typs wird eine Combobox angezeigt; wenn Sie hier „Webdatentyp“ auswählen, wird für die Auswahl des Datentypes der Suchdialog aufgeblendet.
Inline
ist angekreuzt.
Um Angaben zu einem Element zu ändern, können diese direkt in der Liste editiert werden. Um den Namen nachträglich anzupassen, selektieren Sie die Zeile und aktivieren Sie die Bearbeitung des Felds mit F2 oder über das Kontextmenü.
Wenn Sie den Typ anpassen, erscheint dieselbe Combobox wie beim Hinzufügen von Elementen, sowie für Webdatentypen derselbe Auswahldialog.
Wenn ein Element als inline
markiert ist, ist der Typ dieses Elements nicht mehr änderbar.
Wenn in der Elementliste zu einem Eintrag die Spalte „Inline“ angekreuzt ist, können zu dem Element Ergänzungen definiert werden, die nur für diese Verwendung gelten. Welche Ergänzungen möglich sind, hängt von der Art des Typs ab:
Für Inline-Gruppen
Bei komplexen Typen
Im nachfolgenden Beispiel wurde einem komplexen Typ die Inline-Gruppe „Zusatzinfos“ und zwei weitere Elemente hinzugefügt, und in dieser Gruppe der Typ „Anschrift“ als Element „Zweitanschrift“ inline
um das Element „Anmerkung“ ergänzt:
Bei Standardtypen und einfachen Webdatentypen
Bei Listentypen sind keine verwendungsspezifischen Ergänzungen möglich.
Bei hinzugefügten Elementen, die selbst auch als „inline“ gekennzeichnet sind, haben Sie dieselben Möglichkeiten, diese weiter zu ergänzen.
Hinweis: In Zukunft wird es auch möglich sein, komplexen Typen inline ergänzende Attribute hinzuzufügen. Diese Funktionalität ist aktuell noch nicht implementiert.
Als Attribut kann jeder einfache Typ verwendet werden, also entweder ein einfacher Webdatentyp oder ein Basistyp (z.B. „string“)..
Hinzufügen und Entfernen von Attributen ist über das Kontextmenü an der Liste möglich.
Um Namen oder Typ eines Attributs zu ändern, können diese Angaben direkt in der Liste editiert werden.
Hinweis: In Zukunft wird es auch möglich sein, zu Attributen Beschränkungen anzugeben. Diese Funktionalität ist aktuell noch nicht implementiert.
Hier ein Beispiel, wie Attribute im Schema erscheinen:
- <complexType name="PgPerson"> + <all> - <attribute name="Bemerkung"> - <simpleType> <restriction base="bo:InterneBemerkung" /> </simpleType> </attribute> </complexType>
☞ Verknüpfungen zwischen den Bestandteilen des komplexen Typs und Daten aus TAA-Datenstrukturen.
In diesem Reiter wird dargestellt, wie die XSD für diesen Typ aussieht. Die Definition kann hier nicht angepasst werden, sondern ausschließlich in dem Reiter „Definition“. Hier ein Beispiel für die Definition und das dazugehörige Schema eines Typs:
<?xml version="1.0" encoding="utf-8" ?> - <schema xmlns:q8="http://www.bipro.net/namespace/allgemein" targetNamespace="http://www.bipro.net/namespace/allgemein" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://www.bipro.net/namespace/datentypen" schemaLocation="examplePath/ST_Unternehmensnummernart.xsd" /> - <complexType name="CT_Unternehmen"> - <complexContent> - <extension base="CT_Objekt:CT_Objekt" xmlns:CT_Objekt="http://www.bipro.net/namespace/basis"> - <sequence> <xsd:element name="Nummer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:string" minOccurs="1" maxOccurs="1" /> <xsd:element name="Name" xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:string" minOccurs="1" maxOccurs="1" /> <xsd:element name="Ort" xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:string" minOccurs="1" maxOccurs="1" /> <xsd:element name="Geschaeftsstelle" xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:string" minOccurs="1" maxOccurs="1" /> <element name="Nummernart" xmlns:q12="http://www.bipro.net/namespace/datentypen" type="q12:ST_Unternehmensnummernart" minOccurs="0" maxOccurs="1" /> <xsd:element name="PartnerID" xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:string" minOccurs="1" maxOccurs="1" /> </sequence> </extension> </complexContent> </complexType> </schema>
In den hier angezeigten Schemas wird für den Verweis auf Elemente als schemaLocation examplePath
angezeigt. Dies wird nur für die hier angezeigte Preview des Schemas so erzeugt.
Es ersetzt die „echten“ Pfadangaben auf XSD-Dokumente, die beim Verweis auf andere WebDatentypen zum Zeitpunkt der Preview-Erzeugung nicht zur Verfügung stehen.</inline>