本部分描述将 C 数据类型映射为 MRM 数据类型时,C 导入器使用的缺省值。
下表显示 C 定义如何影响消息模型中的 XML 模型设置。有些 xsd 类型在类型后有“-”。这表明它是基于此类型的匿名简单类型。对于字符串,匿名类型的用途是添加长度限制;对于数字类型,用途是添加最小和/或最大值限制。
压缩数据结构数据类型在 C 导入器范围外。
C 数据类型 | 逻辑类型 | 注 |
---|---|---|
Char | xsd:string- | length=1 |
Char[10] | xsd:string- | length=10 |
Char[10][3] | xsd:string- | length=3 |
Char[10][3][6] | xsd:string- | length=6 |
不带符号的字符型 | xsd:unsignedByte | |
Unsigned Char[2] | xsd:unsignedByte | |
带符号字符型 | xsd:byte | |
Signed Char[2] | xsd:byte | |
Int | xsd:int | |
Int[2] | xsd:int | |
Int[2][3] | xsd:int | |
Unsigned Int | xsd:unsignedInt | |
Short | xsd:short | |
Unsigned Short | xsd:unsignedShort | |
Long | xsd:int | |
Long Long Int | xsd:long | |
Float | xsd:float | |
Double | xsd:double | |
长型双精度(请参阅注 1) | xsd:double | |
<任何指针类型> | xsd:hexBinary- | length=(请参阅注 2) |
<任何枚举> | (请参阅注 3) |
下表显示 C 定义如何影响消息模型中生成的元素的物理 CWF 特性。
C 数据类型 | CWF 物理类型 | CWF 长度特性 | 其他 CWF 特性 |
---|---|---|---|
Char | 固定长度 | Length Count = 1 Length Units = Bytes |
|
Char[10] | 固定长度 | Length Count = 10 Length Units = Bytes |
左对齐 |
Char[10][3] | 固定长度 | 长度计数 = 3 (且最大出现次数 = 10) 长度单位 = 字节 |
左对齐 |
Char[10][3][6] | 固定长度 | 长度计数 = 6 (且最大出现次数 = 30) 长度单位 = 字节 |
左对齐 |
不带符号的字符型 | 整数 | Length Count = 1 | Signed = no |
Unsigned Char[2] | 整数 | Length Count = 1 (且最大出现次数 = 2) |
Signed = no |
带符号字符型 | 整数 | Length Count = 1 | Signed = yes |
Signed Char[2] | 整数 | Length Count = 1 (且最大出现次数 = 2) |
Signed = yes |
Int | 整数 | Length Count = 4 | Signed = yes |
Int[2] | 整数 | Length Count = 4 (且最大出现次数 = 2) |
Signed = yes |
Int[2][3] | 整数 | Length Count = 4 (且最大出现次数 = 6) |
Signed = yes |
Unsigned Int | 整数 | Length Count = 4 | Signed = no |
Short | 整数 | 长度计数 = 2 | Signed = yes |
Unsigned Short | 整数 | 长度计数 = 2 | Signed = no |
Long | 整数 | 长度计数 = 4 (请参阅注 4) | Signed = yes |
Long Long Int | 整数 | Length Count = 8 | Signed = yes |
Float | Float | Length Count = 4 | |
Double | Float | Length Count = 8 | |
长型双精度(请参阅注 1) | Float | Length Count = 8 | |
<任何指针类型> | (请参阅注 2) | ||
<任何枚举> | 整数 | (请参阅注 3) |