--- 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 */