WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Aus C (DFDL) importieren: unterstützte Funktionen

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
maxOccurs=10

char[10][3][6] <xsd:string>

maxlength=6
maxOccurs=30

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
  • long int
xsd:int  
  • unsigned long
  • unsigned long int
xsd:unsignedInt  
  • long long
  • long long int
xsd:long  
  • unsigned long long
  • unsigned long long int
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

  • long
  • long int
Länge = 4 (siehe Hinweis 2)

Längeneinheiten = Byte

  • unsigned long
  • unsigned long int
Länge = 4 (siehe Hinweis 2)

Längeneinheiten = Byte

  • long long
  • long long int
Länge = 8

Längeneinheiten = Byte

  • unsigned long long
  • unsigned long long int
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)
Anmerkungen:
  1. Die Option Aufzählungsgröße des C-Importprogramms wirkt sich auf den Typ und die Länge einer Aufzählung aus:
    • Bei 1: Logischer Typ = xsd:byte, dfdl:length = 1 Byte.
    • Bei 2: Logischer Typ = xsd:short, dfdl:length = 2 Byte.
    • Bei 4: Logischer Typ = xsd:int, dfdl:length = 4 Byte.
    • Bei Kompakt: Es wird die kleinste Darstellung gewählt, die auf die Aufzählung angewendet werden kann.
  2. Die C-Optionen vom Typ 'Adressgröße' wirken sich auf die Länge des Zeigers aus:
    • Bei 32 Bit: dfdl:length = 4 Byte.
    • Bei 64 Bit: dfdl:length = 8 Byte.
  3. Elementnamen, die im Konflikt mit Schlüsselwörtern der Java™-Programmiersprache stehen, werden geändert, indem ihnen ein einzelner Unterstrich als Präfix vorangestellt wird.
  4. Das Schlüsselwort _Packed wird nicht unterstützt. Es werden nur ANSI C-Deklarationen unterstützt.
  5. Das Element vom Typ 'long integer' mit einer Größe von 128 Bit (16 Byte) wird nicht unterstützt.
  6. Objektorientierte C++-Erweiterungen werden nicht unterstützt. Es werden nur ANSI C-Deklarationen unterstützt.
  7. Rekursive C-Strukturen werden nicht unterstützt. Umfasst eine verschachtelte Struktur eine Struktur, deren Name mit dem der übergeordneten Struktur identisch ist, ist der Import zwar erfolgreich, die logischen Definitionen sind jedoch nicht korrekt. Um dieses Problem zu vermeiden, sollten Sie darauf achten, dass die verschachtelte Struktur und die äußere bzw. übergeordnete Struktur verschiedene Namen haben.
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:48


ReferenzthemaReferenzthema | Version 8.0.0.5 | bd34063_