|
|
- /*
- * 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__ */
|