xmlsrv_plat/cxml_library_api/inc/nw_dom_node.h
branchRCL_3
changeset 33 604ca70b6235
parent 32 889504eac4fb
child 40 80a0ad972c63
--- a/xmlsrv_plat/cxml_library_api/inc/nw_dom_node.h	Tue Aug 31 17:02:56 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,651 +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_DOM
-
-    @synopsis:    default
-
-    @description: default
-
- ** ----------------------------------------------------------------------- **/
-#ifndef NW_DOM_NODE_H
-#define NW_DOM_NODE_H
-
-#include <xml/cxml/nw_tinytree.h>
-#include <xml/cxml/nw_tinydom.h>
-#include <xml/cxml/nw_string_string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-/** ----------------------------------------------------------------------- **
-    @typedef:     NW_DOM_Node
-
-    @synopsis:    Dom nodes are defined to be just tiny tree nodes.  
-
-    @scope:       public
-     
-    @type:        NW_TinyTree_Node_t
-
-    @description: Dom nodes are defined to be just tiny tree nodes.
-                  This allows the Dom API to return the 32 bit pointers
-                  it gets from the Tiny Tree and Tiny Dom APIs rather
-                  than having to allocate any memory. This memory
-                  savings comes at some cost, however: most Tiny Tree
-                  API calls require a tree reference, and getting a tree
-                  reference from an tiny dom node is an inefficient
-                  operation (it requires a linear search of the node's
-                  storage segment). We assume that this computation vs
-                  memory tradeoff is worthwhile on small platforms.  One
-                  alternative would be to require the tree as a
-                  parameter to many Dom API calls, but this would be a
-                  substantial departure from the standard Dom model.
-
- ** ----------------------------------------------------------------------- **/
-typedef NW_TinyTree_Node_t NW_DOM_Node_t;
-
-/* Specific node types used by the DOM API */
-
-typedef NW_Uint16 NW_DOM_NodeType_t;
-
-#define NW_DOM_ELEMENT_NODE                1
-#define NW_DOM_TEXT_NODE                   2
-#define NW_DOM_CDATA_SECTION_NODE          4 /* only for XML  */
-#define NW_DOM_PROCESSING_INSTRUCTION_NODE 8
-#define NW_DOM_COMMENT_NODE                16 /* only for XML  */
-#define NW_DOM_DOCUMENT_NODE               32
-
-typedef NW_DOM_Node_t NW_DOM_ElementNode_t;
-/*typedef NW_DOM_Node_t NW_DOM_DocumentNode_t; */
-/* Declared in nw_tiny_tree.h */
-typedef NW_DOM_Node_t NW_DOM_TextNode_t;
-typedef NW_DOM_Node_t NW_DOM_CommentNode_t;
-typedef NW_DOM_Node_t NW_DOM_CDATASectionNode_t;
-typedef NW_DOM_Node_t NW_DOM_ProcessingInstructionNode_t;
-
-/*  ----------------------------------------------------------------------- **
-    GENERAL NODE METHODS - applicable to all node types
-    These methods will be repeated for other Node types also
- ** ----------------------------------------------------------------------- **/
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getNodeName
-
-    @synopsis:    Get name of node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* elem
-                  The node.
-
-       [in-out] NW_String_t* name
-                  The name of the node.
-
-    @description: Get name of node.
-
-    @returns:     NW_Status_t
-                  Result of operation.
-
-       [NW_STAT_SUCCESS]
-                  Node name returned.
-
-       [NW_STAT_DOM_NODE_TYPE_ERR]
-                  Node type could not be determined.
-       
-       [NW_STAT_DOM_NO_STRING_RETURNED]
-                  Node does not have name.
-
-       [NW_STAT_DOM_NODE_TYPE_ERR]
-                  It is not a NW_DOM_ELEMENT_NODE
-
-       [NW_STAT_OUT_OF_MEMORY]
-                  Ran out of memory trying to allocate string storage.
-
-       [NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED]
-                  Illegal character set.
-
-       [NW_STAT_FAILURE]
-                  String found but empty.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Status_t 
-NW_DOM_Node_getNodeName(NW_DOM_Node_t* elem, NW_String_t* name); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getNodeType
-
-    @synopsis:    Gets the type of DOM node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Gets the type of DOM node.
-
-    @returns:     NW_DOM_NodeType_t
-                  Node type or zero if not recognized node.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_NodeType_t
-NW_DOM_Node_getNodeType(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getNodeToken
-
-    @synopsis:    Gets the token associated with the node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Returns fully qualified node token. This includes the 
-                  token, codepage and a attribute/element flag.
-
-    @returns:     NW_Uint16
-                  The 8 bit token and 8 bit codepage which includes an 
-                  attribute/elent flag.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Uint16 
-NW_DOM_Node_getNodeToken(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_isWBXML
-
-    @synopsis:    Checks if the node was created by parsing WBXML content.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Checks if the node was created by parsing WBXML content.
-
-    @returns:     NW_Bool
-                  NW_TRUE if WBXML type, otherwise NW_FALSE.
-
- ** ----------------------------------------------------------------------- **/
-NW_Bool 
-NW_DOM_Node_isWBXML(NW_DOM_Node_t* node);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getParentNode
-
-    @synopsis:    Gets the parent of the node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Finds parent node of the given node. All nodes except 
-                  DocumentNode have a parentNode.
-
-    @returns:     NW_DOM_Node_t*
-                  Parent or NULL if invalid operation or if parent node 
-                  is a DocumentNode.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_Node_t* 
-NW_DOM_Node_getParentNode(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getFirstChild
-
-    @synopsis:    Finds the first child of the node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Returns valid values only for ELEMENT_NODE and DOCUMENT_NODE.
-                  These are the only nodes that have children. For other nodes
-                  the value is NULL.
-
-    @returns:     NW_DOM_Node_t*
-                  The first child of this node or NULL if the node has no child.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_Node_t* 
-NW_DOM_Node_getFirstChild(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getLastChild
-
-    @synopsis:    Finds the last child of the node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Returns valid values only for ELEMENT_NODE and DOCUMENT_NODE.
-                  These are the only nodes that have children. For other nodes
-                  the value is either NULL or 0.
-
-    @returns:     NW_DOM_Node_t*
-                  The last child of this node or NULL if the node has no child.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_Node_t* 
-NW_DOM_Node_getLastChild(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_hasChildNodes
-
-    @synopsis:    Checks if the node has any child nodes.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Returns valid values only for ELEMENT_NODE and DOCUMENT_NODE.
-                  These are the only nodes that have children. For other nodes
-                  the value is NULL.
-
-    @returns:     NW_Bool
-                  NW_TRUE if the node has child nodes, otherwise NW_FALSE.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Bool 
-NW_DOM_Node_hasChildNodes(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getNextSibling
-
-    @synopsis:    Gets the next sibling of the node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Gets the next sibling of the node.
-
-    @returns:     NW_DOM_Node_t*
-                  The node immediately following this node, NULL if there 
-                  is no next sibling or this node is NULL.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_Node_t* 
-NW_DOM_Node_getNextSibling(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getPreviousSibling
-
-    @synopsis:    Gets the previous sibling of the node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Gets the previous sibling of the node.
-
-    @returns:     NW_DOM_Node_t*
-                  The node immediately preceding this node in the DOM tree,
-                  NULL if there is no previous sibling or the node is NULL.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_Node_t* 
-NW_DOM_Node_getPreviousSibling(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_getOwnerDocument
-
-    @synopsis:    Gets the owner document node of this node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-    @description: Gets the owner document node of this node.
-
-    @returns:     NW_DOM_DocumentNode_t*
-                  The owner document node (NW_DOM_DocumentNode_t) associated
-                  with this node, NULL if the node is NULL or is a DocumentNode.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_DocumentNode_t* 
-NW_DOM_Node_getOwnerDocument(NW_DOM_Node_t* node); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_insertBefore
-
-    @synopsis:    Inserts newChild before the refChild.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_DOM_Node_t* node
-                  The parent node.
-
-       [in] NW_DOM_Node_t* newChild
-                  The node to be inserted.
-
-       [in] NW_DOM_Node_t* refChild
-                  The node before which the newChild node should be inserted.
-
-    @description: Inserts the newChild node before the existing refChild 
-                  node; and if refChild is NULL, inserts it at the end of
-                  the list of children.
-
-    @returns:     NW_Status_t
-                  Result of operation.
-
-       [NW_STAT_SUCCESS]
-                  Inserted successfully.
-
-       [NW_STAT_BAD_INPUT_PARAM]
-                  One of the input parameters was null.
-     
-       [NW_STAT_NOT_FOUND]
-                  Reference child is not a child of given node.
-
-       [NW_STAT_DOM_WRONG_DOC_ERR]
-                  New child was created from a different document than the 
-                  one that created the node.
-
-       [NW_STAT_DOM_HEIRARCHY_REQ_ERR] 
-                  Node is of the type that does not allow children of the 
-                  type of newChild node.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Status_t
-NW_DOM_Node_insertBefore(NW_DOM_Node_t* node, 
-                         NW_DOM_Node_t* newChild, 
-                         NW_DOM_Node_t* refChild);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_replaceChild
-
-    @synopsis:    Replaces oldChild with the newChild.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-       [in] NW_DOM_Node_t* newChild
-                  The node that will replace oldChild.
-
-       [in] NW_DOM_Node_t* oldChild
-                  The node to be replaced.
-
-    @description: Replaces oldChild with the newChild.
-
-    @returns:     NW_Status_t
-                  Result of operation.
-
-       [NW_STAT_SUCCESS]
-                  Child replaced.
-
-       [NW_STAT_BAD_INPUT_PARAM]
-                  Bad data.
-
-       [NW_STAT_NOT_FOUND]
-                  oldChild is not a child of given node.
-
-       [NW_STAT_DOM_WRONG_DOC_ERR]
-                  newChild was created from a different document than the 
-                  one that created the node.
-
-       [NW_STAT_DOM_HEIRARCHY_REQ_ERR]
-                  Node is of the type that does not allow children of the 
-                  type of newChild node.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Status_t
-NW_DOM_Node_replaceChild(NW_DOM_Node_t* node, 
-                         NW_DOM_Node_t* newChild, 
-                         NW_DOM_Node_t* oldChild);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_removeChild
-
-    @synopsis:    Removes the oldChild node as a child of the node.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_DOM_Node_t* node
-                  The parent node.
-
-       [in] NW_DOM_Node_t* oldChild
-                  The child node to be removed.
-
-    @description: Removes the oldChild, and deletes the node and its child nodes.
-
-    @returns:     NW_Status_t
-                  Result of operation.
-
-       [NW_STAT_SUCCESS]
-                  Nodes deleted.
-
-       [NW_STAT_BAD_INPUT_PARAM]
-                  Bad data.
-
-       [NW_STAT_NOT_FOUND]
-                  oldChild is not a child of given node.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Status_t
-NW_DOM_Node_removeChild(NW_DOM_Node_t* node, 
-                        NW_DOM_Node_t* oldChild); 
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_Node_appendChild
-
-    @synopsis:    Appends a new child.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_Node_t* node
-                  The node.
-
-       [in] NW_DOM_Node_t* newChild
-                  The node to be added.
-
-    @description: Appends a new child.
-
-    @returns:     NW_Status_t
-                  Result of operation.
-
-       [NW_STAT_SUCCESS]
-                  Child node appended.
-
-       [NW_STAT_BAD_INPUT_PARAM]
-                  An input parameter was null.
- 
-       [NW_STAT_DOM_WRONG_DOC_ERR]
-                  newChild was created from a different document than the 
-                  one that created the node.
-
-       [NW_STAT_DOM_HEIRARCHY_REQ_ERR]
-                  Node is of the type that does not allow children of the type
-                  of the newChild node.
-
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Status_t
-NW_DOM_Node_appendChild(NW_DOM_Node_t* node, 
-                        NW_DOM_Node_t* newChild);
-
-
-/** ----------------------------------------------------------------------- **
-    @struct:      NW_DOM_NodeIterator
-
-    @synopsis:    Iterator for walking node list.
-
-    @scope:       public
-    @variables:
-       NW_TinyTree_NodeIterator_t nodeIter
-                  The node iterator.
-
-       NW_Uint16 token
-                  Fully qualified token (i.e. token and codepage)
-
-    @description: NW_DOM_NodeIterator_t is used in lieu of the NodeList 
-                 object specified in DOM. This data type is an iterator 
-                 default.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_DOM_NodeIterator_s {
-  NW_TinyTree_NodeIterator_t nodeIter;
-  NW_Uint16 token;
-}NW_DOM_NodeIterator_t;
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_NodeIterator_new
-
-    @synopsis:    Creates new NodeIterator.
-
-    @scope:       public
-
-    @description: Creates new NodeIterator.
-
-    @returns:     NW_DOM_NodeIterator_t*
-                  New iterator.
-
- ** ----------------------------------------------------------------------- **/
-NW_DOM_NodeIterator_t*
-NW_DOM_NodeIterator_new(void);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_NodeIterator_initialize
-
-    @synopsis:    Initializes iterator.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_NodeIterator_t* handle
-                  The node iterator.
-
-       [in] NW_DOM_Node_t* node
-                  Starting point for iteration.
-       [in] NW_Uint16 token
-                  Initialize with this token.
-
-    @description: Initializes the Node handle which uses the given node
-                  as the starting point to iterate down the tree.
-
-
-    @returns:     NW_Status_t
-                  Result of operation.
-
-       [NW_STAT_SUCCESS]
-                  Iterator initialized.
-
-       [NW_STAT_FAILURE]
-                  Required parameter is null.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_DOM_NodeIterator_initialize(NW_DOM_NodeIterator_t* handle, 
-                               NW_DOM_Node_t* node, 
-                               NW_Uint16 token);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_NodeIterator_delete
-
-    @synopsis:    Deletes the handle.
-
-    @scope:       public
-
-    @parameters:
-       [in-out] NW_DOM_NodeIterator_t* handle
-                  The node iterator.
-
-    @description: Deletes the handle.
-
-    @returns:     NW_Status_t
-                  Result of operation.
-
-       [NW_STAT_SUCCESS]
-                  Always returned.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_DOM_NodeIterator_delete(NW_DOM_NodeIterator_t* handle);
-
-
-/** ----------------------------------------------------------------------- **
-    @function:    NW_DOM_NodeIterator_nextNode
-
-    @synopsis:    Returns the next node.
-
-    @scope:       public
-
-    @parameters:
-       [in] NW_DOM_NodeIterator_t* handle
-                  The node iterator.
-
-    @description: Returns the next node.
-
-    @returns:     NW_DOM_Node_t* 
-                  The next node if there is one, otherwise NULL.
-
- ** ----------------------------------------------------------------------- **/
-NW_DOM_Node_t* 
-NW_DOM_NodeIterator_nextNode(NW_DOM_NodeIterator_t* handle);
-
-
-#ifdef __cplusplus
-} /* extern "C" { */
-#endif /* __cplusplus */
-
-#endif  /* NW_DOM_NODE_H */