18 #include "EXISerializer.h"
25 #include "stringManipulate.h"
57 #if EXI_PROFILE_DEFAULT
108 #if EXI_PROFILE_DEFAULT
113 #if DEBUG_CONTENT_IO == ON && EXIP_DEBUG_LEVEL <= WARNING
122 #if DEBUG_CONTENT_IO == ON && EXIP_DEBUG_LEVEL <= WARNING
141 else if(schema !=
NULL)
171 #if EXI_PROFILE_DEFAULT
252 #if EXI_PROFILE_DEFAULT
254 TRY(encodeATXsiType(strm));
255 TRY(encodeAnyType(strm));
275 #if EXI_PROFILE_DEFAULT
282 if(elemGrammar !=
NULL)
288 #if BUILD_IN_GRAMMARS_USE
291 TRY(createBuiltInElementGrammar(&newElementGrammar, strm));
297 #elif EXI_PROFILE_DEFAULT
328 if(elemGrammar !=
NULL)
362 #if EXI_PROFILE_DEFAULT
364 TRY(encodeATXsiType(strm));
365 TRY(encodeAnyType(strm));
394 #if EXI_PROFILE_DEFAULT
402 TRY(encodeATXsiType(strm));
413 TRY(encodeATXsiType(strm));
414 TRY(encodeAnyType(strm));
426 #if EXIP_DEBUG == ON && EXIP_DEBUG_LEVEL == WARNING
462 DEBUG_MSG(
ERROR,
DEBUG_CONTENT_IO, (
">In schema-informed grammars, xsi:type and xsi:nil attributes MUST NOT be represented using AT(*) terminal\n"));
508 intTypeId = prodHit.
typeId;
517 boolean isXsiNilAttr =
FALSE;
543 booleanTypeId = prodHit.
typeId;
564 #if EXIP_IMPLICIT_DATA_TYPE_CONVERSION
598 #if EXI_PROFILE_DEFAULT
600 TRY(encodeATXsiType(strm));
601 TRY(encodeAnyType(strm));
685 #if EXIP_IMPLICIT_DATA_TYPE_CONVERSION
782 #if EXIP_IMPLICIT_DATA_TYPE_CONVERSION
837 unsigned int totalDigits = 0;
839 if(dec_val.exponent != 0 && dec_val.mantissa != 0)
841 int64_t mantissa = dec_val.mantissa;
848 if(dec_val.exponent > 0)
849 totalDigits += dec_val.exponent;
860 unsigned int fractionDigits = 0;
862 if(dec_val.exponent < 0 && dec_val.mantissa != 0)
863 fractionDigits = -dec_val.exponent;
880 #if EXIP_IMPLICIT_DATA_TYPE_CONVERSION
946 if(newGrammar !=
NULL)
980 #if EXI_PROFILE_DEFAULT
989 tmpEvCode.
part[0] = 1;
990 tmpEvCode.
bits[0] = 1;
994 tmpEvCode.
part[0] = 0;
995 tmpEvCode.
bits[0] = 0;
998 tmpEvCode.
part[1] = 2;
1046 return tmp_err_code;
1053 if(bufSize < strm->context.bufferIndx)
1078 #if BUILD_IN_GRAMMARS_USE
1145 if(elemGrammar !=
NULL)
1165 #if EXI_PROFILE_DEFAULT
1172 if(elemGrammar !=
NULL)
1178 #if BUILD_IN_GRAMMARS_USE
1181 TRY(createBuiltInElementGrammar(&newElementGrammar, strm));
1188 #elif EXI_PROFILE_DEFAULT
1237 #if EXI_PROFILE_DEFAULT
1250 tmpEvCode.
part[0] = 1;
1251 tmpEvCode.
bits[0] = 1;
1255 tmpEvCode.
part[0] = 0;
1256 tmpEvCode.
bits[0] = 0;
1260 tmpEvCode.
part[1] = 1;