In diesem Kapitel werden die vom C-Importprogramm verwendeten Standardeinstellungen erläutert, mit denen C-Datentypen zu MRM-Datentypen zugeordnet werden.
In der nachfolgenden Tabelle wird dargestellt, wie sich die C-Definitionen auf die XML-Schemaeinstellungen im Nachrichtenmodell auswirken. Bei einigen xsd-Typen steht '-' nach dem Typ. Dies bedeutet, dass es sich um einen anonymen einfachen Typ handelt, der auf diesem Typ basiert. Bei Zeichenfolgen besteht der Zweck des anonymen Typen darin, eine Längenbeschränkung hinzuzufügen; der Zweck von numerischen Typen liegt darin, eine Einschränkung des Mindestwertes und/oder des Höchstwertes hinzuzufügen.
Der Datentyp 'Gepackte Datenstruktur' liegt außerhalb des Umfangs des C-Importprogramms.
C-Datentyp | Logischer Typ | Hinweise |
---|---|---|
Char | xsd:string- | Länge=1 |
Char[10] | xsd:string- | Länge=10 |
Char[10][3] | xsd:string- | Länge=3 |
Char[10][3][6] | xsd:string- | Länge=6 |
Unsigned Char | xsd:unsignedByte | |
Unsigned Char[2] | xsd:unsignedByte | |
Signed Char | xsd:byte | |
Signed Char[2] | xsd:byte | |
Int | xsd:int | |
Int[2] | xsd:int | |
Int[2][3] | xsd:int | |
Unsigned Int | xsd:unsignedInt | |
Short | xsd:short | |
Unsigned Short | xsd:unsignedShort | |
Long | xsd:int | |
Long Long Int | xsd:long | |
Float | xsd:float | |
Double | xsd:double | |
Long Double (siehe Hinweis 1) | xsd:double | |
<beliebiger Zeigertyp> | xsd:hexBinary- | Länge=(siehe Hinweis 2) |
<beliebige Aufzählung> | (siehe Hinweis 3) |
In der nachfolgenden Tabelle wird dargestellt, wie sich die C-Definitionen auf die physischen CWF-Eigenschaften der im Nachrichtenmodell generierten Elemente auswirken.
C-Datentyp | Physischer CWF-Typ | CWF-Längenmerkmale | Sonstige CWF-Merkmale |
---|---|---|---|
Char | Feste Länge | Längenzähler = 1 Längeneinheiten = Byte |
|
Char[10] | Feste Länge | Längenzähler = 10 Längeneinheiten = Byte |
Linksbündig ausrichten |
Char[10][3] | Feste Länge | Längenzähler = 3 (und maximale Anzahl = 10) Längeneinheiten = Byte |
Linksbündig ausrichten |
Char[10][3][6] | Feste Länge | Längenzähler = 6 (und maximale Anzahl = 30) Längeneinheiten = Byte |
Linksbündig ausrichten |
Unsigned Char | Ganzzahl | Längenzähler = 1 | Signiert = nein |
Unsigned Char[2] | Ganzzahl | Längenzähler = 1 (und maximale Anzahl = 2) |
Signiert = nein |
Signed Char | Ganzzahl | Längenzähler = 1 | Signiert = ja |
Signed Char[2] | Ganzzahl | Längenzähler = 1 (und maximale Anzahl = 2) |
Signiert = ja |
Int | Ganzzahl | Längenzähler = 4 | Signiert = ja |
Int[2] | Ganzzahl | Längenzähler = 4 (und maximale Anzahl = 2) |
Signiert = ja |
Int[2][3] | Ganzzahl | Längenzähler = 4 (und maximale Anzahl = 6) |
Signiert = ja |
Unsigned Int | Ganzzahl | Längenzähler = 4 | Signiert = nein |
Short | Ganzzahl | Längenzähler = 2 | Signiert = ja |
Unsigned Short | Ganzzahl | Längenzähler = 2 | Signiert = nein |
Long | Ganzzahl | Längenzähler = 4 (siehe Hinweis 4) | Signiert = ja |
Long Long Int | Ganzzahl | Längenzähler = 8 | Signiert = ja |
Float | Float | Längenzähler = 4 | |
Double | Float | Längenzähler = 8 | |
Long Double (siehe Hinweis 1) | Float | Längenzähler = 8 | |
<beliebiger Zeigertyp> | (siehe Hinweis 2) | ||
<beliebige Aufzählung> | Ganzzahl | (siehe Hinweis 3) |