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 |
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 | |
short sem sinal | xsd:unsignedShort | |
|
xsd:int | |
|
xsd:unsignedInt | |
|
xsd:long | |
|
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 |
|
Comprimento = 4 (consulte a nota 2) Unidades de Comprimento = bytes |
|
Comprimento = 4 (consulte a nota 2) Unidades de Comprimento = bytes |
|
Comprimento = 8 Unidades de Comprimento = bytes |
|
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) |