1 #ifndef __ISDS_PHYSXML_H__
2 #define __ISDS_PHYSXML_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
23 * @start outputs start of the element location in @document (inclusive,
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
);