Export isds_PersonName_free(), isds_BirthInfo_free(), isds_Address_free()
[libisds.git] / src / physxml.h
blob1c7f1a7916bf5e4f8c24dd0ace56ae57f0a20755
1 #ifndef __ISDS_PHYSXML_H__
2 #define __ISDS_PHYSXML_H__
4 #include "isds.h"
6 #define PHYSXML_ELEMENT_SEPARATOR "|"
7 #define PHYSXML_NS_SEPARATOR ">"
9 /* Check for expat compile-time configuration
10 * @current_version is static string describing current expat version */
11 isds_error _isds_init_expat(const char **current_version);
13 /* Locate element specified by element path in XML stream.
14 * TODO: Support other encodings than UTF-8
15 * @document is XML document as bit stream
16 * @length is size of @document in bytes. Zero length is forbidden.
17 * @path is special path (e.g. "|html|head|title",
18 * qualified element names are specified as
19 * NSURI '>' LOCALNAME, omit NSURI and '>' separator if no namespace
20 * should be addressed (i.e. use only locale name)
21 * You can use PHYSXML_ELEMENT_SEPARATOR and PHYSXML_NS_SEPARATOR string
22 * macros.
23 * @start outputs start of the element location in @document (inclusive,
24 * counts from 0)
25 * @end outputs end of element (inclusive, counts from 0)
26 * @return 0 if element found */
27 isds_error _isds_find_element_boundary(void *document, size_t length,
28 char *path, size_t *start, size_t *end);
29 #endif