# attribute
[AXIOM]

## Typedefs
typedef struct axiom_attribute | axiom_attribute_t
## Functions
AXIS2_EXTERN axiom_attribute_t * | axiom_attribute_create (const axutil_env_t *env, const axis2_char_t *localname, const axis2_char_t *value, axiom_namespace_t *ns)
AXIS2_EXTERN void | axiom_attribute_free_void_arg (void *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN void | axiom_attribute_free (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN axutil_qname_t * | axiom_attribute_get_qname (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN int | axiom_attribute_serialize (struct axiom_attribute *om_attribute, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN axis2_char_t * | axiom_attribute_get_localname (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN axis2_char_t * | axiom_attribute_get_value (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN axiom_namespace_t * | axiom_attribute_get_namespace (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_attribute_set_localname (struct axiom_attribute *om_attribute, const axutil_env_t *env, const axis2_char_t *localname)
AXIS2_EXTERN axis2_status_t | axiom_attribute_set_value (struct axiom_attribute *om_attribute, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN axis2_status_t | axiom_attribute_set_namespace (struct axiom_attribute *om_attribute, const axutil_env_t *env, axiom_namespace_t *om_namespace)
AXIS2_EXTERN struct axiom_attribute * | axiom_attribute_clone (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_attribute_increment_ref (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN axiom_attribute_t * | axiom_attribute_create_str (const axutil_env_t *env, axutil_string_t *localname, axutil_string_t *value, axiom_namespace_t *ns)
AXIS2_EXTERN axutil_string_t * | axiom_attribute_get_localname_str (axiom_attribute_t *attribute, const axutil_env_t *env)
AXIS2_EXTERN axutil_string_t * | axiom_attribute_get_value_str (axiom_attribute_t *attribute, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_attribute_set_localname_str (axiom_attribute_t *attribute, const axutil_env_t *env, axutil_string_t *localname)
AXIS2_EXTERN axis2_status_t | axiom_attribute_set_value_str (axiom_attribute_t *attribute, const axutil_env_t *env, axutil_string_t *value)

## Function Documentation

AXIS2_EXTERN struct axiom_attribute* axiom_attribute_clone | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  | `[read]`

clones an om attribute

Parameters:

  | om_attibute |
  | env | environment

Returns:
  pointer to cloned om attribute struct on success NULL otherwise

AXIS2_EXTERN axiom_attribute_t* axiom_attribute_create | ( | const axutil_env_t * | env,
|  | const axis2_char_t * | localname,
|  | const axis2_char_t * | value,
|  | axiom_namespace_t * | ns |
| ) |  |  |

creates an om_attribute struct

Parameters:

  | env | Environment. MUST NOT be NULL
  | localname | localname of the attribute, should not be a null value.
  | value | normalized attribute value. cannot be NULL
  | ns | namespace, if any, of the attribute. Optional, can be NULL om_attribute wont free the ns

Returns:
  a pointer to newly created attribute struct, returns NULL on error with error code set in environment's error.

AXIS2_EXTERN axiom_attribute_t* axiom_attribute_create_str | ( | const axutil_env_t * | env,
|  | axutil_string_t * | localname,
|  | axutil_string_t * | value,
|  | axiom_namespace_t * | ns |
| ) |  |  |

Create OM attribute

Parameters:

  | om_attribute | a pointer to om_attribute struct
  | env | environment, MUST NOT be NULL.

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN void axiom_attribute_free | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

Free an axiom_attribute struct

Parameters:

  | om_attribute | pointer to attribute struct to be freed
  | env | Environment. MUST NOT be NULL

AXIS2_EXTERN void axiom_attribute_free_void_arg | ( | void * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

Free om attribute passed as void pointer. This will be cast into appropriate type and then pass the cast object into the om_attribute structure's free method

Parameters:

  | om_attribute | pointer to attribute struct to be freed
  | env | Environment. MUST NOT be NULL

AXIS2_EXTERN axis2_char_t* axiom_attribute_get_localname | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

Returns the localname of this attribute

Parameters:

  | om_attribute | pointer to attribute struct
  | env | environment. MUST NOT not be NULL.

Returns:
  localname returns NULL on error.

AXIS2_EXTERN axutil_string_t* axiom_attribute_get_localname_str | ( | axiom_attribute_t * | attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

Get the localname as a string

Parameters:

  | om_attribute | a pointer to om_attribute struct
  | env | environment, MUST NOT be NULL.

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axiom_namespace_t* axiom_attribute_get_namespace | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

returns namespace of this attribute

Parameters:

  | om_attribute |
  | env | environment MUST NOT be NULL

Returns:
  a pointer to om_namespace struct , returns NULL on error.

AXIS2_EXTERN axutil_qname_t* axiom_attribute_get_qname | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

Creates and returns a qname struct for this attribute

Parameters:

  | om_attribute | pointer to attribute struct for which the qname is to be returned
  | env | Environment. MUST NOT be NULL

Returns:
  returns qname for given attribute.NULL on error

AXIS2_EXTERN axis2_char_t* axiom_attribute_get_value | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

returns value of this attribute

Parameters:

  | om_attribute | pointer to om_attribute struct
  | env | environment N not be null

Returns:
  value , null on error

AXIS2_EXTERN axutil_string_t* axiom_attribute_get_value_str | ( | axiom_attribute_t * | attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

Get the value as a string

Parameters:

  | om_attribute | a pointer to om_attribute struct
  | env | environment, MUST NOT be NULL.

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_increment_ref | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env |
| ) |  |  |

Increment the reference counter.

Parameters:

  | om_attribute | a pointer to om_attribute struct
  | env | environment, MUST NOT be NULL.

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN int axiom_attribute_serialize | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env,
|  | axiom_output_t * | om_output |
| ) |  |  |

Serialize op

Parameters:

  | om_attribute | pointer to attribute struct to be serialized
  | env | Environment. MUST NOT be NULL,
  | om_output | AXIOM output handler to be used in serializing

Returns:
  satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_localname | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | localname |
| ) |  |  |

sets the localname of the attribute

Parameters:

  | om_attribute | pointer to om attribute struct.
  | env | environment, MUST NOT be null.
  | localname | localname that should be set for this attribute

Returns:
  status code AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_localname_str | ( | axiom_attribute_t * | attribute,
|  | const axutil_env_t * | env,
|  | axutil_string_t * | localname |
| ) |  |  |

Set the localname of the attribute

Parameters:

  | om_attribute | a pointer to om_attribute struct
  | env | environment, MUST NOT be NULL.

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_namespace | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env,
|  | axiom_namespace_t * | om_namespace |
| ) |  |  |

set namespace of the attribute

Parameters:

  | om_attribute | a pointer to om_attribute struct
  | env | environment, MUST NOT be NULL.
  | om_namespace | a pointer to om_namespace struct that should be set for this attribute

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_value | ( | struct axiom_attribute * | om_attribute,
|  | const axutil_env_t * | env,
|  | const axis2_char_t * | value |
| ) |  |  |

set the attribute value

Parameters:

  | om_attribute | a pointer to om_attribute struct.
  | env | environment, MUST NOT be NULL.
  | value | value that should be set for this attribute

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_value_str | ( | axiom_attribute_t * | attribute,
|  | const axutil_env_t * | env,
|  | axutil_string_t * | value |
| ) |  |  |

Set the value of the attribute

Parameters:

  | om_attribute | a pointer to om_attribute struct
  | env | environment, MUST NOT be NULL.

Returns:
  status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.