Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 10:41:52

0001 /*
0002  * Summary: API to handle XML Pointers
0003  * Description: API to handle XML Pointers
0004  * Base implementation was made accordingly to
0005  * W3C Candidate Recommendation 7 June 2000
0006  * http://www.w3.org/TR/2000/CR-xptr-20000607
0007  *
0008  * Added support for the element() scheme described in:
0009  * W3C Proposed Recommendation 13 November 2002
0010  * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
0011  *
0012  * Copy: See Copyright for the status of this software.
0013  *
0014  * Author: Daniel Veillard
0015  */
0016 
0017 #ifndef __XML_XPTR_H__
0018 #define __XML_XPTR_H__
0019 
0020 #include <libxml/xmlversion.h>
0021 
0022 #ifdef LIBXML_XPTR_ENABLED
0023 
0024 #include <libxml/tree.h>
0025 #include <libxml/xpath.h>
0026 
0027 #ifdef __cplusplus
0028 extern "C" {
0029 #endif
0030 
0031 #if defined(LIBXML_XPTR_LOCS_ENABLED)
0032 /*
0033  * A Location Set
0034  */
0035 typedef struct _xmlLocationSet xmlLocationSet;
0036 typedef xmlLocationSet *xmlLocationSetPtr;
0037 struct _xmlLocationSet {
0038     int locNr;            /* number of locations in the set */
0039     int locMax;           /* size of the array as allocated */
0040     xmlXPathObjectPtr *locTab;/* array of locations */
0041 };
0042 
0043 /*
0044  * Handling of location sets.
0045  */
0046 
0047 XML_DEPRECATED
0048 XMLPUBFUN xmlLocationSetPtr
0049             xmlXPtrLocationSetCreate    (xmlXPathObjectPtr val);
0050 XML_DEPRECATED
0051 XMLPUBFUN void
0052             xmlXPtrFreeLocationSet  (xmlLocationSetPtr obj);
0053 XML_DEPRECATED
0054 XMLPUBFUN xmlLocationSetPtr
0055             xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
0056                          xmlLocationSetPtr val2);
0057 XML_DEPRECATED
0058 XMLPUBFUN xmlXPathObjectPtr
0059             xmlXPtrNewRange     (xmlNodePtr start,
0060                          int startindex,
0061                          xmlNodePtr end,
0062                          int endindex);
0063 XML_DEPRECATED
0064 XMLPUBFUN xmlXPathObjectPtr
0065             xmlXPtrNewRangePoints   (xmlXPathObjectPtr start,
0066                          xmlXPathObjectPtr end);
0067 XML_DEPRECATED
0068 XMLPUBFUN xmlXPathObjectPtr
0069             xmlXPtrNewRangeNodePoint    (xmlNodePtr start,
0070                          xmlXPathObjectPtr end);
0071 XML_DEPRECATED
0072 XMLPUBFUN xmlXPathObjectPtr
0073             xmlXPtrNewRangePointNode    (xmlXPathObjectPtr start,
0074                          xmlNodePtr end);
0075 XML_DEPRECATED
0076 XMLPUBFUN xmlXPathObjectPtr
0077             xmlXPtrNewRangeNodes    (xmlNodePtr start,
0078                          xmlNodePtr end);
0079 XML_DEPRECATED
0080 XMLPUBFUN xmlXPathObjectPtr
0081             xmlXPtrNewLocationSetNodes  (xmlNodePtr start,
0082                          xmlNodePtr end);
0083 XML_DEPRECATED
0084 XMLPUBFUN xmlXPathObjectPtr
0085             xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
0086 XML_DEPRECATED
0087 XMLPUBFUN xmlXPathObjectPtr
0088             xmlXPtrNewRangeNodeObject   (xmlNodePtr start,
0089                          xmlXPathObjectPtr end);
0090 XML_DEPRECATED
0091 XMLPUBFUN xmlXPathObjectPtr
0092             xmlXPtrNewCollapsedRange    (xmlNodePtr start);
0093 XML_DEPRECATED
0094 XMLPUBFUN void
0095             xmlXPtrLocationSetAdd   (xmlLocationSetPtr cur,
0096                          xmlXPathObjectPtr val);
0097 XML_DEPRECATED
0098 XMLPUBFUN xmlXPathObjectPtr
0099             xmlXPtrWrapLocationSet  (xmlLocationSetPtr val);
0100 XML_DEPRECATED
0101 XMLPUBFUN void
0102             xmlXPtrLocationSetDel   (xmlLocationSetPtr cur,
0103                          xmlXPathObjectPtr val);
0104 XML_DEPRECATED
0105 XMLPUBFUN void
0106             xmlXPtrLocationSetRemove    (xmlLocationSetPtr cur,
0107                          int val);
0108 #endif /* defined(LIBXML_XPTR_LOCS_ENABLED) */
0109 
0110 /*
0111  * Functions.
0112  */
0113 XMLPUBFUN xmlXPathContextPtr
0114             xmlXPtrNewContext       (xmlDocPtr doc,
0115                          xmlNodePtr here,
0116                          xmlNodePtr origin);
0117 XMLPUBFUN xmlXPathObjectPtr
0118             xmlXPtrEval         (const xmlChar *str,
0119                          xmlXPathContextPtr ctx);
0120 
0121 #if defined(LIBXML_XPTR_LOCS_ENABLED)
0122 XML_DEPRECATED
0123 XMLPUBFUN void
0124             xmlXPtrRangeToFunction  (xmlXPathParserContextPtr ctxt,
0125                          int nargs);
0126 XML_DEPRECATED
0127 XMLPUBFUN xmlNodePtr
0128             xmlXPtrBuildNodeList    (xmlXPathObjectPtr obj);
0129 XML_DEPRECATED
0130 XMLPUBFUN void
0131             xmlXPtrEvalRangePredicate   (xmlXPathParserContextPtr ctxt);
0132 #endif /* defined(LIBXML_XPTR_LOCS_ENABLED) */
0133 #ifdef __cplusplus
0134 }
0135 #endif
0136 
0137 #endif /* LIBXML_XPTR_ENABLED */
0138 #endif /* __XML_XPTR_H__ */