diff options
Diffstat (limited to 'plugins/Variables/src/libxml/xpointer.h')
| -rw-r--r-- | plugins/Variables/src/libxml/xpointer.h | 83 | 
1 files changed, 83 insertions, 0 deletions
diff --git a/plugins/Variables/src/libxml/xpointer.h b/plugins/Variables/src/libxml/xpointer.h new file mode 100644 index 0000000000..80c465c70f --- /dev/null +++ b/plugins/Variables/src/libxml/xpointer.h @@ -0,0 +1,83 @@ +/* + * xpointer.h : API to handle XML Pointers + * + * World Wide Web Consortium Working Draft 03-March-1998  + * http://www.w3.org/TR/1998/WD-xptr-19980303 + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#ifndef __XML_XPTR_H__ +#define __XML_XPTR_H__ + +#include <libxml/tree.h> +#include <libxml/xpath.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * A Location Set + */ +typedef struct _xmlLocationSet xmlLocationSet; +typedef xmlLocationSet *xmlLocationSetPtr; +struct _xmlLocationSet { +    int locNr;		      /* number of locations in the set */ +    int locMax;		      /* size of the array as allocated */ +    xmlXPathObjectPtr *locTab;/* array of locations */ +}; + +/* + * Handling of location sets. + */ + +xmlLocationSetPtr	xmlXPtrLocationSetCreate(xmlXPathObjectPtr val); +void			xmlXPtrFreeLocationSet	(xmlLocationSetPtr obj); +xmlLocationSetPtr	xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1, +						 xmlLocationSetPtr val2); +xmlXPathObjectPtr	xmlXPtrNewRange		(xmlNodePtr start, +						 int startindex, +						 xmlNodePtr end, +						 int endindex); +xmlXPathObjectPtr	xmlXPtrNewRangePoints	(xmlXPathObjectPtr start, +						 xmlXPathObjectPtr end); +xmlXPathObjectPtr	xmlXPtrNewRangeNodePoint(xmlNodePtr start, +						 xmlXPathObjectPtr end); +xmlXPathObjectPtr	xmlXPtrNewRangePointNode(xmlXPathObjectPtr start, +						 xmlNodePtr end); +xmlXPathObjectPtr	xmlXPtrNewRangeNodes	(xmlNodePtr start, +						 xmlNodePtr end); +xmlXPathObjectPtr	xmlXPtrNewLocationSetNodes(xmlNodePtr start, +						 xmlNodePtr end); +xmlXPathObjectPtr	xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set); +xmlXPathObjectPtr	xmlXPtrNewRangeNodeObject(xmlNodePtr start, +						 xmlXPathObjectPtr end); +xmlXPathObjectPtr	xmlXPtrNewCollapsedRange(xmlNodePtr start); +void			xmlXPtrLocationSetAdd	(xmlLocationSetPtr cur, +						 xmlXPathObjectPtr val); +xmlXPathObjectPtr	xmlXPtrWrapLocationSet	(xmlLocationSetPtr val); +void			xmlXPtrLocationSetDel	(xmlLocationSetPtr cur, +						 xmlXPathObjectPtr val); +void			xmlXPtrLocationSetRemove(xmlLocationSetPtr cur, +						 int val); + +/* + * Functions. + */ +xmlXPathContextPtr	xmlXPtrNewContext	(xmlDocPtr doc, +						 xmlNodePtr here, +						 xmlNodePtr origin); +xmlXPathObjectPtr	xmlXPtrEval		(const xmlChar *str, +						 xmlXPathContextPtr ctx); +void			xmlXPtrRangeToFunction	(xmlXPathParserContextPtr ctxt, +       						 int nargs); +xmlNodePtr		xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj); +void		xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_XPTR_H__ */  | 
