Oracle® Database XML C++ API Reference 11g Release 2 (11.2) Part Number E10771-01 |
|
|
View PDF |
Ctx is the namespace for TCtx XML context related types and interfaces.
This chapter contains the following sections:
Table 1-1 summarizes the datatypes of the Ctx
package.
Table 1-1 Summary of Datatypes; Ctx Package
Datatype | Description |
---|---|
A single supported encoding. |
|
An array of encodings. |
A single supported encoding.
Definition
typedef struct encoding { oratext *encname; oratext *encvalue; } encoding;
An array of encodings.
Definition
typedef struct encodings { unsigned num; encoding *enc; } encodings;
Table 1-2 summarizes the methods available through the MemAllocator
interface.
Table 1-2 Summary of MemAllocator Methods; Ctx Package
Function | Summary |
---|---|
Allocates memory of given size. |
|
Deallocate memory pointed to by the argument. |
|
Virtual destructor - interface level handle to actual destructors. |
This is a virtual member function that defines a prototype for user defined allocator functions
Syntax
virtual void* alloc( ub4 size) = 0;
Parameter | Description |
---|---|
size |
memory size |
This is a virtual member function that defines a prototype for user defined deallocator functions. Such deallocators are supposed to deallocate memory allocated by the alloc member functions
Syntax
virtual void dealloc( void* ptr) = 0;
Parameter | Description |
---|---|
ptr |
pointer to previously allocated memory |
It provides an interface level handle to actual destructors that can be invoked without knowing their names or implementations
Syntax
virtual ~MemAllocator() {}
Table 1-3 summarizes the methods available through the TCtx
interface.
Table 1-3 Summary of TCtx Methods; Ctx Package
Function | Summary |
---|---|
Class constructor. |
|
Get data encoding in use by XML context. |
|
Get Error Handler provided by the user. |
|
Get memory allocator. |
|
Get a flag that indicates if data encoding is simple. |
|
Get a flag indicating if data encoding is Unicode. |
|
Destructor - clears space and destroys the implementation. |
TCtx constructor. It throws XmlException
if it fails to create a context object.
Syntax | Description |
---|---|
TCtx() throw (XMLException) |
This constructor creates the context object and initializes it with default values of parameters. |
TCtx( oratext* name, ErrorHandler* errh = NULL, MemAllocator* memalloc = NULL, encodings* encs = NULL) throw (XMLException) |
This constructor creates the context object and initializes it with parameter values provided by the user. |
TCtx( oratext* name, up4 inpblksize, ErrorIfs* errh = NULL, MemAllocator* memalloc = NULL, encodings* encs = NULL) throw (XMLException) |
This constructor creates the context object and initializes it with parameter values provided by the user. Takes an additional parameter for memory block size from input source. |
Parameter | Description |
---|---|
name |
user defined name of the context |
errh |
user defined error handler |
memalloc |
user defined memory allocator |
encs |
user specified encodings |
inpblksize |
memory block size for input source |
Returns
(TCtx)
Context object
Returns data encoding in use by XML context. Ordinarily, the data encoding is chosen by the user, so this function is not needed. However, if the data encoding is not specified, and allowed to default, this function can be used to return the name of that default encoding.
Syntax
oratext* getEncoding() const;
Returns
(oratext *)
name of data encoding
This member functions returns Error Handler provided by the user when the context was created, or NULL
if none were provided.
Syntax
ErrorHandler* getErrHandler() const;
Returns
(ErrorHandler *)
Pointer to the Error Handler object, or NULL
This member function returns memory allocator provided by the user when the context was created, or default memory allocator. It is important that this memory allocator is used for all C level memory allocations
Syntax
MemAllocator* getMemAllocator() const;
Returns
(MemAllocator*)
Pointer to the memory allocator object
Returns a flag saying whether the context's data encoding is "simple", single-byte for each character, like ASCII or EBCDIC.
Syntax
boolean isSimple() const;
Returns
(boolean)
TRUE
of data encoding is "simple", FALSE
otherwise
Returns a flag saying whether the context's data encoding is Unicode, UTF-16, with two-byte for each character.
Syntax
boolean isUnicode() const;
Returns
(boolean)
TRUE
if data encoding is Unicode, FALSE
otherwise
Destructor - should be called by the user the context object is no longer needed
Syntax
~Tctx();