Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/xpointer.h
811 views
/*1* Summary: API to handle XML Pointers2* Description: API to handle XML Pointers3* Base implementation was made accordingly to4* W3C Candidate Recommendation 7 June 20005* http://www.w3.org/TR/2000/CR-xptr-200006076*7* Added support for the element() scheme described in:8* W3C Proposed Recommendation 13 November 20029* http://www.w3.org/TR/2002/PR-xptr-element-20021113/10*11* Copy: See Copyright for the status of this software.12*13* Author: Daniel Veillard14*/1516#ifndef __XML_XPTR_H__17#define __XML_XPTR_H__1819#include <libxml/xmlversion.h>2021#ifdef LIBXML_XPTR_ENABLED2223#include <libxml/tree.h>24#include <libxml/xpath.h>2526#ifdef __cplusplus27extern "C" {28#endif2930/*31* A Location Set32*/33typedef struct _xmlLocationSet xmlLocationSet;34typedef xmlLocationSet *xmlLocationSetPtr;35struct _xmlLocationSet {36int locNr; /* number of locations in the set */37int locMax; /* size of the array as allocated */38xmlXPathObjectPtr *locTab;/* array of locations */39};4041/*42* Handling of location sets.43*/4445XMLPUBFUN xmlLocationSetPtr XMLCALL46xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);47XMLPUBFUN void XMLCALL48xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);49XMLPUBFUN xmlLocationSetPtr XMLCALL50xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,51xmlLocationSetPtr val2);52XMLPUBFUN xmlXPathObjectPtr XMLCALL53xmlXPtrNewRange (xmlNodePtr start,54int startindex,55xmlNodePtr end,56int endindex);57XMLPUBFUN xmlXPathObjectPtr XMLCALL58xmlXPtrNewRangePoints (xmlXPathObjectPtr start,59xmlXPathObjectPtr end);60XMLPUBFUN xmlXPathObjectPtr XMLCALL61xmlXPtrNewRangeNodePoint (xmlNodePtr start,62xmlXPathObjectPtr end);63XMLPUBFUN xmlXPathObjectPtr XMLCALL64xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,65xmlNodePtr end);66XMLPUBFUN xmlXPathObjectPtr XMLCALL67xmlXPtrNewRangeNodes (xmlNodePtr start,68xmlNodePtr end);69XMLPUBFUN xmlXPathObjectPtr XMLCALL70xmlXPtrNewLocationSetNodes (xmlNodePtr start,71xmlNodePtr end);72XMLPUBFUN xmlXPathObjectPtr XMLCALL73xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);74XMLPUBFUN xmlXPathObjectPtr XMLCALL75xmlXPtrNewRangeNodeObject (xmlNodePtr start,76xmlXPathObjectPtr end);77XMLPUBFUN xmlXPathObjectPtr XMLCALL78xmlXPtrNewCollapsedRange (xmlNodePtr start);79XMLPUBFUN void XMLCALL80xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,81xmlXPathObjectPtr val);82XMLPUBFUN xmlXPathObjectPtr XMLCALL83xmlXPtrWrapLocationSet (xmlLocationSetPtr val);84XMLPUBFUN void XMLCALL85xmlXPtrLocationSetDel (xmlLocationSetPtr cur,86xmlXPathObjectPtr val);87XMLPUBFUN void XMLCALL88xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,89int val);9091/*92* Functions.93*/94XMLPUBFUN xmlXPathContextPtr XMLCALL95xmlXPtrNewContext (xmlDocPtr doc,96xmlNodePtr here,97xmlNodePtr origin);98XMLPUBFUN xmlXPathObjectPtr XMLCALL99xmlXPtrEval (const xmlChar *str,100xmlXPathContextPtr ctx);101XMLPUBFUN void XMLCALL102xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,103int nargs);104XMLPUBFUN xmlNodePtr XMLCALL105xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);106XMLPUBFUN void XMLCALL107xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);108#ifdef __cplusplus109}110#endif111112#endif /* LIBXML_XPTR_ENABLED */113#endif /* __XML_XPTR_H__ */114115116