Show TOC

XSD-Editor (frei modellierte Datentypen)Locate this document in the navigation structure

Verwendung

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 beim XML-Schema können Sie sowohl einfache als auch komplexe Datentypen (Klassifizierung: Frei modelliert) definieren, die vom Editor automatisch in XSD (XML Schema Definition) konvertiert werden.

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.
Funktionsumfang

Allgemein

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:

  • Einfacher Datentyp: Es gibt keine anderen Tabellenzeilen.

  • Komplexer Datentyp: Die Unterknoten des Wurzelelements bestimmen die Struktur von komplexen Datentypen. 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.

Vorschlagswert

Angabe eines beliebigen Vorschlagswerts. 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).

Löschbar

Zur Laufzeit kann eine Consumer-Anwendung explizit einem Provider mitteilen Elemente eines bestimmten Datentyps zu löschen.

Weitere Informationen: Löschkennzeichen

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).

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 Die Registerkarte XSD-Definition zeigt die nach der Definition im Editor aktuelle Umsetzung in XSD an. Wenn die Definition im XSD-Editor nicht gültig ist, dann ist die Konvertierung ebenfalls ungültig. Sie können das entsprechende XML-Schema auch als Datei exportieren (weitere Informationen: XSD- und WSDL-Dokumente exportieren).)
Hinweis Die Inhalte in der Zwischenablage lassen sich nur innerhalb eines Datentyps wieder einfügen.

Facetten

Allgemein

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-facetsAuf Nicht-SAP-Site veröffentlichte Informationen.

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. Eine Beschreibung von Regular Expressions finden Sie unter http://www.w3.org/TR/xmlschema-2/#regexsAuf Nicht-SAP-Site veröffentlichte Informationen. 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

Wenn Sie ein Sternchen (*) verwenden, kann das Zeichen entweder gar nicht oder begrenzt of im String vorkommen. Wenn Sie ein Pluszeichen (+) verwenden, muss das Zeichen mindestens ein Mal im String vorkommen. Die eckigen Klammern geben die Auswahl der Zeichen an.

Weitere Beispiele finden Sie unter http://www.w3schools.com/schema/schema_facets.aspAuf Nicht-SAP-Site veröffentlichte Informationen.

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.