mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-14 19:24:06 +03:00
56a4cb8c4d
-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline - HTMLparser.[ch] HTMLtree.c SAX.c debugXML.c encoding.[ch] encoding.h entities.c error.c list.[ch] nanoftp.c nanohttp.c parser.[ch] parserInternals.[ch] testHTML.c testSAX.c testURI.c testXPath.c tree.[ch] uri.c valid.[ch] xinclude.c xmlIO.[ch] xmllint.c xmlmemory.c xpath.c xpathInternals.h xpointer.[ch] example/gjobread.c: Cleanup, staticfied a number of non-exported functions, detected and cleaned up a dozen of problem found this way, avoided a lot of public function name/typedef/system names clashes - doc/xml.html: updated - configure.in: switched private flags to the really pedantic ones. 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@w3.org
|
|
*/
|
|
|
|
#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__ */
|