XML策略设置
结构定义
XML 策略结构在文件 include/mcoxml.h 中定义如下:
typedef struct mco_xml_policy_t_
{
MCO_NUM_BASE int_base;
MCO_NUM_BASE quad_base;
MCO_TEXT_CODING text_coding;
MCO_TEXT_CODING blob_coding;
MCO_FLOAT_FORMAT float_format;
mco_bool indent;
mco_bool ignore_field; /* 忽略 XML 中不在类中的字段 */
mco_bool encode_spec; /* 对代码小于 32 的字符进行编码,换行符(LF)除外 */
mco_bool encode_lf; /* 对换行符进行编码 */
mco_bool encode_nat; /* 编码国家字符(代码>127) */
mco_bool truncate_sp; /* 截断字符串末尾的空格 */
mco_bool use_xml_attrs; /* 使用替代的 XML 表示形式 */
/* 属性 */
mco_bool ignore_autoid; /* 在创建操作中忽略autoid值 */
mco_bool ignore_autooid; /* 在创建操作中忽略auto_oid值 */
} mco_xml_policy_t;
枚举值
MCO_NUM_BASE
、MCO_TEXT_CODING
和 MCO_FLOAT_FORMAT
的允许值定义如下:
typedef enum MCO_NUM_BASE_E
{
MCO_NUM_OCT = 8,
MCO_NUM_DEC = 10,
MCO_NUM_HEX = 16
} MCO_NUM_BASE;
typedef enum MCO_TEXT_CODING_E
{
MCO_TEXT_ASCII = 1,
MCO_TEXT_BINHEX = 2,
MCO_TEXT_BASE64 = 3
} MCO_TEXT_CODING;
typedef enum MCO_FLOAT_FORMAT_E
{
MCO_FLOAT_FIXED = 1,
MCO_FLOAT_EXPONENT = 2
} MCO_FLOAT_FORMAT;
默认值
该策略的默认值设置如下:
static mco_xml_policy_t default_xml_policy =
{
MCO_NUM_DEC, /* int_base 是十进制的 */
MCO_NUM_HEX, /* quad_base 是十六进制的 */
MCO_TEXT_ASCII, /* text_coding(字符串)是ASCII */
MCO_TEXT_BASE64, /* blob_coding 是 Base64 编码 */
MCO_FLOAT_EXPONENT, /* Float_format是指数型的 */
MCO_YES, /* 文本缩进 */
MCO_NO, /* 所有字段都必须填写 */
/* 传入的 XML */
MCO_YES, /* 对特殊字符(< 32)进行编码 */
MCO_YES, /* 对换行符进行编码 */
MCO_NO, /* 编码国家字符(>127) */
MCO_YES /* 截断尾部空格 */
MCO_NO, /* 不要使用属性 */
MCO_YES, /* 忽略autoid值 */
MCO_YES /* 忽略autooid值 */
};