mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-20 03:52:25 +03:00
* AUTHORS: added William and Bjorn * include/libxml/*.h *.c README doc/*.html etc.: changed old email to daniel@veillard.com hopefully I won't have to do this again * doc/Makefile.am doc/html/*.html: cleanup makefile, checked that docs can be rebuilt cleanly now * include/libxml/xml*version.h*: removed include/libxml/xmlversion.h from CVs it's generated, added include/libxml/xmlwin32version.h also generated but which should change far less frequently. * catalog.c nanoftp.c: made sure to include libxml.h not libxml/xmlversion.h directly * include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h when compiling on WIN32 and MSC Daniel
84 lines
2.5 KiB
C
84 lines
2.5 KiB
C
/*
|
|
* xpointer.h : API to handle XML Pointers
|
|
*
|
|
* World Wide Web Consortium Working Draft 03-March-1998
|
|
* http://www.w3.org/TR/1998/WD-xptr-19980303
|
|
*
|
|
* See Copyright for the status of this software.
|
|
*
|
|
* daniel@veillard.com
|
|
*/
|
|
|
|
#ifndef __XML_XPTR_H__
|
|
#define __XML_XPTR_H__
|
|
|
|
#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
|
|
*/
|
|
|
|
xmlLocationSetPtr xmlXPtrLocationSetCreate(xmlXPathObjectPtr val);
|
|
void xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
|
|
xmlLocationSetPtr xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
|
|
xmlLocationSetPtr val2);
|
|
xmlXPathObjectPtr xmlXPtrNewRange (xmlNodePtr start,
|
|
int startindex,
|
|
xmlNodePtr end,
|
|
int endindex);
|
|
xmlXPathObjectPtr xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
|
|
xmlXPathObjectPtr end);
|
|
xmlXPathObjectPtr xmlXPtrNewRangeNodePoint(xmlNodePtr start,
|
|
xmlXPathObjectPtr end);
|
|
xmlXPathObjectPtr xmlXPtrNewRangePointNode(xmlXPathObjectPtr start,
|
|
xmlNodePtr end);
|
|
xmlXPathObjectPtr xmlXPtrNewRangeNodes (xmlNodePtr start,
|
|
xmlNodePtr end);
|
|
xmlXPathObjectPtr xmlXPtrNewLocationSetNodes(xmlNodePtr start,
|
|
xmlNodePtr end);
|
|
xmlXPathObjectPtr xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
|
|
xmlXPathObjectPtr xmlXPtrNewRangeNodeObject(xmlNodePtr start,
|
|
xmlXPathObjectPtr end);
|
|
xmlXPathObjectPtr xmlXPtrNewCollapsedRange(xmlNodePtr start);
|
|
void xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
|
|
xmlXPathObjectPtr val);
|
|
xmlXPathObjectPtr xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
|
|
void xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
|
|
xmlXPathObjectPtr val);
|
|
void xmlXPtrLocationSetRemove(xmlLocationSetPtr cur,
|
|
int val);
|
|
|
|
/*
|
|
* Functions
|
|
*/
|
|
xmlXPathContextPtr xmlXPtrNewContext (xmlDocPtr doc,
|
|
xmlNodePtr here,
|
|
xmlNodePtr origin);
|
|
xmlXPathObjectPtr xmlXPtrEval (const xmlChar *str,
|
|
xmlXPathContextPtr ctx);
|
|
void xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
|
|
int nargs);
|
|
xmlNodePtr xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
|
|
void xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* __XML_XPTR_H__ */
|