You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.3 KiB
114 lines
3.3 KiB
/* |
|
* Summary: API to handle XML Pointers |
|
* Description: API to handle XML Pointers |
|
* Base implementation was made accordingly to |
|
* W3C Candidate Recommendation 7 June 2000 |
|
* http://www.w3.org/TR/2000/CR-xptr-20000607 |
|
* |
|
* Added support for the element() scheme described in: |
|
* W3C Proposed Recommendation 13 November 2002 |
|
* http://www.w3.org/TR/2002/PR-xptr-element-20021113/ |
|
* |
|
* Copy: See Copyright for the status of this software. |
|
* |
|
* Author: Daniel Veillard |
|
*/ |
|
|
|
#ifndef __XML_XPTR_H__ |
|
#define __XML_XPTR_H__ |
|
|
|
#include <libxml/xmlversion.h> |
|
|
|
#ifdef LIBXML_XPTR_ENABLED |
|
|
|
#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. |
|
*/ |
|
|
|
XMLPUBFUN xmlLocationSetPtr XMLCALL |
|
xmlXPtrLocationSetCreate (xmlXPathObjectPtr val); |
|
XMLPUBFUN void XMLCALL |
|
xmlXPtrFreeLocationSet (xmlLocationSetPtr obj); |
|
XMLPUBFUN xmlLocationSetPtr XMLCALL |
|
xmlXPtrLocationSetMerge (xmlLocationSetPtr val1, |
|
xmlLocationSetPtr val2); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewRange (xmlNodePtr start, |
|
int startindex, |
|
xmlNodePtr end, |
|
int endindex); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewRangePoints (xmlXPathObjectPtr start, |
|
xmlXPathObjectPtr end); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewRangeNodePoint (xmlNodePtr start, |
|
xmlXPathObjectPtr end); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewRangePointNode (xmlXPathObjectPtr start, |
|
xmlNodePtr end); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewRangeNodes (xmlNodePtr start, |
|
xmlNodePtr end); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewLocationSetNodes (xmlNodePtr start, |
|
xmlNodePtr end); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewRangeNodeObject (xmlNodePtr start, |
|
xmlXPathObjectPtr end); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrNewCollapsedRange (xmlNodePtr start); |
|
XMLPUBFUN void XMLCALL |
|
xmlXPtrLocationSetAdd (xmlLocationSetPtr cur, |
|
xmlXPathObjectPtr val); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrWrapLocationSet (xmlLocationSetPtr val); |
|
XMLPUBFUN void XMLCALL |
|
xmlXPtrLocationSetDel (xmlLocationSetPtr cur, |
|
xmlXPathObjectPtr val); |
|
XMLPUBFUN void XMLCALL |
|
xmlXPtrLocationSetRemove (xmlLocationSetPtr cur, |
|
int val); |
|
|
|
/* |
|
* Functions. |
|
*/ |
|
XMLPUBFUN xmlXPathContextPtr XMLCALL |
|
xmlXPtrNewContext (xmlDocPtr doc, |
|
xmlNodePtr here, |
|
xmlNodePtr origin); |
|
XMLPUBFUN xmlXPathObjectPtr XMLCALL |
|
xmlXPtrEval (const xmlChar *str, |
|
xmlXPathContextPtr ctx); |
|
XMLPUBFUN void XMLCALL |
|
xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt, |
|
int nargs); |
|
XMLPUBFUN xmlNodePtr XMLCALL |
|
xmlXPtrBuildNodeList (xmlXPathObjectPtr obj); |
|
XMLPUBFUN void XMLCALL |
|
xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt); |
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /* LIBXML_XPTR_ENABLED */ |
|
#endif /* __XML_XPTR_H__ */
|
|
|