Show TOC

FunktionsdokumentationXSD-Editor (frei modellierte Datentypen) Dieses Dokument in der Navigationsstruktur finden

 

Der XSD-Editor erlaubt es, die Datentypen beziehungsweise Datentyp-Erweiterungen ohne tiefe Kenntnisse in XML Schema zu definieren. Dazu bauen Sie den Datentyp über eine Tabelle auf, welche die Struktur des Datentyps wiedergibt. Wie in XML Schema können Sie so einfache oder komplexe Datentypen definieren (Klassifikation: frei modelliert), die der Editor automatisch in eine XML Schema Definition (XSD) umsetzt.

Hinweis Hinweis

Bei der Definition des Datentyps ist die Auswahl der Werte, die Sie in die Tabelle eingeben können, kontextabhängig. Ungültige Eingaben sind deshalb praktisch ausgeschlossen.

Ende des Hinweises.

Funktionsumfang

Allgemeines

Der XSD-Editor besteht aus einer Toolbar, einem tabellarischen Eingabebereich und einem Kontext-Menü. Die oberste Zeile in der Tabelle (man sagt auch das Wurzelelement) bestimmt die Art des Datentyps:

  • bei einem einfachen Typ gibt es keine weiteren Tabellenzeilen.

  • bei einem komplexen Typ bestimmen die Unterknoten des Wurzelelements die Struktur des komplexen Datentyps. Als Unterknoten sind Elemente und Attribute möglich.

Ob es sich um einen einfachen oder einen komplexen Typ handelt, erkennt der XSD-Editor automatisch daran, ob das Wurzelelement Unterknoten hat oder nicht. Die Spalte Kategorie ist daher gegen Eingabe geschützt. Insgesamt besteht der tabellarische Eingabebereich aus folgenden Spalten, für die je nach Zeilentyp unterschiedliche Werte zugelassen sind beziehungsweise gar keine Eingaben möglich sind:

Spalte

Bedeutung

Name

Unter dem Wurzelelement eingefügte Knoten werden in dieser Spalte durch Einrückungen als Hierarchie dargestellt. Die Feldnamen innerhalb eines Datentyps müssen unterschiedlich sein. Sie können alle Feldnamen bis auf den für das Wurzelelement nachträglich ändern.

Kategorie

Diese Spalte zeigt an, ob das Wurzelelement Unterknoten hat oder nicht. Sie können Werte dieser Spalte nicht ändern.

Typ

Hier wählen Sie einen eingebauten Datentyp aus oder verweisen auf einen vorhandenen Datentyp für ein Element oder Attribut. Für Attribute ist die Angabe eines Typs obligatorisch.

Häufigkeit

Bestimmt für Elemente die Häufigkeit Ihres Auftretens. Die Werte von 0 bis 2147483647 sind erlaubt. Bei Attributen können Sie festlegen, ob das Attribut optional oder required ist.

Details

Hier ist nur eine Eingabe möglich, wenn Sie für das Element oder das Attribut einen eingebauten Typ spezifiziert haben. Je nachdem ob der Typ numerisch oder alphanumerisch ist, stehen Ihnen im Auswahldialog für die Spalte unterschiedliche Facetten zur Verfügung, um den Wertebereich des Typs genauer zu spezifizieren (zum Beispiel die Länge von Zeichenketten).

Vorschlagswert

Angabe eines beliebigen Vorschlagwertes. Die XI-Laufzeit kann auf Anforderung Vorschlagswerte berücksichtigen; weitere Informationen: Erweitertes XML-Handling aktivieren (ABAP-Proxy-Laufzeit) beziehungsweise Default- und initiale Werte in Java (Java-Proxy-Laufzeit). Für Mapping-Programme haben Vorschlagswerte keine Bedeutung (sie werden insbesondere in Message-Mappings ignoriert).

Beschreibung

Informelle Beschreibung eines Knotens.

UI-Textobjekt

Weist dem Feld ein UI-Textobjekt vom Typ Feldbezeichner zu, um die dort hinterlegten Texte später auf dem UI als Bezeichner anzeigen zu lassen.

Bei eingabebereiten Zellen können Sie für die Spalten Typ, Häufigkeit und Details einen Eingabedialog aufrufen. Einen Feldnamen unter dem Wurzelelement können Sie mit Hilfe eines Einfachklicks auswählen und ändern. Der Name des Wurzelelements selbst kann nicht verändert werden.

Hinweis Hinweis

Die Registerkarte XSD-Definition zeigt die nach der Definition im Editor aktuelle Umsetzung in XSD an. Solange die Definition im XSD-Editor nicht gültig ist, ist auch diese Umsetzung noch nicht gültig. Sie können sich das zugehörige XML Schema auch als Datei exportieren (siehe auch: XSD- und WSDL-Dokumente exportieren).

Ende des Hinweises.

Hinweis Hinweis

Die Inhalte in der Zwischenablage lassen sich nur innerhalb eines Datentyps wieder einfügen.

Ende des Hinweises.
Facetten
Allgemeines

Mit dem XSD-Editor können Sie in der Spalte Details für einfache Datentypen, Elemente oder Attribute den Wertebereich eines eingebauten Datentyps weiter einschränken.

Facette

Bedeutung

enumeration

Einschränkung auf eine Menge von Einzelwerten. Die Werte müssen im XSD-Editor durch Leerzeichen getrennt werden.

fractionDigits

Gibt die Anzahl der erlaubten Nachkommastellen an. Als Werte sind alle die vom Typ xsd:nonNegativeInteger erlaubt.

length, maxLength, minLength

Exakte (length), maximal- (maxLength) beziehungsweise mindest- (minLength) Länge eines Datentyps. Der XSD-Editor lässt diese Facette nur für Datentypen zu, die auf xsd:string basieren. Der Wert dieser Facetten muss vom Typ xsd:nonNegativeInteger sein.

maxExclusive, maxInclusive

Obere Grenze für die Wertemenge exklusive (maxExclusive) beziehungsweise inklusive (maxInclusive) des angegebenen Werts. Der Wert dieser Facetten darf nicht außerhalb des Wertebereichs des Datentyps sein, der mit der Facette eingeschränkt wird.

minExclusive, minInclusive

Untere Grenze für die Wertemenge exklusive (minExclusive) beziehungsweise inklusive (minInclusive) des angegebenen Werts. Der Wert dieser Facetten darf nicht außerhalb des Wertebereichs des Datentyps sein, der mit der Facette eingeschränkt wird.

pattern

Angabe eines Musters für string-basierte Datentypen an. Das Muster muss die Form einer sogenannten regular expression haben, die eine Menge von dazu passenden Zeichenfolgen beschreibt.

totalDigits

Gibt die Anzahl der Stellen einer Zahl insgesamt an. Als Werte sind alle die vom Typ xsd:positiveInteger erlaubt.

whiteSpace

Gibt an, wie mit whiteSpace-Zeichen (Zeilenvorschübe, Tabs, Leerzeichen und Carriage Returns) umgegangen wird. Es sind drei Werte erlaubt:

preserve: Alle whiteSpace-Zeichen bleiben erhalten.

replace: Jedes Auftreten eines Zeilenvorschubs, eines Tabs und eines Carriage Returns wird durch ein Leerzeichen ersetzt.

collapse: Zusätzlich zur Vorgehensweise bei replace werden aufeinanderfolgende Leerzeichen durch ein Leerzeichen ersetzt, sowie führende und abschließende Leerzeichen entfernt.

Weitere Informationen: http://www.w3.org/TR/xmlschema-2/#rf-facets.

Regular Expressions in XML Schema

Regular Expressions sind aus der Unix-Welt bekannt und sind Ausdrücke, mit denen sich jede beliebige Zeichenfolge beschreiben lässt. Im Internet sind regular expressions unter der Adresse http://www.w3.org/TR/xmlschema-2/#regexs beschrieben. Statt diese Definition komplett zu wiederholen, sollen ein paar gängige Beispiele den Gebrauch von regular expressions deutlich machen:

Regular Expression

Passende Zeichenfolgen (durch Komma und Leerzeichen getrennt)

[abcdefg]

a, b, c, d, e, f, g

[A-Z][A-Z][A-Z]

ABC, DEF, SAP, SPD, CDU, FDP, PDS

[0-9][0-9][0-9]

007, 459, 471, 999, 879

[a-z]([0-9])*

a, b, c, d, e, i12784937, e3321, t4000, b345

[a-z]([0-9])+

a304, i20, e3012, t5, b90000

([a-z]|[0-9])+

a, ab, abc, abcdefg, 0, 1, 01, 012, 0123

Ein Stern (*) erlaubt also kein oder beliebiges Auftreten eines Zeichens, beim Pluszeichen (+) muss das Zeichen wenigstens ein mal in der Zeichenfolge auftreten. Die eckigen Klammern geben die Auswahl der Zeichen an.

Eine Reihe von weiteren Beispielen finden Sie auch unter der Internet-Adresse http://www.w3schools.com/schema/schema_facets.asp.

Zusätzlich gibt es aber auch noch besondere Zeichen, die mit einem Backslash eingeleitet werden, wie zum Beispiel:

  • \d: A number

  • \c: Ein Zeichen im Sinne der in XML Schema erlaubten Zeichen für Namen

Unterstütztung komplexer Datentypen mit SimpleContent

Komplexe Typen mit simpleContent beschreiben einen Datentyp, dessen Wurzelelement einen textuellen XSD-Typ hat (beispielsweise xsd:string), der aber ansonsten nur Attribute und keine Unterelemente hat. Wenn in solchen Fällen das Wurzelelement über Facetten in der Spalte Details eingeschränkt werden soll, schreibt der XML-Schema-Standard vor, dass das Wurzelelement auf einen weiteren einfachen Typen als Zwischentyp verweisen muss. Ansonsten wäre der komplexe Typ mit simpleContent sowohl eine Erweiterung (durch die Attribute) als auch eine Einschränkung (wegen der Facetten). Um die Definition von komplexen Typen mit simpleContent zu vereinfachen, lässt der Datentyp-Editor Facetten für das Wurzelelement von solchen Typen zu und erzeugt automatisch einen passenden Zwischentyp. Dieser Zwischentyp muss nicht als eigener Datentyp im ES Repository angelegt werden und ist dort auch nicht als eigener Datentyp sichtbar.