xmlsrv_plat/cxml_library_api/inc/nw_tinydom.h
branchRCL_3
changeset 21 604ca70b6235
parent 20 889504eac4fb
--- a/xmlsrv_plat/cxml_library_api/inc/nw_tinydom.h	Tue Aug 31 17:02:56 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1300 +0,0 @@
-/*
-* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-/** ----------------------------------------------------------------------- **
-    @package:     NW_TinyDom
-
-    @synopsis:    default
-
-    @description: default
-
- ** ----------------------------------------------------------------------- **/
-
-#ifndef NW_TINY_DOM_H
-#define NW_TINY_DOM_H
-
-#include <xml/cxml/cxml_proj.h>
-#include <xml/cxml/nw_tinytree.h>
-#include <xml/cxml/nw_wbxml_document.h>
-#include <xml/cxml/nw_wbxml_parse.h>
-#include <xml/cxml/nw_wbxml_opaque.h>
-#include <xml/cxml/nw_encoder_wbxmlwriter.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-
-
-enum NW_TinyDom_ExtensionType_e {
-  NW_TINYDOM_EXTENSION_TYPE_NORMAL,
-  NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER
-};
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:      NW_TinyDom_Extension
-
-    @synopsis:    Extension structure.
-
-    @scope:       public
-    @variables:
-       NW_Uint32 token
-                  Token.
-
-       NW_String_t string
-                  Extension string.
-
-    @description: Extension structure.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_Extension_s{
-  /* type is either NW_TINYDOM_EXTENSION_TYPE_NORMAL or
-     NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER */
-  NW_Uint8 type;
-  NW_Uint32 token;
-  union {
-    NW_String_t string;
-    NW_Uint32 x;
-  } value;
-} NW_TinyDom_Extension_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @union:      NW_TinyDom_AttrValComponent
-
-    @synopsis:    Attribute value component union.
-
-    @scope:       public
-    @variables:
-       NW_Uint32 value_token
-                  token
-
-       NW_String_t string
-                  string
-
-       NW_TinyDom_Extension_t ext
-                  extension
-
-       NW_Uint32 entity
-                  entity.
-
-       NW_WBXML_Opaque_t opaque
-                  opaque
-
-    @description: Union of all possible attribute value types.
- ** ----------------------------------------------------------------------- **/
-typedef union NW_TinyDom_AttrValComponent_u{
-  NW_Uint32 value_token;
-  NW_String_t string;
-  NW_TinyDom_Extension_t ext;
-  NW_Uint32 entity;
-  NW_WBXML_Opaque_t opaque;
-}NW_TinyDom_AttrValComponent_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:       NW_TinyDom_AttrVal
-
-    @synopsis:    Attribute value.
-
-    @scope:       public
-    @variables:
-       NW_Uint32 type
-                  type
-
-       NW_TinyDom_AttrValComponent_t component
-                  attribute value union of all possible types.
-
-    @description: An attribute value has a type info field and a union of
-                  all the possible types. The type info values are defined
-                  in NW_WBXML_Attribute.h. This type is designed to be
-                  passed as an in/out param to the attribute value iterator.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_AttrVal_s {
-  NW_Uint32 type;
-  NW_TinyDom_AttrValComponent_t component;
-} NW_TinyDom_AttrVal_t;
-
-
-/* Node type bits */
-
-#define T_DOM_NODE_DOC          (NW_Uint16)00
-#define T_DOM_NODE_TAG          (NW_Uint16)01
-#define T_DOM_NODE_ATTR         (NW_Uint16)02
-#define T_DOM_NODE_TEXT         (NW_Uint16)03
-#define T_DOM_NODE_PI           (NW_Uint16)04
-#define T_DOM_NODE_COMMENT      (NW_Uint16)05
-#define T_DOM_NODE_CDATASECTION (NW_Uint16)06
-#define T_DOM_NODE_XML          (NW_Uint16)80
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:      NW_TinyDom_Tree
-
-    @synopsis:    Wrapper for tree components.
-
-    @scope:       public
-    @variables:
-       NW_WBXML_Document_t* doc
-                  The document.
-
-       NW_TinyTree_t tree
-                  The tree.
-
-       NW_WBXML_Parser_t* parser
-                  Parser associated with this tree.
-
-       NW_WBXML_Writer_t* writer
-                  Writer for this tree.
-
-       NW_TinyTree_Node_t* root_node
-                  Root node of tree.
-
-    @description:  Wrapper for tree components.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_Tree_s{
-  NW_WBXML_Document_t* doc;
-  NW_TinyTree_t tree;
-  NW_WBXML_Parser_t* parser;
-  NW_WBXML_Writer_t* writer;
-  NW_TinyTree_Node_t* root_node;
-}NW_TinyDom_Tree_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:      NW_TinyDom_Parser
-
-    @synopsis:    Parser structure.
-
-    @scope:       public
-    @variables:
-       NW_Uint32 state
-                  State.
-
-       NW_TinyTree_Offset_t node_count
-                  default
-
-       NW_TinyTree_Offset_t cp_count
-                  Current offset.
-
-       NW_TinyDom_Tree_t* dom_tree
-                  The tree.
-
-       NW_TinyTree_Node_t* current_node
-                  Present position in tree.
-
-       NW_TinyTree_Offset_t content_offset
-                  Present offset into buffer.
-
-    @description: Parser structure.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_Parser_s{
-  NW_Uint32 state;
-  NW_TinyTree_Offset_t node_count;
-  NW_TinyTree_Offset_t cp_count;
-  NW_TinyDom_Tree_t* dom_tree;
-  NW_TinyTree_Node_t* current_node;
-  /* Offset where current content begins */
-  NW_TinyTree_Offset_t content_offset;
-}NW_TinyDom_Parser_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Tree_construct
-
-    @synopsis:    Constructor.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_TinyDom_Tree_t* domTree
-                  The tree.
-
-       [in] NW_WBXML_Parser_t* wbxmlParser
-                  The parser
-
-       [in] NW_WBXML_Document_t* doc
-                  The document.
-
-       [in] NW_WBXML_Writer_t* writer
-                  The writer.
-
-    @description: Constructor.
-
- ** ----------------------------------------------------------------------- **/
-void
-NW_TinyDom_Tree_construct(NW_TinyDom_Tree_t* domTree,
-                          NW_WBXML_Parser_t* wbxmlParser,
-                          NW_WBXML_Document_t* doc,
-                          NW_WBXML_Writer_t* writer);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Tree_destruct
-
-    @synopsis:    Destructor.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_TinyDom_Tree_t* domTree
-                  The DOM tree.
-
-    @description: Destructor.
-
- ** ----------------------------------------------------------------------- **/
-void
-NW_TinyDom_Tree_destruct(NW_TinyDom_Tree_t* domTree);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Parser_construct
-
-    @synopsis:    Constructor.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Parser_t* domParser
-                  The DOM parser.
-
-       [in] NW_TinyDom_Tree_t* domTree
-                  The DOM tree.
-
-    @description: Constructor.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C void
-NW_TinyDom_Parser_construct(NW_TinyDom_Parser_t* domParser,
-                            NW_TinyDom_Tree_t* domTree);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Parser_destruct
-
-    @synopsis:    Desctructor.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_TinyDom_Parser_t* domParser
-                  The DOM parser.
-
-    @description: Destructor.
-
- ** ----------------------------------------------------------------------- **/
-void
-NW_TinyDom_Parser_destruct(NW_TinyDom_Parser_t* domParser);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Parser_buildTree
-
-    @synopsis:    Build tiny DOM tree.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Parser_t* domParser
-                  The DOM parser.
-
-       [in] char* buffer
-                  The buffer containing the document data.
-
-       [in] NW_Uint32 buffsize
-                  The size of the document buffer.
-
-       [in] NW_Bool freeBuff
-                  Flag
-
-    @description: Builds a DOM tree. The DOM parser must previously have
-                  been initialized to use a parser (WBXML or XML) that
-                  knows how to parse the contents of the buffer.Build tiny
-                  DOM tree. Run Pass1 and Pass 2.
-
-    @returns:     NW_Status_t
-                  default
-
-       [NW_STAT_SUCCESS]
-                  Tree built.
-
-       [NW_STAT_WBXML_ERROR_BYTECODE]
-                  General error.
-
-       [NW_STAT_OUT_OF_MEMORY]
-                  Out of memory.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_Parser_buildTree(NW_TinyDom_Parser_t* domParser,
-                            char* buffer,
-                            NW_Uint32 buffsize,
-                            NW_Bool freeBuff);
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Parser_incrementalBuildTree
-
-    @synopsis:    build/append tiny DOM tree.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Parser_t* domParser
-                  The DOM parser.
-
-       [in] char* buffer
-                  The buffer containing the document data.
-
-       [in] NW_Uint32 buffsize
-                  The size of the document buffer.
-
-       [in] NW_Bool freeBuff
-                  Flag
-
-    @description: Builds a DOM tree. The DOM parser must previously have
-                  been initialized to use a parser (WBXML or XML) that
-                  knows how to parse the contents of the buffer.Build tiny
-                  DOM tree. Run Pass1 and Pass 2.
-
-    @returns:     NW_Status_t
-                  default
-
-       [NW_STAT_SUCCESS]
-                  Tree built.
-
-       [NW_STAT_WBXML_ERROR_BYTECODE]
-                  General error.
-
-       [NW_STAT_OUT_OF_MEMORY]
-                  Out of memory.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_Parser_incrementalBuildTree(NW_TinyDom_Parser_t* domParser,
-                            char* buffer,
-                            NW_Uint32 buffsize,
-                            NW_Bool freeBuff,
-                            NW_Int32 lastValid);
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Node_getType
-
-    @synopsis:    Get node type.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyTree_Node_t* node
-                  The DOM parser.
-
-    @description: Get node type.
-
-    @returns:     NW_Uint16
-                  Node flag.
-
- ** ----------------------------------------------------------------------- **/
-NW_Uint16
-NW_TinyDom_Node_getType(NW_TinyTree_Node_t* node);
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:      NW_TinyDom_ListIterator
-
-    @synopsis:    ListIterator structure.
-
-    @scope:       public
-    @variables:
-       NW_Uint32 state
-                  Iterator state.
-
-       void* segment
-                  Segment
-
-       NW_TinyTree_Offset_t segSize
-                  Segment size
-
-       NW_TinyTree_Offset_t offset
-                  Offset into document.
-
-       NW_TinyDom_Parser_t* tiny_parser
-                  Parser used for iteration.
-
-       void* context
-                  Context.
-
-    @description: ListIterator structure.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_ListIterator_s {
-  NW_Uint32 state;
-  void* segment;
-  NW_TinyTree_Offset_t segSize;
-  NW_TinyTree_Offset_t offset;
-  NW_TinyDom_Parser_t* tiny_parser;
-  void* context;
-}NW_TinyDom_ListIterator_t;
-
-
-/* Tiny dom routines to support tags */
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:      NW_TinyDom_Tag
-
-    @synopsis:    Tag structure.
-
-    @scope:       public
-    @variables:
-       NW_TinyDom_Parser_t* tiny_parser
-                  This parser.
-
-       NW_Uint32 fq_token
-                  Token with codepage and attribute/element tag.
-
-       NW_Uint32 name_index
-                  Index of first character of name into string table.
-
-    @description: Tag structure.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_Tag_s {
-  NW_TinyDom_Parser_t* tiny_parser;
-  NW_Uint32 fq_token;
-  NW_Uint32 name_index;
-}NW_TinyDom_Tag_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_getTagToken
-
-    @synopsis:    Get tag token.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Parser_t* parser
-                  The parser.
-
-       [in] NW_TinyTree_Node_t* node
-                  Node to use.
-
-    @description: Get tag token.
-
-    @returns:     NW_Uint32
-                  Tag token.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Uint32
-NW_TinyDom_getTagToken(NW_TinyDom_Parser_t* parser,
-                       NW_TinyTree_Node_t* node);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_getTagName
-
-    @synopsis:    Get tag name.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Parser_t* parser
-                  This parser.
-
-       [in] NW_TinyTree_Node_t* node
-                  This node.
-
-       [out] NW_String_t* name
-                  Name of tag.
-
-    @description: Get tag name.
-
-    @returns:     NW_Status_t
-                  Status of operation.
-
-       [NW_STAT_SUCCESS]
-                  Name found.
-
-       [NW_STAT_WBXML_NO_NAME]
-                  No name found.
-
-       [NW_STAT_WBXML_ERROR_BYTECODE]
-                  No name found.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_getTagName(NW_TinyDom_Parser_t* parser,
-                      NW_TinyTree_Node_t* node,
-                      NW_String_t* name);
-
-/* Tiny dom routines to support attributes */
-
-/** ----------------------------------------------------------------------- **
-    @typedef:     NW_TinyDom_AttrListHandle
-
-    @synopsis:    Attribute list handle.
-
-    @scope:       public
-    @type:        NW_TinyDom_ListIterator_t
-
-    @description: Attribute list handle.
- ** ----------------------------------------------------------------------- **/
-typedef NW_TinyDom_ListIterator_t NW_TinyDom_AttrListHandle_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttrListHandle_init
-
-    @synopsis:    Initialize attribute list handle.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_AttrListHandle_t* handle
-                  This handle.
-
-       [in] NW_TinyDom_Parser_t* parser
-                  This parser.
-
-       [in] NW_TinyTree_Node_t* node
-                  This node.
-
-    @description: Initialize attribute list handle.
-
- ** ----------------------------------------------------------------------- **/
-void
-NW_TinyDom_AttrListHandle_init(NW_TinyDom_AttrListHandle_t* handle,
-                               NW_TinyDom_Parser_t* parser,
-                               NW_TinyTree_Node_t* node);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttrListHandle_iterate
-
-    @synopsis:    Iterate through a list of attributes.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_TinyDom_AttrListHandle_t* handle
-                  The handle.
-
-    @description: Iterate through a list of attributes. There are no
-                  attribute list callbacks since we just want to iterate
-                  the attribute list, returning the start of each attribute.
-
-    @returns:     NW_TinyTree_Offset_t
-                  Tree offset  or NULL if at end of iteration.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Offset_t
-NW_TinyDom_AttrListHandle_iterate(NW_TinyDom_AttrListHandle_t* handle);
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:      NW_TinyDom_AttributeHandle
-
-    @synopsis:    An attribute handle, for iteration over values.
-
-    @scope:       public
-    @variables:
-       NW_TinyDom_ListIterator_t tlit
-                  The iterator structure.
-
-       void* value
-                  The current value.
-
-       NW_Uint32 fq_token
-                  Fully qualified token. That is: token, codepage and
-                  attribute flag.
-
-       NW_Uint32 name_index
-                  Index into string table.
-
-    @description: An attribute handle, for iteration over values.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_AttributeHandle_s {
-  NW_TinyDom_ListIterator_t tlit;
-  /* field value is a pointer to the struct to fill in by parsing */
-  NW_TinyDom_AttrVal_t* value;
-  NW_Uint32 fq_token;
-  NW_Uint32 name_index;
-} NW_TinyDom_AttributeHandle_t;
-
-
-/* ----------------------------------------------------------------------- **
-   Attribute values are made up of components of several types. These are
-   defined in WBXML/types.h
-** ----------------------------------------------------------------------- **/
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttributeHandle_init
-
-    @synopsis:    Initialize an attribute handle.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_TinyDom_AttributeHandle_t* handle
-                  The handle.
-
-       [in-out] NW_TinyDom_Parser_t* parser
-                  The parser.
-
-       [in] NW_TinyTree_Offset_t offset
-                  Offset into buffer.
-
-    @description: Initialize an attribute handle by parsing an attribute's
-                  start token and values, calling the attribute handlers.
-
- ** ----------------------------------------------------------------------- **/
-void
-NW_TinyDom_AttributeHandle_init(NW_TinyDom_AttributeHandle_t* handle,
-                                NW_TinyDom_Parser_t* parser,
-                                NW_TinyTree_Offset_t offset);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttributeHandle_valsIterate
-
-    @synopsis:    Iterate over attribute values.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_TinyDom_ListIterator_t *it
-                  The iterator.
-
-    @description: Initialize an attribute handle by parsing an attribute's
-                  start token and values, calling the attribute handlers.
-
-    @returns:     NW_TinyTree_Offset_t
-                  Offset.  If offset is 0, then at end of iteration.
-
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Offset_t
-NW_TinyDom_AttributeHandle_valsIterate(NW_TinyDom_ListIterator_t *it);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttributeHandle_getToken
-
-    @synopsis:    Get the token from the handle.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_AttributeHandle_t* handle
-                  dThe handle.
-
-    @description: Get the fully qualified token.
-
-    @returns:     NW_Uint32
-                  Token in handle structure.
-
- ** ----------------------------------------------------------------------- **/
-NW_Uint32
-NW_TinyDom_AttributeHandle_getToken(NW_TinyDom_AttributeHandle_t* handle);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttributeHandle_getName
-
-    @synopsis:    Get the name from the handle.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_AttributeHandle_t* handle
-                  The handle.
-
-       [out] NW_String_t* name
-                  The name.
-
-    @description: Get the name, if any, from the handle.
-
-    @returns:     NW_Status_t
-                  Status of operation.
-
-       [NW_STAT_SUCCESS]
-                  Name found.
-
-       [NW_STAT_WBXML_NO_NAME]
-                  Name not found.
-
-       [NW_STAT_WBXML_ERROR_BYTECODE]
-                  Invalid string in table.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_AttributeHandle_getName(NW_TinyDom_AttributeHandle_t* handle,
-                                   NW_String_t* name);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttributeHandle_iterateValues
-
-    @synopsis:    Iterate the values.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_AttributeHandle_t* handle
-                  The handle.
-
-       [out] NW_TinyDom_AttrVal_t* value
-                  Attribute value.
-
-    @description: Iterate the values.
-
-    @returns:     NW_TinyTree_Offset_t
-                  Buffer offset or zero if done.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Offset_t
-NW_TinyDom_AttributeHandle_iterateValues(NW_TinyDom_AttributeHandle_t* handle,
-                                         NW_TinyDom_AttrVal_t* value);
-
-
-/* TODO: Add method to get values as a string */
-
-
-/** ----------------------------------------------------------------------- **
-    @typedef:     NW_TinyDom_TextHandle
-
-    @synopsis:    A text handle, for iteration over text components.
-
-    @scope:       public
-    @type:        NW_TinyDom_AttributeHandle_t
-
-    @description: A text handle, for iteration over text components.
- ** ----------------------------------------------------------------------- **/
-typedef NW_TinyDom_AttributeHandle_t NW_TinyDom_TextHandle_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_TextHandle_init
-
-    @synopsis:    Initialize a text handle.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_TextHandle_t* handle
-                  The handle.
-
-       [in] NW_TinyDom_Parser_t* parser
-                  The parser.
-
-       [in] NW_TinyTree_Offset_t offset
-                  The offset.
-
-    @description: Initialize a text handle.
-
- ** ----------------------------------------------------------------------- **/
-void
-NW_TinyDom_TextHandle_init(NW_TinyDom_TextHandle_t* handle,
-                           NW_TinyDom_Parser_t* parser,
-                           NW_TinyTree_Offset_t offset);
-
-
-/** ----------------------------------------------------------------------- **
-    @typedef:     NW_TinyDom_Text
-
-    @synopsis:    Text item types are a subset of attribute value types.
-
-    @scope:       public
-    @type:        NW_TinyDom_AttrVal_t
-
-    @description: Text item types are a subset of attribute value types.
- ** ----------------------------------------------------------------------- **/
-typedef NW_TinyDom_AttrVal_t NW_TinyDom_Text_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_TextHandle_iterate
-
-    @synopsis:    Text item iterator.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_TextHandle_t* handle
-                  The handle.
-
-       [out] NW_TinyDom_Text_t* item
-                  The returned text item.
-    @description: Iterate through the text items in a text element, calling
-                  the text handlers
-
-    @returns:     NW_TinyTree_Offset_t
-                  Offset into buffer or zero if no item returned.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Offset_t
-NW_TinyDom_TextHandle_iterate(NW_TinyDom_TextHandle_t* handle,
-                              NW_TinyDom_Text_t* item);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_getDocHeader
-
-    @synopsis:    Get the doc header from the tiny tree.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyTree_t* tree
-                  The tree.
-
-    @description: Get the doc header from the tiny tree.
-
-    @returns:     NW_WBXML_Document_t*
-                  Doc header or NULL if NULL tree.
-
- ** ----------------------------------------------------------------------- **/
-NW_WBXML_Document_t*
-NW_TinyDom_getDocHeader(NW_TinyTree_t* tree);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_getParser
-
-    @synopsis:    Get a pointer to the dom parser from the tiny_tree.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyTree_t* tree
-                  The tree.
-
-    @description: Get a pointer to the dom parser from the tiny_tree.
-
-    @returns:     NW_TinyDom_Parser_t*
-                  default
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_TinyDom_Parser_t*
-NW_TinyDom_getParser(NW_TinyTree_t* tree);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_getTree
-
-    @synopsis:    Get a pointer to the dom tree from a tiny tree.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyTree_t* tree
-                  The tree.
-
-    @description: Get a pointer to the dom tree from a tiny tree.
-
-    @returns:     NW_TinyDom_Tree_t*
-                  POinter to the DOM tree or NULL if not found.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_TinyDom_Tree_t*
-NW_TinyDom_getTree(NW_TinyTree_t* tree);
-
-/* ----------------------------------------------------------------------- **
-   Dom write support methods: These are created as orphan nodes that
-   then need to be attached to the tree.
-** ----------------------------------------------------------------------- **/
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_createAttributeByToken
-
-    @synopsis:    Create attribute by token.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Tree_t* dom_tree
-                  The DOM tree.
-
-       [in] NW_Uint16 token
-                  The token.
-
-       [in] NW_TinyDom_AttrVal_t* value
-                  The new attribute.
-
-    @description: Create attribute by token as an orphan node that
-                  then need to be attached to the tree.
-
-    @returns:     NW_TinyTree_Node_t*
-                  Pointer to the new node or NULL if not successful.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Node_t*
-NW_TinyDom_createAttributeByToken(NW_TinyDom_Tree_t* dom_tree,
-                                  NW_Uint16 token,
-                                  NW_TinyDom_AttrVal_t* value);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_createAttributeByName
-
-    @synopsis:    Create attribute by name.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Tree_t* dom_tree
-                  The tree.
-
-       [in] NW_String_t* name
-                  The name.
-
-       [in] NW_TinyDom_AttrVal_t* value
-                  The new attribute.
-
-    @description: Create attribute by name as an orphan node that
-                  then need to be attached to the tree.
-
-    @returns:     NW_TinyTree_Node_t*
-                  Pointer to the new node or NULL if not successful.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Node_t*
-NW_TinyDom_createAttributeByName(NW_TinyDom_Tree_t* dom_tree,
-                                 NW_String_t* name,
-                                 NW_TinyDom_AttrVal_t* value);
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttributeHandle_initWithStartToken
-
-    @synopsis:    Initialize the handle with a start token.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_AttributeHandle_t* tinyHandle
-                  The handle.
-
-       [out] NW_TinyTree_Node_t** ppNode
-                  The tree node.
-
-       [in] NW_TinyDom_Parser_t* parser
-                  The parser.
-
-       [in] NW_Uint16 fqToken
-                  The token with page.
-
-    @description: Initialize the handle with a start token.
-
-    @returns:     NW_Status_t
-
-        [NW_STAT_SUCCESS]
-                  Success
-
-        [NW_STAT_FAILURE]
-                  A failure other than out-of-memory.
-
-        [NW_STAT_OUT_OF_MEMORY]
-                  Out of memory.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_AttributeHandle_initWithStartToken(NW_TinyDom_AttributeHandle_t* tinyHandle,
-                                              NW_TinyTree_Node_t** ppNode,
-                                              NW_TinyDom_Parser_t* parser,
-                                              NW_Uint16 fqToken);
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_AttributeHandle_addVal
-
-    @synopsis:    Append the attribute value to the attribute handle.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_AttributeHandle_t* tinyHandle
-                  The handle.
-
-       [in] NW_TinyTree_Node_t* node
-                  The tree node.
-
-       [in] NW_DOM_AttrVal_t* value
-                  The attribute value to append to handle
-
-    @description: Append the attribute value to the attribute handle.
-
-    @returns:     NW_Status_t
-
-        [NW_STAT_SUCCESS]
-                  Success
-
-        [NW_STAT_FAILURE]
-                  A failure other than out-of-memory.
-
-        [NW_STAT_OUT_OF_MEMORY]
-                  Out of memory.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_AttributeHandle_addVal(NW_TinyDom_AttributeHandle_t* tinyHandle,
-                                  NW_TinyTree_Node_t* node,
-                                  NW_TinyDom_AttrVal_t* val);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_createElementByToken
-
-    @synopsis:    Create element by token.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Tree_t* dom_tree
-                  The tree.
-
-       [in] NW_Uint16 token
-                  The token.
-
-    @description: Create element by token as an orphan node that
-                  then need to be attached to the tree.
-
-    @returns:     NW_TinyTree_Node_t*
-                  Pointer to the new node or NULL if not successful.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Node_t*
-NW_TinyDom_createElementByToken(NW_TinyDom_Tree_t* dom_tree,
-                                NW_Uint16 token);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_createElementByName
-
-    @synopsis:    Create element by name.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Tree_t* dom_tree
-                  The tree.
-
-       [in] NW_String_t* name
-                  The name.
-
-    @description: Create element by name as an orphan node that
-                  then need to be attached to the tree.
-
-    @returns:     NW_TinyTree_Node_t*
-                  Pointer to the new node or NULL if not successful.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Node_t*
-NW_TinyDom_createElementByName(NW_TinyDom_Tree_t* dom_tree,
-                               NW_String_t* name);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_createTextNode
-
-    @synopsis:    Create text node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Tree_t* dom_tree
-                  The tree.
-
-       [in] NW_TinyDom_Text_t* text
-                  The value.
-
-    @description: Create element by name as an orphan node that
-                  then needs to be attached to the tree.
-
-    @returns:     NW_TinyTree_Node_t*
-                  Pointer to the new node or NULL if not successful.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Node_t*
-NW_TinyDom_createTextNode(NW_TinyDom_Tree_t* dom_tree,
-                          NW_TinyDom_Text_t* text);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_addDataFromTextItem
-
-    @synopsis:    Adds data to a text node from a text item.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyTree_t* tinyTree
-                  The tree.
-
-       [in] NW_TinyDom_Tree_t* tinyDomTree
-                  The DOM tree.
-
-       [in] NW_TinyTree_Node_t* node
-                  The text node.
-
-       [in] NW_TinyTree_Text_t text
-                  The value.
-
-       [in] NW_Uint32 encoding
-                  The IANA MIBenum for the character encoding.
-
-    @description: Adds data to a text node from a text item.
-
-    @returns:     NW_Status_t
-                  Status of operation.
-
-       [NW_STAT_SUCCESS]
-                  Data added.
-
-       [NW_STAT_FAILURE]
-                  Data not added.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_addDataFromTextItem(NW_TinyTree_t* tinyTree,
-                               NW_TinyDom_Tree_t* tinyDomTree,
-                               NW_TinyTree_Node_t* node,
-                               NW_TinyDom_Text_t* val,
-                               NW_Uint32 encoding);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_Tree_create
-
-    @synopsis:    Create a new tree.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Tree_t* dom_tree
-                  The DOM tree.
-
-       [in] NW_TinyDom_Parser_t* dom_parser
-                  The parser to associate with this tree.
-
-       [in] NW_WBXML_Document_t* doc
-                  The source document.
-
-       [in] NW_WBXML_Parser_t* parser
-                  The WBXML parser.
-
-       [in] NW_WBXML_Writer_t* writer
-                  Tree writer.
-
-       [in] NW_Uint16 init_node_count
-                  Initial allocation.
-
-       [in] NW_Bool enableStringTable
-                  Set to true for normal WBXML.  Set to false to disable
-                  writing from using a string table.
-
-    @description: Create a new tree.
-
-    @returns:     NW_Status_t
-                  Status of operation.
-
-       [NW_STAT_SUCCESS]
-                  Tree created.
-
-       [NW_STAT_FAILURE]
-                  Dictionary not found or root node not created.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_Tree_create(NW_TinyDom_Tree_t* dom_tree,
-                       NW_TinyDom_Parser_t* dom_parser,
-                       NW_WBXML_Document_t* doc,
-                       NW_WBXML_Parser_t* parser,
-                       NW_WBXML_Writer_t* writer,
-                       NW_Uint16 init_node_count,
-                       NW_Bool enableStringTable);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_writeDocHeader
-
-    @synopsis:    Write doc header.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_Tree_t* dom_tree
-                  The tree.
-
-       [in] NW_Uint8 version
-                  The version.
-
-       [in] NW_Uint32 publicid
-                  The dictionary public ID.
-
-       [in] NW_Uint32 encoding
-                  Character encoding.
-
-    @description: Write doc header.
-
-    @returns:     NW_TinyTree_Node_t*
-                  New node or NULL if not successful.
-
- ** ----------------------------------------------------------------------- **/
-NW_TinyTree_Node_t*
-NW_TinyDom_writeDocHeader(NW_TinyDom_Tree_t* dom_tree,
-                                      NW_Uint8 version,
-                                      NW_Uint32 publicid,
-                                      NW_Uint32 encoding);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_TinyDom_removeAttrFromListNode
-
-    @synopsis:    Remove attribute from list node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_TinyDom_AttrListHandle_t* h
-                  The handle.
-
-       [in] NW_Uint32 length
-                  Length of attribute.
-
-    @description: Remove attribute from list node.
-
-    @returns:     NW_Status_t
-                  Success of operation.
-
-       [NW_STAT_SUCCESS]
-                  Always returns success.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_TinyDom_removeAttrFromListNode(NW_TinyDom_AttrListHandle_t* h,
-                                  NW_Uint32 length);
-
-void
-NW_TinyDom_setLastValid(NW_TinyDom_Tree_t* dom_tree, NW_Int32 lastValid);
-
-NW_Int32
-NW_TinyDom_getLastValid(NW_TinyDom_Tree_t* dom_tree);
-
-#ifdef __cplusplus
-} /* extern "C" { */
-#endif /* __cplusplus */
-
-
-#endif  /* NW_TINY_DOM_H */