📄 mcoxml.h
字号:
/******************************************************************* * * * mcoxml.h * * * * This file is a part of the eXtremeDB source code * * Copyright (c) 2001-2006 McObject LLC * * All Rights Reserved * * * *******************************************************************/#ifndef MCO_XML_H__#define MCO_XML_H__/* * ++ * * PROJECT: eXtremeDB(tm) (c) McObject LLC * * SUBSYSTEM: XML support * * MODULE: MCOXML.H * * ABSTRACT: Header file of data xml i/o * * * VERSION: 1.0 * * HISTORY: * 1.0- 1 AD 08-Aug-2002 Created it was (xml output) * 2 AD 19-Aug-2002 added Base64 encoding * 3 AD 28-Aug-2002 XML parsing was created * 4 AD 05-Sep-2002 Added flagsfor string coding * TP 27-Sep-2003 Alternative XML representation * * * -- */#ifdef __cplusplusextern "C" { #endif #include "mco.h"/* * Error codes for XML subsystem */#define MCO_E_XML_INVINT MCO_ERR_XML_W+1 /* invalid integer */#define MCO_E_XML_INVFLT MCO_ERR_XML_W+2 /* invalid float */#define MCO_E_XML_INTOVF MCO_ERR_XML_W+3 /* integer overflow */#define MCO_E_XML_INVBASE MCO_ERR_XML_W+4 /* invalid base for quad (10) */#define MCO_E_XML_BUFSMALL MCO_ERR_XML_W+5 /* buffer too small for double */ /* in fixed point format */#define MCO_E_XML_VECTUNSUP MCO_ERR_XML_W+6 /* unsupported base type for vector */#define MCO_E_XML_INVPOLICY MCO_ERR_XML_W+7 /* invalid xml policy value */#define MCO_E_XML_INVCLASS MCO_ERR_XML_W+21/* obj class & xml class not the same */#define MCO_E_XML_NO_OID MCO_ERR_XML_W+22/* first field in xml object MUST be OID */#define MCO_E_XML_INVOID MCO_ERR_XML_W+23/* invalid data in OID field (hex code) */#define MCO_E_XML_INVFLDNAME MCO_ERR_XML_W+24/* invalid field name */#define MCO_E_XML_FLDNOTFOUND MCO_ERR_XML_W+25/* specified field was not found */#define MCO_E_XML_INVENDTAG MCO_ERR_XML_W+26/* invalid closing tag name */#define MCO_E_XML_UPDID MCO_ERR_XML_W+27/* cannot update OID or AUTOID */#define MCO_E_XML_INVASCII MCO_ERR_XML_W+28/* invalid xml coding in ascii string */#define MCO_E_XML_INCOMPL MCO_ERR_XML_W+29/* xml data incomplete (closing tag not found) */#define MCO_E_XML_ARRSMALL MCO_ERR_XML_W+30/* array is not large enough to hold all elements */#define MCO_E_XML_INVARREL MCO_ERR_XML_W+31/* invalid name of array element */#define MCO_E_XML_EXTRAXML MCO_ERR_XML_W+32/* extra xml found after parsing */#define MCO_E_XML_NOTWF MCO_ERR_XML_W+33/* not well-formed xml *//* * Data format policy */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;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; /* ignore field in xml, that is not in class */ mco_bool encode_spec; /* encode chars with code < 32, except LF */ mco_bool encode_lf; /* encode line feeds */ mco_bool encode_nat; /* encode national chars (code > 127) */ mco_bool truncate_sp; /* truncate trailing spaces in chars */ mco_bool use_xml_attrs; /* alternative XML representation, using atributes */ mco_bool ignore_autoid; /* ignore autoid value in put and create operations */ mco_bool ignore_autooid;/* pass auto_oid in get/put/create operations */} mco_xml_policy_t;void mco_xml_get_default_policy(/*OUT*/ mco_xml_policy_t * p);MCO_RET mco_xml_get_policy(mco_trans_h t, /*OUT*/ mco_xml_policy_t * p);MCO_RET mco_xml_set_policy(mco_trans_h t, const mco_xml_policy_t * p);MCO_RET mco_db_xml_export ( mco_trans_h t, void * stream_handle, mco_stream_write output_stream_writer );MCO_RET mco_db_xml_import ( mco_trans_h t, void * stream_handle, mco_stream_read input_stream_reader );#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -