exip  Alpha 0.5.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
bodyEncode.c File Reference

Implementation of data and events serialization. More...

#include "bodyEncode.h"
#include "sTables.h"
#include "streamEncode.h"
#include "ioUtil.h"
#include "stringManipulate.h"
#include "grammars.h"
#include "memManagement.h"
#include "dynamicArray.h"

Go to the source code of this file.

Functions

errorCode encodeStringData (EXIStream *strm, String strng, QNameID qnameID, Index typeId)
 Encodes String value into EXI stream. More...
 
errorCode encodeProduction (EXIStream *strm, EventTypeClass eventClass, boolean isSchemaType, QName *qname, EXITypeClass chTypeClass, Production *prodHit)
 Finds the grammar production based on the event (and eventually the qname in case of SE and AT) More...
 
errorCode encodeQName (EXIStream *strm, QName qname, EventType eventT, QNameID *qnameID)
 Encodes QName into EXI stream. More...
 
errorCode encodeUri (EXIStream *strm, String *uri, SmallIndex *uriId)
 Encodes URI into EXI stream. More...
 
errorCode encodeLn (EXIStream *strm, String *ln, QNameID *qnameID)
 Encodes Local Name into EXI stream. More...
 
errorCode encodePfxQName (EXIStream *strm, QName *qname, EventType eventT, SmallIndex uriId)
 Encodes the prefix part of the QName into the EXI stream in case the Preserve.prefixes == TRUE. More...
 
errorCode encodePfx (EXIStream *strm, SmallIndex uriId, String *prefix)
 Encodes the prefix part of the NS event into the EXI stream. More...
 
errorCode encodeIntData (EXIStream *strm, Integer int_val, QNameID qnameID, Index typeId)
 Encodes Integer value into EXI stream. More...
 

Variables

const String XML_SCHEMA_INSTANCE
 

Detailed Description

Date
Mar 23, 2011
Author
Rumen Kyusakov
Version
0.5
[Revision] $Id: bodyEncode.c 352 2014-11-25 16:37:24Z kjussakov $

Definition in file bodyEncode.c.

Function Documentation

errorCode encodeIntData ( EXIStream strm,
Integer  int_val,
QNameID  qnameID,
Index  typeId 
)
Parameters
[in,out]strmEXI stream
[in]int_valinteger to be written
[in]qnameIDThe uri/ln ids in the URI string table
[in]typeIdindex in the type table. It is used to determine the EXI int type and additional restrictions
Returns
Error handling code

Definition at line 753 of file bodyEncode.c.

errorCode encodeLn ( EXIStream strm,
String ln,
QNameID qnameID 
)
Parameters
[in,out]strmEXI stream
[in]lnlocal name to be written
[out]qnameIDid of the qname in the URI and LN string tables
Returns
Error handling code

Definition at line 667 of file bodyEncode.c.

errorCode encodePfx ( EXIStream strm,
SmallIndex  uriID,
String prefix 
)
Parameters
[in,out]strmEXI stream
[in]uriIDid of the uri row of the URI the string table
[in]prefixprefix to be written
Returns
Error handling code

Definition at line 731 of file bodyEncode.c.

errorCode encodePfxQName ( EXIStream strm,
QName qname,
EventType  eventT,
SmallIndex  uriID 
)
Parameters
[in,out]strmEXI stream
[in]qnameqname to be written
[in]eventT(EVENT_SE_ALL or EVENT_AT_ALL) used for error checking purposes: If the given prefix does not exist in the associated partition, the QName MUST be part of an SE event and the prefix MUST be resolved by one of the NS events immediately following the SE event (see resolution rules below).
[in]uriIDthe QName uriID
Returns
Error handling code

Definition at line 696 of file bodyEncode.c.

errorCode encodeProduction ( EXIStream strm,
EventTypeClass  eventClass,
boolean  isSchemaType,
QName qname,
EXITypeClass  chTypeClass,
Production prodHit 
)
Parameters
[in,out]strmEXI stream
[in]eventClassevent class type to be looked up
[in]isSchemaTypedetermine if the data type should be encoded as non-schema type
[in]qnameelement or attribute QName in case of SE or AT events; NULL otherwise
[in]chTypeClassthe type of the "value" content of CH EXI events; if not CH event then VALUE_TYPE_NONE_CLASS
[out]prodHitthe matched grammar production
Returns
Error handling code

Definition at line 108 of file bodyEncode.c.

errorCode encodeQName ( EXIStream strm,
QName  qname,
EventType  eventT,
QNameID qnameID 
)
Parameters
[in,out]strmEXI stream
[in]qnameqname to be written
[in]eventT(EVENT_SE_ALL or EVENT_AT_ALL) used for error checking purposes: If the given prefix does not exist in the associated partition, the QName MUST be part of an SE event and the prefix MUST be resolved by one of the NS events immediately following the SE event (see resolution rules below).
[out]qnameIDthe QName ID
Returns
Error handling code

Definition at line 629 of file bodyEncode.c.

errorCode encodeStringData ( EXIStream strm,
String  strng,
QNameID  qnameID,
Index  typeId 
)
Parameters
[in,out]strmEXI stream
[in]strngstring to be written
[in]qnameIDThe uri/ln ids in the URI string table
[in]typeIdconstraints and restrictions on the String type according to the grammar production
Returns
Error handling code

Definition at line 34 of file bodyEncode.c.

errorCode encodeUri ( EXIStream strm,
String uri,
SmallIndex uriID 
)
Parameters
[in,out]strmEXI stream
[in]uriuri to be written
[out]uriIDid of the uri row written in the string table
Returns
Error handling code

Definition at line 646 of file bodyEncode.c.

Variable Documentation

const String XML_SCHEMA_INSTANCE

Definition at line 84 of file sTables.c.