xmlsrv_plat/cxml_library_api/inc/nw_dom_element.h
branchRCL_3
changeset 20 889504eac4fb
equal deleted inserted replaced
19:6bcc0aa4be39 20:889504eac4fb
       
     1 /*
       
     2 * Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 /** ----------------------------------------------------------------------- **
       
    20     @package:     NW_DOM
       
    21 
       
    22     @synopsis:    default
       
    23 
       
    24     @description: default
       
    25 
       
    26  ** ----------------------------------------------------------------------- **/
       
    27 #ifndef NW_DOM_ELEMENT_H
       
    28 #define NW_DOM_ELEMENT_H
       
    29 
       
    30 #include <xml/cxml/nw_dom_node.h>
       
    31 #include <xml/cxml/nw_dom_attribute.h>
       
    32 
       
    33 #ifdef __cplusplus
       
    34 extern "C" {
       
    35 #endif /* __cplusplus */
       
    36 
       
    37 
       
    38 /** ----------------------------------------------------------------------- **
       
    39     @function:    NW_DOM_ElementNode_getTagName
       
    40 
       
    41     @synopsis:    Gets the tag name of the element.
       
    42 
       
    43     @scope:       public
       
    44 
       
    45     @parameters:
       
    46        [in] NW_DOM_ElementNode_t* elem
       
    47                   The element node.
       
    48 
       
    49        [in-out] NW_String_t* name
       
    50                   The name of the element.
       
    51 
       
    52     @description: Gets the tag name of the element.
       
    53 
       
    54     @returns:     NW_Status_t
       
    55                   Status of operation.
       
    56 
       
    57        [NW_STAT_SUCCESS]
       
    58                   Got tag name.
       
    59 
       
    60        [NW_STAT_DOM_NODE_TYPE_ERR]
       
    61                   It is not a NW_DOM_ELEMENT_NODE
       
    62 
       
    63        [NW_STAT_DOM_NO_STRING_RETURNED]
       
    64                   Error.
       
    65 
       
    66  ** ----------------------------------------------------------------------- **/
       
    67 IMPORT_C NW_Status_t 
       
    68 NW_DOM_ElementNode_getTagName(NW_DOM_ElementNode_t* elem, 
       
    69                               NW_String_t* name);
       
    70 
       
    71 
       
    72 /** ----------------------------------------------------------------------- **
       
    73     @function:    NW_DOM_ElementNode_getTagToken
       
    74 
       
    75     @synopsis:    Gets the fully qualified token for the node.
       
    76 
       
    77     @scope:       public
       
    78 
       
    79     @parameters:
       
    80        [in] NW_DOM_ElementNode_t* elem
       
    81                   The element node.
       
    82 
       
    83     @description: Gets the fully qualified token for the node. The most 
       
    84                   significant 8 bits are the codepage; the next 8 bits 
       
    85                   are the token.
       
    86 
       
    87     @returns:     NW_Uint16
       
    88                   The token, including the codepage. Returns 0 if not 
       
    89                   NW_DOM_ELEMENT_NODE.
       
    90 
       
    91  ** ----------------------------------------------------------------------- **/
       
    92 IMPORT_C NW_Uint16 
       
    93 NW_DOM_ElementNode_getTagToken(NW_DOM_ElementNode_t* elem);
       
    94 
       
    95 
       
    96 /** ----------------------------------------------------------------------- **
       
    97     @function:    NW_DOM_ElementNode_getAttribute
       
    98 
       
    99     @synopsis:    Returns attribute value as string.
       
   100 
       
   101     @scope:       public
       
   102 
       
   103     @parameters:
       
   104        [in] NW_DOM_ElementNode_t* elem
       
   105                   The element node.
       
   106 
       
   107        [in] NW_String_t* attrName
       
   108                   Name of the attribute whose value is to be returned.
       
   109 
       
   110        [out] NW_String_t* attrValue
       
   111                   The value of the attribute.
       
   112 
       
   113     @description: Returns attribute value as string. In the case of WBXML, 
       
   114                   the value may consist of one or more of the five attribute 
       
   115                   types concatenated together to form a simple string.
       
   116 
       
   117     @returns:     NW_Status_t
       
   118                   Status of operation.
       
   119 
       
   120        [NW_STAT_SUCCESS]
       
   121                   Returned attribute.
       
   122 
       
   123        [NW_STAT_NOT_FOUND]
       
   124                   Attribute is not found.
       
   125 
       
   126        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   127                   Not a NW_DOM_ELEMENT_NODE.
       
   128 
       
   129        [NW_STAT_DOM_NO_STRING_RETURNED]
       
   130                   General error.
       
   131 
       
   132  ** ----------------------------------------------------------------------- **/
       
   133 IMPORT_C NW_Status_t
       
   134 NW_DOM_ElementNode_getAttribute(NW_DOM_ElementNode_t* elem, 
       
   135                                 NW_String_t* attrName, 
       
   136                                 NW_String_t* attrValue);
       
   137 
       
   138 
       
   139 /** ----------------------------------------------------------------------- **
       
   140     @function:    NW_DOM_ElementNode_setAttribute
       
   141 
       
   142     @synopsis:    Sets a named attribute to a value.
       
   143 
       
   144     @scope:       public
       
   145 
       
   146     @parameters:
       
   147        [in] NW_DOM_ElementNode_t* elem
       
   148                   The element node.
       
   149 
       
   150        [in] NW_String_t* attrName
       
   151                   The attribute whose value is to be set.
       
   152 
       
   153        [in] NW_String_t* attrValue
       
   154                   The new value of the attribute.
       
   155 
       
   156     @description: If the attribute with the given name exists then a its
       
   157                   value will be changed to input value, otherwise a new
       
   158                   attribute will be created. If the given attribute was
       
   159                   already present when the document was parsed the first 
       
   160                   time, it can not be removed. In this case a new attribute 
       
   161                   is added, and you will have two attributes with same name.
       
   162 
       
   163     @returns:     NW_Status_t
       
   164                   Status of operation.
       
   165 
       
   166        [NW_STAT_SUCCESS]
       
   167                   Attribute set.
       
   168 
       
   169        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   170                   Not an element node.
       
   171 
       
   172        [NW_STAT_BAD_INPUT_PARAM]
       
   173                   Required parameter was NULL.
       
   174 
       
   175  ** ----------------------------------------------------------------------- **/
       
   176 IMPORT_C NW_Status_t
       
   177 NW_DOM_ElementNode_setAttribute(NW_DOM_ElementNode_t* elem, 
       
   178                                 NW_String_t* attrName, 
       
   179                                 NW_String_t* attrValue);
       
   180 
       
   181 
       
   182 /** ----------------------------------------------------------------------- **
       
   183     @function:    NW_DOM_ElementNode_removeAttribute
       
   184 
       
   185     @synopsis:    Removes an attribute.
       
   186 
       
   187     @scope:       public
       
   188 
       
   189     @parameters:
       
   190        [in] NW_DOM_ElementNode_t* elem
       
   191                   The element node.
       
   192 
       
   193        [in] NW_String_t* attributeName
       
   194                   Name of the attribute to be removed.
       
   195 
       
   196     @description: Removes given attribute. Limited Use: You can only remove 
       
   197                   attributes that you explicitly created and added to the 
       
   198                   element. None of the attributes in the originally parsed 
       
   199                   document can be removed.
       
   200 
       
   201     @returns:     NW_Status_t
       
   202                   Status of operation.
       
   203 
       
   204        [NW_STAT_SUCCESS]
       
   205                   Removed attribute.
       
   206 
       
   207        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   208                   Not an NW_DOM_ELEMENT_NODE.
       
   209 
       
   210        [NW_STAT_BAD_INPUT_PARAM]
       
   211                   Required parameter was NULL.
       
   212  ** ----------------------------------------------------------------------- **/
       
   213 IMPORT_C NW_Status_t
       
   214 NW_DOM_ElementNode_removeAttribute(NW_DOM_ElementNode_t* elem, 
       
   215                                    NW_String_t* attributeName);
       
   216 
       
   217 
       
   218 /** ----------------------------------------------------------------------- **
       
   219     @function:    NW_DOM_ElementNode_hasAttributes
       
   220 
       
   221     @synopsis:    Checks whether an element has attributes.
       
   222 
       
   223     @scope:       public
       
   224 
       
   225     @parameters:
       
   226        [in] NW_DOM_ElementNode_t* elem
       
   227                   The element node.
       
   228 
       
   229     @description: Returns NW_TRUE if Attributes are present otherwise returns 
       
   230                   false; If value is true handle can be used to iterate over 
       
   231                   the Attributes list.
       
   232 
       
   233     @returns:     NW_Bool
       
   234                   Returns NW_TRUE if element has attributes, otherwise NW_FALSE.
       
   235 
       
   236  ** ----------------------------------------------------------------------- **/
       
   237 IMPORT_C NW_Bool
       
   238 NW_DOM_ElementNode_hasAttributes(NW_DOM_ElementNode_t* elem);
       
   239 
       
   240 
       
   241 /** ----------------------------------------------------------------------- **
       
   242     @function:    NW_DOM_ElementNode_getAttributeListIterator
       
   243 
       
   244     @synopsis:    Gets an iterator that enables iteration over the 
       
   245                   list of attributes.
       
   246 
       
   247     @scope:       public
       
   248 
       
   249     @parameters:
       
   250        [in] NW_DOM_Node_t* node
       
   251                   The element node.
       
   252 
       
   253        [out] NW_DOM_AttributeListIterator_t* iterator
       
   254                   Handle to iterate over the list of attributes of an element.
       
   255 
       
   256     @description: Gets an iterator that enables iteration over the list 
       
   257                   of attributes. This is a WAP-adapted DOM extension.
       
   258 
       
   259     @returns:     NW_Status_t
       
   260                   Status of operation.
       
   261 
       
   262        [NW_STAT_SUCCESS]
       
   263                   Iterator returned.
       
   264 
       
   265        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   266                   Not an NW_DOM_ELEMENT_NODE.
       
   267 
       
   268        [NW_STAT_NOT_FOUND]
       
   269                   Iterator could not be found.
       
   270 
       
   271  ** ----------------------------------------------------------------------- **/
       
   272 IMPORT_C NW_Status_t 
       
   273 NW_DOM_ElementNode_getAttributeListIterator(NW_DOM_Node_t* node, 
       
   274                                             NW_DOM_AttributeListIterator_t* iterator);
       
   275 
       
   276 
       
   277 /** ----------------------------------------------------------------------- **
       
   278     @function:    NW_DOM_ElementNode_getAttributeHandleByName
       
   279 
       
   280     @synopsis:    Gets an attribute handle by name.
       
   281 
       
   282     @scope:       public
       
   283 
       
   284     @parameters:
       
   285        [in] NW_DOM_ElementNode_t* elem
       
   286                   The element node.
       
   287 
       
   288        [in] NW_String_t* attributeName
       
   289                   Name of the attribute.
       
   290 
       
   291        [out] NW_DOM_AttributeHandle_t* handle
       
   292                   Handle to iterate over the different values of an attribute.
       
   293 
       
   294     @description: This method returns an AttributeHandle which enables user 
       
   295                   to evaluate different AttrVals (attribute values) that the 
       
   296                   attribute may have. This is a WAP-adapted DOM extension.
       
   297 
       
   298     @returns:     NW_Status_t
       
   299                   Status of operation.
       
   300 
       
   301        [NW_STAT_SUCCESS]
       
   302                   Handle returned.
       
   303 
       
   304        [NW_STAT_NOT_FOUND]
       
   305                   Attribute is not found.
       
   306 
       
   307        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   308                   Not a NW_DOM_ELEMENT_NODE.
       
   309 
       
   310        [NW_STAT_FAILURE]
       
   311                   Empty name.
       
   312 
       
   313  ** ----------------------------------------------------------------------- **/
       
   314 IMPORT_C NW_Status_t
       
   315 NW_DOM_ElementNode_getAttributeHandleByName(NW_DOM_ElementNode_t* elem, 
       
   316                                             NW_String_t* attributeName, 
       
   317                                             NW_DOM_AttributeHandle_t* handle);
       
   318 
       
   319 
       
   320 /** ----------------------------------------------------------------------- **
       
   321     @function:    NW_DOM_ElementNode_getAttributeHandleByToken
       
   322 
       
   323     @synopsis:    Gets an attribute handle by token.
       
   324 
       
   325     @scope:       public
       
   326 
       
   327     @parameters:
       
   328        [in] NW_DOM_ElementNode_t* elem
       
   329                   The element node.
       
   330 
       
   331        [in] NW_Uint16 token
       
   332                   Token of the attribute.
       
   333 
       
   334        [in-out] NW_DOM_AttributeHandle_t* handle
       
   335                   Gets different params of an attribute, its name, token, and values.
       
   336 
       
   337     @description: This method returns an AttributeHandle which enables user
       
   338                   to evaluate different AttrVals (attribute values) that the 
       
   339                   attribute may have.
       
   340 
       
   341     @returns:     NW_Status_t
       
   342                   Status of operation.
       
   343 
       
   344        [NW_STAT_SUCCESS]
       
   345                   Handle returned.
       
   346 
       
   347        [NW_STAT_NOT_FOUND]
       
   348                   Attribute is not found.
       
   349 
       
   350        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   351                    Not an NW_DOM_ELEMENT_NODE.
       
   352 
       
   353  ** ----------------------------------------------------------------------- **/
       
   354 IMPORT_C NW_Status_t
       
   355 NW_DOM_ElementNode_getAttributeHandleByToken(NW_DOM_ElementNode_t* elem, 
       
   356                                              NW_Uint16 token, 
       
   357                                              NW_DOM_AttributeHandle_t* handle);
       
   358 
       
   359 
       
   360 /** ----------------------------------------------------------------------- **
       
   361     @function:    NW_DOM_ElementNode_getAttributeValueStringByToken
       
   362 
       
   363     @synopsis:    Gets attribute value as string.
       
   364 
       
   365     @scope:       public
       
   366 
       
   367     @parameters:
       
   368        [in] NW_DOM_ElementNode_t* elem
       
   369                   The element node.
       
   370 
       
   371        [in] NW_Uint16 token
       
   372                   Token of the attribute whose value is to be returned.
       
   373 
       
   374        [out] NW_String_t* attributeValue
       
   375                   The value of the attribute.
       
   376 
       
   377     @description: Gets attribute value as string.
       
   378 
       
   379     @returns:     NW_Status_t
       
   380                   Status of operation.
       
   381 
       
   382        [NW_STAT_SUCCESS]
       
   383                   Attribute value returned.
       
   384 
       
   385        [NW_STAT_NOT_FOUND]
       
   386                    Attribute is not found.
       
   387 
       
   388        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   389                    Not an NW_DOM_ELEMENT_NODE.
       
   390 
       
   391        [NW_STAT_DOM_NO_STRING_RETURNED]
       
   392                    General error.
       
   393 
       
   394  ** ----------------------------------------------------------------------- **/
       
   395 NW_Status_t
       
   396 NW_DOM_ElementNode_getAttributeValueStringByToken(NW_DOM_ElementNode_t* elem, 
       
   397                                                   NW_Uint16 token, 
       
   398                                                   NW_String_t* attributeValue);
       
   399 
       
   400  
       
   401 /** ----------------------------------------------------------------------- **
       
   402     @function:    NW_DOM_ElementNode_setAttributeByToken
       
   403 
       
   404     @synopsis:    Set attribute by token.
       
   405 
       
   406     @scope:       public
       
   407 
       
   408     @parameters:
       
   409        [in] NW_DOM_ElementNode_t* elem
       
   410                   The element node.
       
   411 
       
   412        [in] NW_Uint16 token
       
   413                   The attribute to be changed. 
       
   414 
       
   415        [in-out] NW_DOM_AttrVal_t* attrValue
       
   416                   The new value of the attribute.
       
   417 
       
   418     @description: If the attribute with the given name exists then a its
       
   419                   value will be changed to input value, otherwise a new
       
   420                   attribute will be created. If the given attribute was
       
   421                   already present when the document was parsed the first
       
   422                   time, it can not be removed. In this case a new attribute
       
   423                   is added, and you will have two attributes with same name.
       
   424 
       
   425     @returns:     NW_Status_t
       
   426                   Status of operation.
       
   427 
       
   428        [NW_STAT_SUCCESS]
       
   429                   Attribute set.
       
   430 
       
   431        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   432                   Not an NW_DOM_ELEMENT_NODE.
       
   433 
       
   434        [NW_STAT_BAD_INPUT_PARAM]
       
   435                   Required parameter is null.
       
   436 
       
   437        [NW_STAT_NOT_FOUND]
       
   438                   Attribute is not found.
       
   439 
       
   440  ** ----------------------------------------------------------------------- **/
       
   441 IMPORT_C NW_Status_t
       
   442 NW_DOM_ElementNode_setAttributeByToken(NW_DOM_ElementNode_t* elem, 
       
   443                                        NW_Uint16 token, 
       
   444                                        NW_DOM_AttrVal_t* attrValue);
       
   445 
       
   446 
       
   447 /** ----------------------------------------------------------------------- **
       
   448     @function:    NW_DOM_ElementNode_setAttributeByAttrVal
       
   449 
       
   450     @synopsis:    Sets atrribute by attribute value.
       
   451 
       
   452     @scope:       public
       
   453 
       
   454     @parameters:
       
   455        [in] NW_DOM_ElementNode_t* elem
       
   456                   The element node.
       
   457 
       
   458        [in] NW_String_t* attrName
       
   459                   The attribute to be changed.
       
   460 
       
   461        [in] NW_DOM_AttrVal_t* attrValue
       
   462                   The new value of the attribute.
       
   463 
       
   464     @description: If the attribute with the given name exists then a its
       
   465                   value will be changed to input value, otherwise a new
       
   466                   attribute will be created LIMITATION: If the given
       
   467                   attribute was already present when the document was
       
   468                   parsed the first time, it can not be removed. In this
       
   469                   case a new attribute is added, and you will have two
       
   470                   attributes with same name
       
   471 
       
   472     @returns:     NW_Status_t
       
   473                   Status of operation.
       
   474 
       
   475        [NW_STAT_SUCCESS]
       
   476                   Attribute set.
       
   477 
       
   478        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   479                   Not an NW_DOM_ELEMENT_NODE.
       
   480 
       
   481        [NW_STAT_BAD_INPUT_PARAM]
       
   482                   Required parameter is null.
       
   483 
       
   484        [NW_STAT_NOT_FOUND]
       
   485                   Attribute is not found.
       
   486 
       
   487  ** ----------------------------------------------------------------------- **/
       
   488 IMPORT_C NW_Status_t
       
   489 NW_DOM_ElementNode_setAttributeByAttrVal(NW_DOM_ElementNode_t* elem, 
       
   490                                          NW_String_t* attrName, 
       
   491                                          NW_DOM_AttrVal_t* attrValue);
       
   492 
       
   493 
       
   494 /** ----------------------------------------------------------------------- **
       
   495     @function:    NW_DOM_ElementNode_setAttributeByAttributeHandle
       
   496 
       
   497     @synopsis:    Sets attribute by attribute handle
       
   498 
       
   499     @scope:       public
       
   500 
       
   501     @parameters:
       
   502        [in] NW_DOM_ElementNode_t* elem
       
   503                   The element node.
       
   504 
       
   505        [in] NW_DOM_AttributeHandle_t* handle
       
   506                    The attribute handle.
       
   507 
       
   508     @description: A new attribute will be created on element.
       
   509                   LIMITATION: If the given attribute was already
       
   510                   present when the document was parsed the first time,
       
   511                   it can not be removed. In this case a new attribute
       
   512                   is added, and you will have two attributes with same
       
   513                   name
       
   514 
       
   515     @returns:     NW_Status_t
       
   516                   Status of operation.
       
   517 
       
   518        [NW_STAT_SUCCESS]
       
   519                   Attribute set.
       
   520 
       
   521        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   522                   Not an NW_DOM_ELEMENT_NODE.
       
   523 
       
   524        [NW_STAT_BAD_INPUT_PARAM]
       
   525                   Required parameter is null.
       
   526 
       
   527        [NW_STAT_NOT_FOUND]
       
   528                   Attribute is not found.
       
   529 
       
   530  ** ----------------------------------------------------------------------- **/
       
   531 IMPORT_C NW_Status_t
       
   532 NW_DOM_ElementNode_setAttributeByAttributeHandle(NW_DOM_ElementNode_t* elem,
       
   533                                                  NW_DOM_AttributeHandle_t* handle);
       
   534 
       
   535 
       
   536 /** ----------------------------------------------------------------------- **
       
   537     @function:    NW_DOM_ElementNode_removeAttributeByToken
       
   538 
       
   539     @synopsis:    Remove attribute by token.
       
   540 
       
   541     @scope:       public
       
   542 
       
   543     @parameters:
       
   544        [in] NW_DOM_ElementNode_t* elem
       
   545                   The element node.
       
   546 
       
   547        [in] NW_Uint16 attributeToken
       
   548                   Token of the attribute which is to be removed.
       
   549 
       
   550     @description: Removes given attribute. You can only remove attributes
       
   551                   that you explicitly created and added to the element.
       
   552                   None of the attributes in the originally parsed document
       
   553                   can not be removed.
       
   554 
       
   555     @returns:     NW_Status_t
       
   556                   Status of operation.
       
   557 
       
   558        [NW_STAT_SUCCESS]
       
   559                   Attribute removed.
       
   560 
       
   561        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   562                   Not an NW_DOM_ELEMENT_NODE.
       
   563 
       
   564        [NW_STAT_BAD_INPUT_PARAM]
       
   565                   Required parameter is null.
       
   566 
       
   567        [NW_STAT_NOT_FOUND]
       
   568                   Attribute is not found.
       
   569 
       
   570  ** ----------------------------------------------------------------------- **/
       
   571 NW_Status_t
       
   572 NW_DOM_ElementNode_removeAttributeByToken(NW_DOM_ElementNode_t* elem, 
       
   573                                           NW_Uint16 attributeToken);
       
   574 
       
   575 
       
   576 /** ----------------------------------------------------------------------- **
       
   577     @function:    NW_DOM_ElementNode_getElementIteratorByTagName
       
   578 
       
   579     @synopsis:    Gets the handle to iterate over the elements of a given token.
       
   580 
       
   581     @scope:       public
       
   582 
       
   583     @parameters:
       
   584        [in] NW_DOM_ElementNode_t* elem
       
   585                   The element node.
       
   586 
       
   587        [in] NW_String_t* name
       
   588                   Name of the element to be found.
       
   589 
       
   590        [out] NW_DOM_NodeIterator_t* handle
       
   591                   Iterator to iterate over elements of a given token.
       
   592 
       
   593     @description: Returns a pointer to the next Element with the given name
       
   594                   using this node as the root of the subtree.
       
   595 
       
   596     @returns:     NW_Status_t
       
   597                   Status of operation.
       
   598 
       
   599        [NW_STAT_SUCCESS]
       
   600                   Got iterator.
       
   601 
       
   602        [NW_STAT_FAILURE]
       
   603                   Required parameter is null.
       
   604 
       
   605        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   606                   Not an NW_DOM_ELEMENT_NODE.
       
   607 
       
   608  ** ----------------------------------------------------------------------- **/
       
   609 NW_Status_t
       
   610 NW_DOM_ElementNode_getElementIteratorByTagName(NW_DOM_ElementNode_t* elem, 
       
   611                                                NW_String_t* name,
       
   612                                                NW_DOM_NodeIterator_t* handle);
       
   613 
       
   614 
       
   615 /** ----------------------------------------------------------------------- **
       
   616     @function:    NW_DOM_ElementNode_getElementIteratorByTagToken
       
   617 
       
   618     @synopsis:    Get element iterator by tag token.
       
   619 
       
   620     @scope:       public
       
   621 
       
   622     @parameters:
       
   623        [in] NW_DOM_ElementNode_t* elem
       
   624                   The element node.
       
   625 
       
   626        [in] NW_Uint16 token
       
   627                   Token of the element to be found.
       
   628 
       
   629        [out] NW_DOM_NodeIterator_t* handle
       
   630                   Iterator to iterate over elements of a given token.
       
   631 
       
   632     @description: Gets the handle to iterate over elements of a given token. 
       
   633 
       
   634     @returns:     NW_Status_t
       
   635                   Status of operation.
       
   636 
       
   637        [NW_STAT_SUCCESS]
       
   638                   Got iterator.
       
   639 
       
   640        [NW_STAT_FAILURE]
       
   641                   Required parameter is null.
       
   642 
       
   643        [NW_STAT_DOM_NODE_TYPE_ERR]
       
   644                   Not an NW_DOM_ELEMENT_NODE.
       
   645 
       
   646  ** ----------------------------------------------------------------------- **/
       
   647 NW_Status_t
       
   648 NW_DOM_ElementNode_getElementIteratorByTagToken(NW_DOM_ElementNode_t* elem, 
       
   649                                                 NW_Uint16 token,
       
   650                                                 NW_DOM_NodeIterator_t* handle);
       
   651 
       
   652 #ifdef __cplusplus
       
   653 } /* extern "C" { */
       
   654 #endif /* __cplusplus */
       
   655 
       
   656 #endif  /* NW_DOM_ELEMENT_H */