WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Importando de C (DFDL): Recursos Suportados

O importador C usa valores-padrão ao mapear tipos de dados C para elementos do modelo de mensagem.

A tabela a seguir mostra como as definições C influenciam as configurações de esquema XML no modelo de mensagens. Alguns tipos de xsd são colocados entre sinais de maior e menor (< >). Os colchetes indicam um tipo simples anônimo baseado nesse tipo. Para sequências, a finalidade do tipo anônimo é incluir uma restrição de comprimento máximo. Para tipos numéricos, a finalidade do tipo anônimo é incluir uma restrição de valor mínimo ou máximo.

Tipo de Dados C Tipo de Esquema XML Observações
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  
short sem sinal 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  
<qualquer tipo de ponteiro> xsd:hexBinary  
<qualquer enum>   (consulte a nota 1)

A tabela a seguir mostra como as definições C influenciam as propriedades DFDL dos elementos que são gerados no modelo de mensagem.

Tipo de Dados C Propriedades DFDL
char Comprimento = 1

Unidades de Comprimento = bytes

char[10] Comprimento = 10

Unidades de Comprimento = bytes

Justificação da Sequência = esquerda

char[10][3] Comprimento = 3

(e Máx. de Ocorrências = 10)

Unidades de Comprimento = bytes

Justificação da Sequência = esquerda

char[10][3][6] Comprimento =6

(e Máx. de Ocorrências = 30)

Unidades de Comprimento = bytes

Justificação da Sequência = esquerda

unsigned char Comprimento = 1

Unidades de Comprimento = bytes

unsigned char[2] Comprimento = 1

(e Máx. de Ocorrências = 2)

Unidades de Comprimento = bytes

signed char Comprimento = 1

Unidades de Comprimento = bytes

signed char[2] Comprimento = 1

(e Máx. de Ocorrências = 2)

Unidades de Comprimento = bytes

int Comprimento = 4

Unidades de Comprimento = bytes

int[2] Comprimento = 4

(e Máx. de Ocorrências = 2)

Unidades de Comprimento = bytes

int[2][3] Comprimento = 4

(e Máx. de Ocorrências = 6)

Unidades de Comprimento = bytes

unsigned int Comprimento = 4

Unidades de Comprimento = bytes

short Comprimento = 2

Unidades de Comprimento = bytes

short sem sinal Comprimento = 2

Unidades de Comprimento = bytes

  • long
  • long int
Comprimento = 4 (consulte a nota 2)

Unidades de Comprimento = bytes

  • unsigned long
  • unsigned long int
Comprimento = 4 (consulte a nota 2)

Unidades de Comprimento = bytes

  • long long
  • long long int
Comprimento = 8

Unidades de Comprimento = bytes

  • unsigned long long
  • unsigned long long int
Comprimento=8

Unidades de Comprimento = bytes

float Comprimento = 4

Unidades de Comprimento = bytes

double Comprimento = 8

Unidades de Comprimento = bytes

long double Comprimento = 8

Unidades de Comprimento = bytes

<qualquer tipo de ponteiro> Comprimento = 4

Unidades de Comprimento = bytes

<qualquer enum> (consulte a nota 1)
Observações:
  1. O tipo e o comprimento de um enum são afetados pela opção do importador C Tamanho de Enum:
    • Para 1: Tipo lógico = xsd:byte, dfdl:comprimento = 1 byte.
    • Para 2: Tipo lógico = xsd:short, dfdl:comprimento = 2 bytes.
    • Para 4: Tipo lógico = xsd:int, dfdl:comprimento = 4 bytes.
    • Para Compact: É escolhida a menor representação na qual a enumeração se encaixa.
  2. O comprimento do ponteiro é afetado pelas opções Tamanho do Endereço C:
    • Para 32 bits: dfdl:comprimento = 4 bytes.
    • Para 64 bits: dfdl:comprimento = 8 bytes.
  3. Os nomes de elementos que estão em conflito com as palavras-chaves de linguagem Java™ são modificados prefixando-os com um único caractere sublinhado.
  4. A palavra-chave _Packed não é suportada. Apenas declarações C ANSI são suportadas.
  5. O número inteiro longo de 128 bits ( 16 bytes) não é suportado.
  6. Extensões orientadas a objetos C++ não são suportadas. Apenas declarações C ANSI são suportadas.
  7. As estruturas C recursivas não são suportadas. Se uma estrutura aninhada contiver uma estrutura com o mesmo nome da estrutura pai, a importação será bem-sucedida, mas as definições lógicas não estarão corretas. Para evitar esse problema, assegure-se de que a estrutura aninhada e a estrutura externa ou pai tenham nomes diferentes.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:31:10


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | bd34063_