| Viewing file:  xpointer.h (3.28 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/** 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__ */
 
 |