Das C-Importprogramm verwendet beim Zuordnen von C-Datentypen zu Nachrichtenmodellelementen Standardwerte.
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 dient der anonyme Typ dazu, eine maximale Längenbeschränkung hinzuzufügen; bei numerischen Typen dient er dazu, entweder eine Mindest- oder eine Maximalwertbeschränkung hinzuzufügen.
C-Datentyp | XML-Schemadaten | Anmerkungen |
---|---|---|
Char | xsd:string- | maxlength=1 |
Char[10] | xsd:string- | maxlength=10 |
Char[10][3] | xsd:string- | maxlength=3 |
Char[10][3][6] | xsd:string- | maxlength=6 |
Unsigned Char | xsd:unsignedByte | |
Unsigned Char[2] | xsd:unsignedByte | maxOccurs=2 |
Signed Char | xsd:byte | |
Signed Char[2] | xsd:byte | maxOccurs=2 |
Int | xsd:int | |
Int[2] | xsd:int | maxOccurs=2 |
Int[2][3] | xsd:int | maxOccurs=6 |
Unsigned Int | xsd:unsignedInt | |
Short | xsd:short | |
Unsigned Short | xsd:unsignedShort | |
Long | xsd:int | |
Long Long Int | xsd:long | |
Gleitkomma | xsd:float | |
Double | xsd:double | |
Long Double (siehe Hinweis 1) | xsd:double | |
<beliebiger Zeigertyp> | xsd:hexBinary- | maxlength=(siehe Hinweis 2) |
<beliebige Aufzählung> | (siehe Hinweis 3) |
Die folgende Tabelle zeigt, wie C-Definitionen die Merkmale des physischen MRM-Formats (CWF) der im Nachrichtenmodell generierten Elemente beeinflussen.
C-Datentyp | Physischer CWF-Typ | CWF-Längenmerkmale | Sonstige CWF-Merkmale |
---|---|---|---|
Char | Feste Länge | Länge = 1 Längeneinheiten = Byte |
|
Char[10] | Feste Länge | Länge = 10 Längeneinheiten = Byte |
Linksbündig ausrichten |
Char[10][3] | Feste Länge | Länge = 3 (und maximale Anzahl = 10) Längeneinheiten = Byte |
Linksbündig ausrichten |
Char[10][3][6] | Feste Länge | Länge =6 (und maximale Anzahl = 30) Längeneinheiten = Byte |
Linksbündig ausrichten |
Unsigned Char | Ganzzahl | Länge = 1 | Signiert = nein |
Unsigned Char[2] | Ganzzahl | Länge = 1 (und maximale Anzahl = 2) |
Signiert = nein |
Signed Char | Ganzzahl | Länge = 1 | Signiert = ja |
Signed Char[2] | Ganzzahl | Länge = 1 (und maximale Anzahl = 2) |
Signiert = ja |
Int | Ganzzahl | Länge = 4 | Signiert = ja |
Int[2] | Ganzzahl | Länge = 4 (und maximale Anzahl = 2) |
Signiert = ja |
Int[2][3] | Ganzzahl | Länge = 4 (und maximale Anzahl = 6) |
Signiert = ja |
Unsigned Int | Ganzzahl | Länge = 4 | Signiert = nein |
Short | Ganzzahl | Länge = 2 | Signiert = ja |
Unsigned Short | Ganzzahl | Länge = 2 | Signiert = nein |
Long | Ganzzahl | Länge = 4 (siehe Hinweis 4) | Signiert = ja |
Long Long Int | Ganzzahl | Länge = 8 | Signiert = ja |
Gleitkomma | Gleitkomma | Länge = 4 | |
Double | Gleitkomma | Länge = 8 | |
Long Double (siehe Hinweis 1) | Gleitkomma | Länge = 8 | |
<beliebiger Zeigertyp> | (siehe Hinweis 2) | ||
<beliebige Aufzählung> | Ganzzahl | (siehe Hinweis 3) |