codekingpro/portable-devtools
116k
1/*2 * Summary: API to handle XML Pointers3 * Description: API to handle XML Pointers4 * Base implementation was made accordingly to5 * W3C Candidate Recommendation 7 June 20006 * http://www.w3.org/TR/2000/CR-xptr-200006077 *8 * Added support for the element() scheme described in:9 * W3C Proposed Recommendation 13 November 200210 * http://www.w3.org/TR/2002/PR-xptr-element-20021113/11 *12 * Copy: See Copyright for the status of this software.13 *14 * Author: Daniel Veillard15 */16 17#ifndef __XML_XPTR_H__18#define __XML_XPTR_H__19 20#include <libxml/xmlversion.h>21 22#ifdef LIBXML_XPTR_ENABLED23 24#include <libxml/tree.h>25#include <libxml/xpath.h>26 27#ifdef __cplusplus28extern "C" {29#endif30 31#ifdef LIBXML_XPTR_LOCS_ENABLED32/*33 * A Location Set34 */35typedef struct _xmlLocationSet xmlLocationSet;36typedef xmlLocationSet *xmlLocationSetPtr;37struct _xmlLocationSet {38 int locNr; /* number of locations in the set */39 int locMax; /* size of the array as allocated */40 xmlXPathObjectPtr *locTab;/* array of locations */41};42 43/*44 * Handling of location sets.45 */46 47XML_DEPRECATED48XMLPUBFUN xmlLocationSetPtr49 xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);50XML_DEPRECATED51XMLPUBFUN void52 xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);53XML_DEPRECATED54XMLPUBFUN xmlLocationSetPtr55 xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,56 xmlLocationSetPtr val2);57XML_DEPRECATED58XMLPUBFUN xmlXPathObjectPtr59 xmlXPtrNewRange (xmlNodePtr start,60 int startindex,61 xmlNodePtr end,62 int endindex);63XML_DEPRECATED64XMLPUBFUN xmlXPathObjectPtr65 xmlXPtrNewRangePoints (xmlXPathObjectPtr start,66 xmlXPathObjectPtr end);67XML_DEPRECATED68XMLPUBFUN xmlXPathObjectPtr69 xmlXPtrNewRangeNodePoint (xmlNodePtr start,70 xmlXPathObjectPtr end);71XML_DEPRECATED72XMLPUBFUN xmlXPathObjectPtr73 xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,74 xmlNodePtr end);75XML_DEPRECATED76XMLPUBFUN xmlXPathObjectPtr77 xmlXPtrNewRangeNodes (xmlNodePtr start,78 xmlNodePtr end);79XML_DEPRECATED80XMLPUBFUN xmlXPathObjectPtr81 xmlXPtrNewLocationSetNodes (xmlNodePtr start,82 xmlNodePtr end);83XML_DEPRECATED84XMLPUBFUN xmlXPathObjectPtr85 xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);86XML_DEPRECATED87XMLPUBFUN xmlXPathObjectPtr88 xmlXPtrNewRangeNodeObject (xmlNodePtr start,89 xmlXPathObjectPtr end);90XML_DEPRECATED91XMLPUBFUN xmlXPathObjectPtr92 xmlXPtrNewCollapsedRange (xmlNodePtr start);93XML_DEPRECATED94XMLPUBFUN void95 xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,96 xmlXPathObjectPtr val);97XML_DEPRECATED98XMLPUBFUN xmlXPathObjectPtr99 xmlXPtrWrapLocationSet (xmlLocationSetPtr val);100XML_DEPRECATED101XMLPUBFUN void102 xmlXPtrLocationSetDel (xmlLocationSetPtr cur,103 xmlXPathObjectPtr val);104XML_DEPRECATED105XMLPUBFUN void106 xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,107 int val);108#endif /* LIBXML_XPTR_LOCS_ENABLED */109 110/*111 * Functions.112 */113XMLPUBFUN xmlXPathContextPtr114 xmlXPtrNewContext (xmlDocPtr doc,115 xmlNodePtr here,116 xmlNodePtr origin);117XMLPUBFUN xmlXPathObjectPtr118 xmlXPtrEval (const xmlChar *str,119 xmlXPathContextPtr ctx);120#ifdef LIBXML_XPTR_LOCS_ENABLED121XML_DEPRECATED122XMLPUBFUN void123 xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,124 int nargs);125XML_DEPRECATED126XMLPUBFUN xmlNodePtr127 xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);128XML_DEPRECATED129XMLPUBFUN void130 xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);131#endif /* LIBXML_XPTR_LOCS_ENABLED */132#ifdef __cplusplus133}134#endif135 136#endif /* LIBXML_XPTR_ENABLED */137#endif /* __XML_XPTR_H__ */138 