Return to xpointer.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml |
1.1 ! misho 1: /* ! 2: * Summary: API to handle XML Pointers ! 3: * Description: API to handle XML Pointers ! 4: * Base implementation was made accordingly to ! 5: * W3C Candidate Recommendation 7 June 2000 ! 6: * http://www.w3.org/TR/2000/CR-xptr-20000607 ! 7: * ! 8: * Added support for the element() scheme described in: ! 9: * W3C Proposed Recommendation 13 November 2002 ! 10: * 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 Veillard ! 15: */ ! 16: ! 17: #ifndef __XML_XPTR_H__ ! 18: #define __XML_XPTR_H__ ! 19: ! 20: #include <libxml/xmlversion.h> ! 21: ! 22: #ifdef LIBXML_XPTR_ENABLED ! 23: ! 24: #include <libxml/tree.h> ! 25: #include <libxml/xpath.h> ! 26: ! 27: #ifdef __cplusplus ! 28: extern "C" { ! 29: #endif ! 30: ! 31: /* ! 32: * A Location Set ! 33: */ ! 34: typedef struct _xmlLocationSet xmlLocationSet; ! 35: typedef xmlLocationSet *xmlLocationSetPtr; ! 36: struct _xmlLocationSet { ! 37: int locNr; /* number of locations in the set */ ! 38: int locMax; /* size of the array as allocated */ ! 39: xmlXPathObjectPtr *locTab;/* array of locations */ ! 40: }; ! 41: ! 42: /* ! 43: * Handling of location sets. ! 44: */ ! 45: ! 46: XMLPUBFUN xmlLocationSetPtr XMLCALL ! 47: xmlXPtrLocationSetCreate (xmlXPathObjectPtr val); ! 48: XMLPUBFUN void XMLCALL ! 49: xmlXPtrFreeLocationSet (xmlLocationSetPtr obj); ! 50: XMLPUBFUN xmlLocationSetPtr XMLCALL ! 51: xmlXPtrLocationSetMerge (xmlLocationSetPtr val1, ! 52: xmlLocationSetPtr val2); ! 53: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 54: xmlXPtrNewRange (xmlNodePtr start, ! 55: int startindex, ! 56: xmlNodePtr end, ! 57: int endindex); ! 58: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 59: xmlXPtrNewRangePoints (xmlXPathObjectPtr start, ! 60: xmlXPathObjectPtr end); ! 61: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 62: xmlXPtrNewRangeNodePoint (xmlNodePtr start, ! 63: xmlXPathObjectPtr end); ! 64: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 65: xmlXPtrNewRangePointNode (xmlXPathObjectPtr start, ! 66: xmlNodePtr end); ! 67: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 68: xmlXPtrNewRangeNodes (xmlNodePtr start, ! 69: xmlNodePtr end); ! 70: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 71: xmlXPtrNewLocationSetNodes (xmlNodePtr start, ! 72: xmlNodePtr end); ! 73: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 74: xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set); ! 75: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 76: xmlXPtrNewRangeNodeObject (xmlNodePtr start, ! 77: xmlXPathObjectPtr end); ! 78: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 79: xmlXPtrNewCollapsedRange (xmlNodePtr start); ! 80: XMLPUBFUN void XMLCALL ! 81: xmlXPtrLocationSetAdd (xmlLocationSetPtr cur, ! 82: xmlXPathObjectPtr val); ! 83: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 84: xmlXPtrWrapLocationSet (xmlLocationSetPtr val); ! 85: XMLPUBFUN void XMLCALL ! 86: xmlXPtrLocationSetDel (xmlLocationSetPtr cur, ! 87: xmlXPathObjectPtr val); ! 88: XMLPUBFUN void XMLCALL ! 89: xmlXPtrLocationSetRemove (xmlLocationSetPtr cur, ! 90: int val); ! 91: ! 92: /* ! 93: * Functions. ! 94: */ ! 95: XMLPUBFUN xmlXPathContextPtr XMLCALL ! 96: xmlXPtrNewContext (xmlDocPtr doc, ! 97: xmlNodePtr here, ! 98: xmlNodePtr origin); ! 99: XMLPUBFUN xmlXPathObjectPtr XMLCALL ! 100: xmlXPtrEval (const xmlChar *str, ! 101: xmlXPathContextPtr ctx); ! 102: XMLPUBFUN void XMLCALL ! 103: xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt, ! 104: int nargs); ! 105: XMLPUBFUN xmlNodePtr XMLCALL ! 106: xmlXPtrBuildNodeList (xmlXPathObjectPtr obj); ! 107: XMLPUBFUN void XMLCALL ! 108: xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt); ! 109: #ifdef __cplusplus ! 110: } ! 111: #endif ! 112: ! 113: #endif /* LIBXML_XPTR_ENABLED */ ! 114: #endif /* __XML_XPTR_H__ */