Das C-Importprogramm verwendet beim Zuordnen von C-Datentypen zu Nachrichtenmodellelementen Standardwerte.
Aus der folgenden Tabelle geht hervor, wie sich die C-Definitionen auf die XML-Schemaeinstellungen im Nachrichtenmodell auswirken. Manche xsd-Typen sind zwischen spitze Klammern (< >) gesetzt. Diese Klammern weisen darauf hin, 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 soll der anonyme Typ entweder eine Mindest- oder eine Maximalwertbeschränkung hinzufügen.
C-Datentyp | XML-Schematyp | 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 | |
|
xsd:int | |
|
xsd:unsignedInt | |
|
xsd:long | |
|
xsd:unsignedLong | |
float | xsd:float | |
double | xsd:double | |
long double | xsd:double | |
<beliebiger Zeigertyp> | xsd:hexBinary | |
<beliebige Aufzählung> | (siehe Hinweis 1) |
Aus der folgenden Tabelle geht hervor, wie sich die C-Definitionen auf die DFDL-Eigenschaften der im Nachrichtenmodell generierten Elemente auswirken.
C-Datentyp | DFDL-Eigenschaften |
---|---|
char | Länge = 1 Längeneinheiten = Byte |
char[10] | Länge = 10 Längeneinheiten = Byte Ausrichtung der Zeichenfolge = links |
char[10][3] | Länge = 3 (und maximale Anzahl = 10) Längeneinheiten = Byte Ausrichtung der Zeichenfolge = links |
char[10][3][6] | Länge =6 (und maximale Anzahl = 30) Längeneinheiten = Byte Ausrichtung der Zeichenfolge = links |
unsigned char | Länge = 1 Längeneinheiten = Byte |
unsigned char[2] | Länge = 1 (und maximale Anzahl = 2) Längeneinheiten = Byte |
signed char | Länge = 1 Längeneinheiten = Byte |
signed char[2] | Länge = 1 (und maximale Anzahl = 2) Längeneinheiten = Byte |
int | Länge = 4 Längeneinheiten = Byte |
int[2] | Länge = 4 (und maximale Anzahl = 2) Längeneinheiten = Byte |
int[2][3] | Länge = 4 (und maximale Anzahl = 6) Längeneinheiten = Byte |
unsigned int | Länge = 4 Längeneinheiten = Byte |
short | Länge = 2 Längeneinheiten = Byte |
unsigned short | Länge = 2 Längeneinheiten = Byte |
|
Länge = 4 (siehe Hinweis 2) Längeneinheiten = Byte |
|
Länge = 4 (siehe Hinweis 2) Längeneinheiten = Byte |
|
Länge = 8 Längeneinheiten = Byte |
|
Länge = 8 Längeneinheiten = Byte |
float | Länge = 4 Längeneinheiten = Byte |
double | Länge = 8 Längeneinheiten = Byte |
long double | Länge = 8 Längeneinheiten = Byte |
<beliebiger Zeigertyp> | Länge = 4 Längeneinheiten = Byte |
<beliebige Aufzählung> | (siehe Hinweis 1) |