--- a/xmlsrv_plat/cxml_library_api/inc/nw_dom_document.h Tue Aug 31 17:02:56 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,715 +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_DOCUMENT_H
-#define NW_DOM_DOCUMENT_H
-
-#include <xml/cxml/cxml_proj.h>
-#include <xml/cxml/nw_dom_node.h>
-#include <xml/cxml/nw_dom_text.h>
-#include <xml/cxml/nw_dom_element.h>
-#include <xml/cxml/nw_wbxml_dictionary.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_getPublicIdAsNumber
-
- @synopsis: Gets the public id of the document as an integer.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* d
- The document node.
-
- @description: Gets the public id of the document as an integer.
-
- @returns: NW_Uint32
- publicID or 0
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Uint32
-NW_DOM_DocumentNode_getPublicIdAsNumber(NW_DOM_DocumentNode_t* d);
-
-
-/** ----------------------------------------------------------------------- **
-
- @function: NW_DOM_DocumentNode_getPublicId
-
- @synopsis: Gets the publicid of the document as string (docType).
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* d
- The document node.
-
- [out] NW_String_t* str
- The public id as a string.
-
- @description: The document type declaration associated with this
- document is returned.
-
- @returns: NW_Status_t
- Status of operation.
-
- [NW_STAT_DOM_NODE_TYPE_ERR]
- Error reading node.
-
- [NW_STAT_SUCCESS]
- Success.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Status_t
-NW_DOM_DocumentNode_getPublicId(NW_DOM_DocumentNode_t* d,
- NW_String_t* str);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_getVersion
-
- @synopsis: Returns the version of the document,
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- @description: Returns the version of the document. Returns 0 if this
- is not valid.
-
- @returns: NW_Uint8
- Version number or 0.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Uint8
-NW_DOM_DocumentNode_getVersion(NW_DOM_DocumentNode_t* doc);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_getCharacterEncoding
-
- @synopsis: Returns the supported encoding of the document.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- @description: Returns the supported encoding of the document or 0
- for invalid document.
-
- @returns: NW_Uint32
- Encoding or 0.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_Uint32
-NW_DOM_DocumentNode_getCharacterEncoding(NW_DOM_DocumentNode_t* doc);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_getDocumentElement
-
- @synopsis: Returns child node that is the root of this document
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- @description: Returns child node that is the root of this document
-
- @returns: NW_DOM_DocumentNode_t*
- Child node that is the root element of the document;
- NULL if doc is not a document node.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_ElementNode_t*
-NW_DOM_DocumentNode_getDocumentElement(NW_DOM_DocumentNode_t* doc);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_getElementIteratorByTagName
-
- @synopsis: Gets the handle to iterate over elements of a given name.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_String_t* tagName
- Name of the element.
-
- [out] NW_DOM_NodeIterator_t* handle
- Iterator to iterate over nodes of same name)
-
- @description: Gets the handle to iterate over elements of a given name.
-
- @returns: NW_Status_t
- Status of operation.
-
- [NW_STAT_SUCCESS]
- Success
-
- [NW_STAT_FAILURE]
- Failure
-
- [NW_STAT_DOM_NODE_TYPE_ERR]
- Not NW_DOM_DOCUMENT_NODE.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_DOM_DocumentNode_getElementIteratorByTagName(NW_DOM_DocumentNode_t* doc,
- NW_String_t* tagName,
- NW_DOM_NodeIterator_t* handle);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_getElementIteratorByTagToken
-
- @synopsis: Gets the iterator to iterate over elements of a given token.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_Uint16 token
- Token of the element to be found.
-
- [out] NW_DOM_NodeIterator_t* handle
- Iterator to iterate over nodes of same name.
-
- @description: Gets the iterator to iterate over elements of a given token.
-
- @returns: NW_Status_t
- Status of operation.
-
- [NW_STAT_SUCCESS]
- Success
-
- [NW_STAT_DOM_NODE_TYPE_ERR]
- Not NW_DOM_DOCUMENT_NODE.
-
- ** ----------------------------------------------------------------------- **/
-NW_Status_t
-NW_DOM_DocumentNode_getElementIteratorByTagToken(NW_DOM_DocumentNode_t* doc,
- NW_Uint16 token,
- NW_DOM_NodeIterator_t* handle);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_getDictionary
-
- @synopsis: Returns dictionary used by this document
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- @description: Returns dictionary used by this document
-
- @returns: NW_WBXML_Dictionary_t*
- Dictionary or null if not found.
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_WBXML_Dictionary_t*
-NW_DOM_DocumentNode_getDictionary(NW_DOM_DocumentNode_t* doc);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createElementNode
-
- @synopsis: Creates a new element with the given name.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_String_t* name
- Name of the element to be created.
-
- @description: Creates a new element with the given name.
-
- @returns: NW_DOM_ElementNode_t*
- New element with the given name; NULL if doc is not a
- document node.
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_ElementNode_t*
-NW_DOM_DocumentNode_createElementNode(NW_DOM_DocumentNode_t* doc, NW_String_t* name);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createElementNodeByToken
-
- @synopsis: Creates a new element with the given token.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_Uint16 token
- Token of the element to be created.
-
- @description: Creates a new element with the given token.
-
- @returns: NW_DOM_ElementNode_t*
- New element with the given token; NULL if doc is not a
- document node or token is an invalid token.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_ElementNode_t*
-NW_DOM_DocumentNode_createElementNodeByToken(
- NW_DOM_DocumentNode_t* doc, NW_Uint16 token);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createTextNodeWithTextItem
-
- @synopsis: Returns a pointer to the created Text Node.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_DOM_TextItem_t* data
- The value for the new text node.
-
- @description: Returns a pointer to the created Text Node.
-
- @returns: NW_DOM_TextNode_t*
- New text node; NULL if if doc is not a document node.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_TextNode_t*
-NW_DOM_DocumentNode_createTextNodeWithTextItem(
- NW_DOM_DocumentNode_t* doc, NW_DOM_TextItem_t* data);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createTextNode
-
- @synopsis: Creates a text node.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_String_t* data
- The value for the new text node.
-
- @description: Creates a text node with the given data.
-
- @returns: NW_DOM_TextNode_t*
- New text node; NULL if if doc is not a document node.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_TextNode_t*
-NW_DOM_DocumentNode_createTextNode(NW_DOM_DocumentNode_t* doc, NW_String_t* data);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createCommentNode
-
- @synopsis: Creates a comment node with the given data.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_String_t* data
- Value for the new comment node.
-
- @description: Creates a comment node with the given data.
-
- @returns: NW_DOM_CommentNode_t*
- New comment node; NULL if doc is not a document node.
-
- ** ----------------------------------------------------------------------- **/
-NW_DOM_CommentNode_t*
-NW_DOM_DocumentNode_createCommentNode(NW_DOM_DocumentNode_t* doc,
- NW_String_t* data);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createCDATASectionNode
-
- @synopsis: Creates a CDATA section.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_String_t* data
- The value for the new CDATA section node.
-
- @description: Creates a CDATA section node with the given data.
-
- @returns: NW_DOM_CDATASectionNode_t*
- New CData section node; NULL if doc is not a document node.
-
- ** ----------------------------------------------------------------------- **/
-NW_DOM_CDATASectionNode_t*
-NW_DOM_DocumentNode_createCDATASectionNode(NW_DOM_DocumentNode_t* doc,
- NW_String_t* data);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createProcessingInstructionNodeByAttrVal
-
- @synopsis: Creates a processing instruction node.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_String_t* target
- The target for the processing instruction.
-
- [in] NW_DOM_AttrVal_t* data
- Data for the processing instruction.
-
- @description: Creates a processing instruction node with the given data.
- In WBXML, a processing instruction node can have a combination
- of opaque, string, token, extension, and entity as the data.
-
- @returns: NW_DOM_ProcessingInstructionNode_t*
- New processing instruction node; NULL if this is a node
- type mismatch.
-
- ** ----------------------------------------------------------------------- **/
-NW_DOM_ProcessingInstructionNode_t*
-NW_DOM_DocumentNode_createProcessingInstructionNodeByAttrVal(
- NW_DOM_DocumentNode_t* doc, NW_String_t* target, NW_DOM_AttrVal_t* data);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createProcessingInstructionNodeByToken
-
- @synopsis: Creates a processing instruction node.
-
- @scope: public
-
- @parameters:
-
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_Uint16 token
- Token identifying the target.
-
- [in] NW_DOM_AttrVal_t* data
- Data for the processing instruction.
-
- @description: Creates a processing instruction node with the given data.
- In WBXML, a processing instruction node can have a combination
- of opaque, string, token, extension, and entity as the data.
-
- @returns: NW_DOM_ProcessingInstructionNode_t*
- New processing instruction node; NULL if this is a node type
- mismatch.
-
- ** ----------------------------------------------------------------------- **/
-NW_DOM_ProcessingInstructionNode_t*
-NW_DOM_DocumentNode_createProcessingInstructionNodeByToken(
- NW_DOM_DocumentNode_t* doc, NW_Uint16 token, NW_DOM_AttrVal_t* data);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createProcessingInstructionNode
-
- @synopsis: Creates a processing instruction node.
-
- @scope: public
-
- @parameters:
- [in] NW_DOM_DocumentNode_t* doc
- The document node.
-
- [in] NW_String_t* target
- The target for the processing instruction.
-
- [in] NW_String_t* data
- Data for the processing instruction.
-
- @description: Creates a processing instruction node with the given data.
-
- @returns: NW_DOM_ProcessingInstructionNode_t*
- New processing instruction node; NULL if doc is not a document
- node.
-
- ** ----------------------------------------------------------------------- **/
-NW_DOM_ProcessingInstructionNode_t*
-NW_DOM_DocumentNode_createProcessingInstructionNode(
- NW_DOM_DocumentNode_t* doc, NW_String_t* target, NW_String_t* data);
-
-
-/** ----------------------------------------------------------------------- **
- @struct: NW_TinyDom_Handle
-
- @synopsis: A handle to hold all the state required to build a tree.
-
- @scope: public
- @variables:
- NW_WBXML_Parser_t wbxmlParser
- WBXML parser
-
- NW_TinyDom_Parser_t tinyParser
- Tiny parser
-
- NW_TinyDom_Tree_t tinyDOMTree
- Tiny DOM tree
-
- NW_WBXML_Writer_t writer
- WBXML writer
-
- NW_WBXML_Document_t document
- WBXML document
-
- @description: A handle to hold all the state required to build a tree.
- ** ----------------------------------------------------------------------- **/
-typedef struct NW_TinyDom_Handle_s{
- NW_WBXML_Parser_t wbxmlParser;
- NW_TinyDom_Parser_t tinyParser;
- NW_TinyDom_Tree_t tinyDOMTree;
- NW_WBXML_Writer_t writer;
- NW_WBXML_Document_t document;
-} NW_TinyDom_Handle_t;
-
-
-/* "Factory methods" that generate a dom tree and return the tree
- * root as a document node
- */
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_BuildTree
-
- @synopsis: Create a dom tree by parsing a buffer.
-
- @scope: public
-
- @parameters:
- [in] NW_TinyDom_Handle_t* h
- Handle for new tree.
-
- [in] NW_Byte* buffer
- Buffer to parse.
-
- [in] NW_Int32 length
- Length of buffer.
-
- [in] NW_Bool encoded
- Encoded if true, otherwise text.
-
- [in] NW_Uint32 publicID
- Dictionary to apply.
-
-
- [in] NW_Bool extTNotStringTable
- If NW_FALSE then extension tokens EXT_T_[0,1,2] have
- an associated index into the string table. If NW_TRUE
- then the NW_Uint32 associated with EXT_T_[0,1,2] is
- just an anonymous value.
-
- @description: Create a dom tree by parsing a buffer.
-
- @returns: NW_DOM_DocumentNode_t*
- Node of created tree.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_DocumentNode_t*
-NW_DOM_DocumentNode_BuildTree(NW_TinyDom_Handle_t* h,
- NW_Byte* buffer,
- NW_Int32 length,
- NW_Bool encoded,
- NW_Uint32 publicID,
- NW_Bool extTNotStringTable);
-
-
-
-/* ************************************************************************/
-
-/*
- * Create and populate a dom tree by parsing a buffer, returning the
- * document node.
- */
-IMPORT_C
-NW_DOM_DocumentNode_t *
-NW_DOM_DocumentNode_BuildWBXMLTree(NW_TinyDom_Handle_t *h,
- NW_Byte *buffer,
- NW_Int32 length,
- NW_Bool freeBuff,
- NW_Bool extTNotStringTable);
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_createDocumentWithNumberPublicId
-
- @synopsis: Create an empty dom tree.
-
- @scope: public
-
- @parameters:
- [in] NW_TinyDom_Handle_t* h
- The tiny DOM handle.
-
- [in] NW_Uint8 version
- Version of the document to be created.
-
- [in] NW_Uint32 publicid
- Unique identifier for the DTD.
-
- [in] NW_Uint32 encoding
- Encoding for the document.
-
- [in] NW_Bool extTNotStringTable
- If NW_FALSE then extension tokens EXT_T_[0,1,2] have
- an associated index into the string table. If NW_TRUE
- then the NW_Uint32 associated with EXT_T_[0,1,2] is
- just an anonymous value.
-
- [in] NW_Bool enableStringTable
- Set to true for noraml WBXML. Set to false to prevent
- writable DOM from using a string table.
-
-
- @description: Create an empty dom tree.
- In XML and HTML, a public id identifying the DTD is in
- string form, but in WBXML sometimes numbers identify the
- well-known DTDs. Thus, there is a need for two methods for
- document creation.
-
- @returns: NW_DOM_DocumentNode_t*
- New document node; NULL if error during creation.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_DocumentNode_t*
-NW_DOM_DocumentNode_createDocumentWithNumberPublicId(NW_TinyDom_Handle_t* h,
- NW_Uint8 version,
- NW_Uint32 publicid,
- NW_Uint32 encoding,
- NW_Bool extTNotStringTable,
- NW_Bool enableStringTable);
-
-/** ----------------------------------------------------------------------- **
- @function: CXML_DOM_DocumentNode_BuildTree
-
- @synopsis: Create a dom tree by parsing a buffer and retuen the error
- status also.
-
- @scope: public
-
- @parameters:
- [in] NW_TinyDom_Handle_t* h
- Handle for new tree.
-
- [in] NW_Byte* buffer
- Buffer to parse.
-
- [in] NW_Int32 length
- Length of buffer.
-
- [in] NW_Bool encoded
- Encoded if true, otherwise text.
-
- [in] NW_Uint32 publicID
- Dictionary to apply.
-
-
- [in] NW_Bool extTNotStringTable
- If NW_FALSE then extension tokens EXT_T_[0,1,2] have
- an associated index into the string table. If NW_TRUE
- then the NW_Uint32 associated with EXT_T_[0,1,2] is
- just an anonymous value.
-
- [out] NW_Status_t* errorStatus
- Returns the error status code as defined in the WBXML
- parser if any error is occured during the parsing of WBXML.
- If DOM tree is created successfully then this return NW_STAT_SUCCESS.
-
- @description: Create a dom tree by parsing a buffer.
-
- @returns: NW_DOM_DocumentNode_t*
- Node of created tree.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C NW_DOM_DocumentNode_t*
-CXML_DOM_DocumentNode_BuildTree(NW_TinyDom_Handle_t* h,
- NW_Byte* buffer,
- NW_Int32 length,
- NW_Bool encoded,
- NW_Uint32 publicID,
- NW_Bool extTNotStringTable,
- NW_Status_t* errorStatus);
-
-
-/** ----------------------------------------------------------------------- **
- @function: NW_DOM_DocumentNode_Delete
-
- @synopsis: Free the tree created by one of the above methods.
-
- @scope: public
-
- @parameters:
- [in-out] NW_DOM_DocumentNode_t* docNode
- Tree to free.
-
- @description: Free the tree created by one of the above methods.
-
- ** ----------------------------------------------------------------------- **/
-IMPORT_C void
-NW_DOM_DocumentNode_Delete(NW_DOM_DocumentNode_t* docNode);
-
-#ifdef __cplusplus
-} /* extern "C" { */
-#endif /* __cplusplus */
-
-#endif /* NW_DOM_DOCUMENT_H */