yumapro  20.10-14
YumaPro SDK
xml_util.h File Reference

XML Utilities. More...

#include <xmlreader.h>
#include <xmlstring.h>
#include "ncxconst.h"
#include "xmlns.h"
#include "log.h"
Include dependency graph for xml_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  xml_attr_t
 represents one attribute More...
 
struct  xml_node_t
 gather node data into a simple struct. More...
 

Typedefs

typedef dlq_hdr_t xml_attrs_t
 queue of xml_attr_t
 

Enumerations

enum  xml_nodetyp_t {
  XML_NT_NONE,
  XML_NT_EMPTY,
  XML_NT_START,
  XML_NT_END,
  XML_NT_STRING
}
 only 4 types of nodes returned More...
 

Functions

xml_node_txml_new_node (void)
 Malloc and init a new xml_node_t struct. More...
 
void xml_init_node (xml_node_t *node)
 Init an xml_node_t struct. More...
 
void xml_free_node (xml_node_t *node)
 Free an xml_node_t struct. More...
 
void xml_clean_node (xml_node_t *node)
 Clean an xml_node_t struct. More...
 
status_t xml_get_reader_from_buff (const xmlChar *buff, xmlTextReaderPtr *reader)
 Get a new xmlTextReader for parsing a debug test file. More...
 
status_t xml_get_reader_from_filespec (const char *filespec, xmlTextReaderPtr *reader)
 Get a new xmlTextReader for parsing a debug test file. More...
 
status_t xml_get_reader_for_session (xmlInputReadCallback readfn, xmlInputCloseCallback closefn, void *context, xmlTextReaderPtr *reader)
 Get a new xmlTextReader for parsing the input of a NETCONF session. More...
 
status_t xml_reset_reader_for_session (xmlInputReadCallback readfn, xmlInputCloseCallback closefn, void *context, xmlTextReaderPtr reader)
 Reset the xmlTextReader for parsing the input of a NETCONF session. More...
 
void xml_free_reader (xmlTextReaderPtr reader)
 Free the previously allocated xmlTextReader. More...
 
const char * xml_get_node_name (int nodeval)
 get the node type according to the xmlElementType enum list in /usr/include/libxml/libxml/tree.h More...
 
boolean xml_advance_reader (xmlTextReaderPtr reader)
 Advance to the next node in the specified reader. More...
 
status_t xml_node_match (const xml_node_t *node, xmlns_id_t nsid, const xmlChar *elname, xml_nodetyp_t nodetyp)
 check if a specific node is the proper owner, name, and type More...
 
status_t xml_endnode_match (const xml_node_t *startnode, const xml_node_t *endnode)
 check if a specific node is the proper endnode match for a given startnode More...
 
boolean xml_docdone (xmlTextReaderPtr reader)
 check if the input is completed for a given PDU More...
 
void xml_dump_node (const xml_node_t *node, log_debug_t lvl)
 Debug function to printf xml_node_t contents. More...
 
void xml_init_attrs (xml_attrs_t *attrs)
 initialize an xml_attrs_t variable More...
 
xml_attr_txml_new_attr (void)
 malloc and init an attribute struct More...
 
void xml_free_attr (xml_attr_t *attr)
 free an attribute More...
 
status_t xml_add_attr (xml_attrs_t *attrs, xmlns_id_t ns_id, const xmlChar *attr_name, const xmlChar *attr_val)
 add an attribute to an attribute list More...
 
xml_attr_txml_add_qattr (xml_attrs_t *attrs, xmlns_id_t ns_id, const xmlChar *attr_qname, uint32 plen, const xmlChar *attr_val, status_t *res)
 add a qualified attribute to an attribute list with a prefix More...
 
status_t xml_add_xmlns_attr (xml_attrs_t *attrs, xmlns_id_t ns_id, const xmlChar *pfix)
 add an xmlns decl to the attribute Queue More...
 
status_t xml_add_xmlns_attr_string (xml_attrs_t *attrs, const xmlChar *ns, const xmlChar *pfix)
 add an xmlns decl to the attribute Queue More...
 
status_t xml_add_inv_xmlns_attr (xml_attrs_t *attrs, xmlns_id_t ns_id, const xmlChar *pfix, const xmlChar *nsval)
 add an xmlns decl to the attribute Queue for an INVALID namespace. More...
 
xml_attr_txml_first_attr (xml_attrs_t *attrs)
 get the first attribute in the list More...
 
xml_attr_txml_get_first_attr (const xml_node_t *node)
 get the first attribute in the attrs list, from an xml_node_t param More...
 
xml_attr_txml_next_attr (xml_attr_t *attr)
 get the next attribute in the list More...
 
void xml_clean_attrs (xml_attrs_t *attrs)
 clean an xml_attrs_t variable More...
 
void xml_move_attrs (xml_attrs_t *src_attrs, xml_attrs_t *dest_attrs)
 Move all the attrs from the src to the dest. More...
 
xml_attr_txml_find_attr (xml_node_t *node, xmlns_id_t nsid, const xmlChar *attrname)
 Find an attribute. More...
 
xml_attr_txml_find_attr_q (xml_attrs_t *attrs, xmlns_id_t nsid, const xmlChar *attrname)
 Find an attribute in a Q. More...
 
const xml_attr_txml_find_ro_attr (const xml_node_t *node, xmlns_id_t nsid, const xmlChar *attrname)
 Find a read-only attribute. More...
 
uint32 xml_strlen (const xmlChar *str)
 Get the String len for xmlChar. More...
 
uint32 xml_strlen_sp (const xmlChar *str, boolean *sp)
 get length and check if any whitespace at the same time More...
 
uint32 xml_strcpy (xmlChar *copyTo, const xmlChar *copyFrom)
 String copy for xmlChar. More...
 
uint32 xml_strncpy (xmlChar *copyTo, const xmlChar *copyFrom, uint32 maxlen)
 String copy for xmlChar – checks for buffer overflow. More...
 
xmlChar * xml_strdup (const xmlChar *copyFrom)
 String duplicate for xmlChar. More...
 
xmlChar * xml_strcat (xmlChar *appendTo, const xmlChar *appendFrom)
 String concatenate for xmlChar. More...
 
xmlChar * xml_strncat (xmlChar *appendTo, const xmlChar *appendFrom, uint32 maxlen)
 String concatenate for at most maxlen xmlChars. More...
 
xmlChar * xml_strndup (const xmlChar *copyFrom, uint32 maxlen)
 String duplicate for max N xmlChars. More...
 
char * xml_ch_strndup (const char *copyFrom, uint32 maxlen)
 String duplicate for max N chars. More...
 
int xml_strcmp (const xmlChar *s1, const xmlChar *s2)
 String compare for xmlChar. More...
 
int xml_stricmp (const xmlChar *s1, const xmlChar *s2)
 Case insensitive string compare for xmlChar. More...
 
int xml_strncmp (const xmlChar *s1, const xmlChar *s2, uint32 maxlen)
 String compare for xmlChar for at most 'maxlen' xmlChars. More...
 
int xml_strnicmp (const xmlChar *s1, const xmlChar *s2, uint32 maxlen)
 Case insensitive string compare for xmlChar for at most 'maxlen' xmlChars. More...
 
boolean xml_isspace (uint32 ch)
 Check if an xmlChar is a space char. More...
 
boolean xml_isspace_str (const xmlChar *str)
 Check if an xmlChar string is all whitespace chars. More...
 
int xml_strcmp_nosp (const xmlChar *s1, const xmlChar *s2)
 String compare for xmlChar for 2 strings, but ignoring whitespace differences. More...
 
int xml_strcmp_nosp2 (const xmlChar *s1, const xmlChar *s2)
 String compare for xmlChar for 2 strings, but completely ignoring whitespace differences. More...
 
xmlChar * xml_copy_clean_string (const xmlChar *str)
 Get a malloced string contained the converted string from the input. More...
 
xmlChar xml_convert_char_entity (const xmlChar *str, uint32 *used)
 Convert an XML character entity into a single xmlChar. More...
 
status_t xml_check_ns (xmlTextReaderPtr reader, const xmlChar *elname, xmlns_id_t *id, uint32 *pfix_len, const xmlChar **badns)
 Check a namespace during parsing. More...
 
void xml_check_qname_content (xmlTextReaderPtr reader, xml_node_t *node)
 Check if the string node content is a likely QName. More...
 
status_t xml_get_namespace_id (xmlTextReaderPtr reader, const xmlChar *prefix, uint32 prefixlen, boolean register_missing, xmlns_id_t *retnsid)
 Get the namespace for the specified prefix (may be NULL) Use the current XML reader context to resolve the prefix. More...
 
status_t xml_consume_node (xmlTextReaderPtr reader, xml_node_t *xmlnode, boolean nserr, boolean adv)
 parse function for YIN input More...
 
xmlChar * xml_trim_string (xmlChar *str)
 trim leading and trailing whitespace inline in the same buffer More...
 

Detailed Description

XML Utilities.