Das hier beschriebene Werkzeug ist noch in Entwicklung, und die Informationen auf dieser Seite sind nicht verbindlich!
Ein einfacher Typ ist elementar. Er hat einen Namen und eine Namespace sowie ein Format; es gibt keine Verweise auf andere Elemente.
Name und Namespace werden bei der Neuanlage festgelegt und können nachfolgend nicht mehr geändert werden.
Als ersten Schritt in der Bearbeitung eines neuen einfachen Typs sollten Sie in der Combobox Basiert auf den Basistyp auswählen. Als Default ist xsd::String
eingestellt.
Die Bearbeitung eines einfachen Typs erfolgt in dem Reiter „Definition“.
In der Combobox Basiert auf können Sie den Basistyp auswählen bzw. ändern. Die Liste der möglichen Beschränkungen wird entsprechend des Typs angepasst. Angaben, die ggf. zu dem bisherigen Basistyp gemacht wurden, gehen dabei verloren. Es kann hier nur ein xsd-Typ ausgewählt werden; ein einfacher Typ kann nicht einen anderen einfachen Typ als Basis haben.
Für einen einfachen Typ werden in diesem Reiter zwei Listen angezeigt: „Beschränkungen“ und „Domäne“.
Abhängig vom Basistyp, können Sie hier Angaben zum Format sowie zu den erlaubten Inhalten von Instanzen des Typs machen. Kein Wert für eine Angabe bedeutet, es gibt keine Beschränkung.
Mögliche Beschränkungen sind:
Name | Werte | gültig für | Bedeutung |
---|---|---|---|
Exakte Länge | Zahl | String, Binary | Der Inhalt muss genau diese Länge haben |
Pattern | Regular Expression | String, Binary | Muster, dem die Angabe entsprechen muss |
Mindestlänge | Zahl | String, Binary | Mindestlänge der Zeichefolge; Jeder Wert > 0 bedeutet, dass der String nicht leer sein darf |
Maximallänge | Zahl | String, Binary | Maximale Länge der Zeichefolge |
Gesamtlänge | Zahl | nummerische | Gesamte Stellenanzahl (Vorkomma + Nachkomma, ohne Dezimalpunkt) |
Nachkommastellen | Zahl | Dezimal,Double,Float | Anzahl der Nachkommastellen |
Mindestwert (exklusiv) | Wert gem. Basistyp | nummerische, Datum/Uhrzeit | Mindestwert, muss größer als der hier angegebene Wert sein |
Mindestwert (inklusiv) | Wert gem. Basistyp | nummerische, Datum/Uhrzeit | Mindestwert, muss größer als oder gleich dem hier angegebenen Wert sein |
Maximalwert (exklusiv) | Wert gem. Basistyp | nummerische, Datum/Uhrzeit | Maximalwert, muss kleiner als der hier angegebene Wert sein |
Maximalwert (inklusiv) | Wert gem. Basistyp | nummerische, Datum/Uhrzeit | Maximalwert, muss kleiner als oder gleich dem hier angegebenen Wert sein |
Um den Wert einer Beschränkung zu ändern, können diese Angabe direkt in der Liste editiert werden (Doppelklick auf das betreffende Listenfeld, oder F2). Hierbei werden ggf. bereits angegebene Beschränkungen berücksichtigt, z.B. darf ein nummerischer Mindestwert nicht größer sein als ein angegebener Maximalwert oder das für den Typ zulässige Maximum. Außerdem werden die angegebenen Beschränkungen auf Stimmigkeit untereinander überprüft:
In der Liste „Domäne“ können Sie eine Liste von für den einfachen Typ gültigen Werten angeben. Über das Kontextmenü an der Liste können Sie einen Eintrag hinzufügen oder entfernen.
Beim Anlegen neuer Domänenwerte werden diese darauf überprüft, ob sie dem für den einfachen Typ festgelegten Format und den angegebenen Beschränkungen entsprechen. Dabei wird das Eingabefeld so instrumentiert, dass die Eingabe von Werten ober- bzw. unterhalb von Mindest-und Maximalwerten (für nummerische Werte sowie Datum/Uhrzeit) nicht möglich ist. Wenn andere Beschränkungen nicht erfüllt sind, wird dies als Fehler angezeigt:
Wenn sich Beschränkungen ändern, werden bereit definierte Domänenwerte nicht automatisch auf Übereinstimmung mit den neuen Beschränkungen überprüft.
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 die erzeugten Schemas zu den obigen Beispielen:
<?xml version="1.0" encoding="utf-8" ?> <xsd:schema targetNamespace="http://hallesche.de/flg/nils/common/bo/" xmlns:tns="http://hallesche.de/flg/nils/common/bo/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="AenderungBetrag"> <xsd:restriction base="xsd:decimal"> <xsd:fractionDigits value="2" /> <xsd:totalDigits value="9" /> </xsd:restriction> </xsd:simpleType> </xsd:schema>
<?xml version="1.0" encoding="utf-8" ?> <xsd:schema targetNamespace="http://hallesche.de/flg/nils/common/bo/" xmlns:tns="http://hallesche.de/flg/nils/common/bo/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="PgJaNein"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Ja" /> <xsd:enumeration value="Nein" /> <xsd:enumeration value="Yes" /> <xsd:enumeration value="No" /> <xsd:maxLength value="4" /> <xsd:minLength value="1" /> </xsd:restriction> </xsd:simpleType> </xsd:schema>