# children with specific attribute iterator
[AXIOM]

## Defines
#define | AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREE(iterator, env) axiom_children_with_specific_attribute_iterator_free(iterator, env)
#define | AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVE(iterator, env) axiom_children_with_specific_attribute_iterator_remove(iterator, env)
#define | AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXT(iterator, env) axiom_children_with_specific_attribute_iterator_has_next(iterator, env)
#define | AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXT(iterator, env) axiom_children_with_specific_attribute_iterator_next(iterator, env)
## Functions
AXIS2_EXTERN void | axiom_children_with_specific_attribute_iterator_free (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_children_with_specific_attribute_iterator_remove (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t | axiom_children_with_specific_attribute_iterator_has_next (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axiom_node_t * | axiom_children_with_specific_attribute_iterator_next (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t * | axiom_children_with_specific_attribute_iterator_create (const axutil_env_t *env, axiom_node_t *current_child, axutil_qname_t *attr_qname, axis2_char_t *attr_value, axis2_bool_t detach)

## Function Documentation

AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t* axiom_children_with_specific_attribute_iterator_create | ( | const axutil_env_t * | env,
|  | axiom_node_t * | current_child,
|  | axutil_qname_t * | attr_qname,
|  | axis2_char_t * | attr_value,
|  | axis2_bool_t | detach |
| ) |  |  |

Parameters:

  | env | environment, MUST NOT be NULL
  | current_child | the current child for the interation
  | attr_qname | the qname for the attribute
  | attr_value | the value string for the attribute
  | detach | AXIS2_TRUE to detach AXIS2_FALSE not to return axiom_children_with_specific_attribute_iterator_t

AXIS2_EXTERN void axiom_children_with_specific_attribute_iterator_free | ( | axiom_children_with_specific_attribute_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Free function free the om_children_with_specific_attribute_iterator struct

Parameters:

  | iterator | a pointer to axiom children with specific attribute iterator struct
  | env | environment, MUST NOT be NULL

AXIS2_EXTERN axis2_bool_t axiom_children_with_specific_attribute_iterator_has_next | ( | axiom_children_with_specific_attribute_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Returns true< if the iteration has more elements. (In other words, returns true if next would return an axiom_node_t struct rather than NULL with error code set in environment

Parameters:

  | iterator | a pointer to axiom children with specific attribute iterator struct
  | env | environment, MUST NOT be NULL

AXIS2_EXTERN axiom_node_t* axiom_children_with_specific_attribute_iterator_next | ( | axiom_children_with_specific_attribute_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Returns the next element in the iteration. returns null if there is no more elements in the iteration

Parameters:

  | iterator | a pointer to axiom children with specific attribute iterator struct
  | env | environment, MUST NOT be NULL

AXIS2_EXTERN axis2_status_t axiom_children_with_specific_attribute_iterator_remove | ( | axiom_children_with_specific_attribute_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Removes from the underlying collection the last element returned by the iterator (optional op). This method can be called only once per call to `next`. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Parameters:

  | iterator | a pointer to axiom children with specific attribute iterator struct
  | env | environment, MUST NOT be NULL