* Explicit search indexes

* Added object-based `clixon_xvec` as a new programming construct for contiguous XML object vectors.
This commit is contained in:
Olof hagsand 2020-02-28 12:16:16 +01:00
parent 94c7be42b6
commit 451adfaf1f
16 changed files with 1052 additions and 165 deletions

View file

@ -33,7 +33,7 @@
***** END LICENSE BLOCK *****
* XML support functions.
* Clixon XML object (cxobj) support functions.
* @see https://www.w3.org/TR/2008/REC-xml-20081126
* https://www.w3.org/TR/2009/REC-xml-names-20091208/
* Canonical XML version (just for info)
@ -105,6 +105,8 @@ typedef struct xml cxobj; /* struct defined in clicon_xml.c */
*/
typedef int (xml_applyfn_t)(cxobj *x, void *arg);
typedef struct clixon_xml_vec clixon_xvec; /* struct defined in clicon_xvec.c */
/*
* xml_flag() flags:
*/
@ -227,6 +229,14 @@ int xml_attr_insert2val(char *instr, enum insert_type *ins);
int clicon_log_xml(int level, cxobj *x, char *format, ...) __attribute__ ((format (printf, 3, 4)));
#else
int clicon_log_xml(int level, cxobj *x, char *format, ...);
#endif
#ifdef XML_EXPLICIT_INDEX
int xml_search_index_p(cxobj *x);
int xml_search_vector_get(cxobj *x, char *name, clixon_xvec **xvec);
int xml_search_child_insert(cxobj *xp, cxobj *x);
int xml_search_child_rm(cxobj *xp, cxobj *x);
#endif
#endif /* _CLIXON_XML_H */