imgtools/imgcheck/libxml/xpointer.h
changeset 2 39c28ec933dd
equal deleted inserted replaced
1:820b22e13ff1 2:39c28ec933dd
       
     1 /*
       
     2  * Summary: API to handle XML Pointers
       
     3  * Description: API to handle XML Pointers
       
     4  * Base implementation was made accordingly to
       
     5  * W3C Candidate Recommendation 7 June 2000
       
     6  * http://www.w3.org/TR/2000/CR-xptr-20000607
       
     7  *
       
     8  * Added support for the element() scheme described in:
       
     9  * W3C Proposed Recommendation 13 November 2002
       
    10  * http://www.w3.org/TR/2002/PR-xptr-element-20021113/  
       
    11  *
       
    12  * Copy: See Copyright for the status of this software.
       
    13  *
       
    14  * Author: Daniel Veillard
       
    15  */
       
    16 
       
    17 #ifndef __XML_XPTR_H__
       
    18 #define __XML_XPTR_H__
       
    19 
       
    20 #include <libxml/xmlversion.h>
       
    21 
       
    22 #ifdef LIBXML_XPTR_ENABLED
       
    23 
       
    24 #include <libxml/tree.h>
       
    25 #include <libxml/xpath.h>
       
    26 
       
    27 #ifdef __cplusplus
       
    28 extern "C" {
       
    29 #endif
       
    30 
       
    31 /*
       
    32  * A Location Set
       
    33  */
       
    34 typedef struct _xmlLocationSet xmlLocationSet;
       
    35 typedef xmlLocationSet *xmlLocationSetPtr;
       
    36 struct _xmlLocationSet {
       
    37     int locNr;		      /* number of locations in the set */
       
    38     int locMax;		      /* size of the array as allocated */
       
    39     xmlXPathObjectPtr *locTab;/* array of locations */
       
    40 };
       
    41 
       
    42 /*
       
    43  * Handling of location sets.
       
    44  */
       
    45 
       
    46 XMLPUBFUN xmlLocationSetPtr XMLCALL			
       
    47 		    xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val);
       
    48 XMLPUBFUN void XMLCALL			
       
    49 		    xmlXPtrFreeLocationSet	(xmlLocationSetPtr obj);
       
    50 XMLPUBFUN xmlLocationSetPtr XMLCALL	
       
    51 		    xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1,
       
    52 						 xmlLocationSetPtr val2);
       
    53 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    54 		    xmlXPtrNewRange		(xmlNodePtr start,
       
    55 						 int startindex,
       
    56 						 xmlNodePtr end,
       
    57 						 int endindex);
       
    58 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    59 		    xmlXPtrNewRangePoints	(xmlXPathObjectPtr start,
       
    60 						 xmlXPathObjectPtr end);
       
    61 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    62 		    xmlXPtrNewRangeNodePoint	(xmlNodePtr start,
       
    63 						 xmlXPathObjectPtr end);
       
    64 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    65 		    xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start,
       
    66 						 xmlNodePtr end);
       
    67 XMLPUBFUN xmlXPathObjectPtr XMLCALL			
       
    68 		    xmlXPtrNewRangeNodes	(xmlNodePtr start,
       
    69 						 xmlNodePtr end);
       
    70 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    71 		    xmlXPtrNewLocationSetNodes	(xmlNodePtr start,
       
    72 						 xmlNodePtr end);
       
    73 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    74 		    xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
       
    75 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    76 		    xmlXPtrNewRangeNodeObject	(xmlNodePtr start,
       
    77 						 xmlXPathObjectPtr end);
       
    78 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    79 		    xmlXPtrNewCollapsedRange	(xmlNodePtr start);
       
    80 XMLPUBFUN void XMLCALL			
       
    81 		    xmlXPtrLocationSetAdd	(xmlLocationSetPtr cur,
       
    82 						 xmlXPathObjectPtr val);
       
    83 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
    84 		    xmlXPtrWrapLocationSet	(xmlLocationSetPtr val);
       
    85 XMLPUBFUN void XMLCALL			
       
    86 		    xmlXPtrLocationSetDel	(xmlLocationSetPtr cur,
       
    87 						 xmlXPathObjectPtr val);
       
    88 XMLPUBFUN void XMLCALL			
       
    89 		    xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur,
       
    90 						 int val);
       
    91 
       
    92 /*
       
    93  * Functions.
       
    94  */
       
    95 XMLPUBFUN xmlXPathContextPtr XMLCALL	
       
    96 		    xmlXPtrNewContext		(xmlDocPtr doc,
       
    97 						 xmlNodePtr here,
       
    98 						 xmlNodePtr origin);
       
    99 XMLPUBFUN xmlXPathObjectPtr XMLCALL	
       
   100 		    xmlXPtrEval			(const xmlChar *str,
       
   101 						 xmlXPathContextPtr ctx);
       
   102 XMLPUBFUN void XMLCALL					    
       
   103 		    xmlXPtrRangeToFunction	(xmlXPathParserContextPtr ctxt,
       
   104        						 int nargs);
       
   105 XMLPUBFUN xmlNodePtr XMLCALL		
       
   106 		    xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj);
       
   107 XMLPUBFUN void XMLCALL		
       
   108 		    xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt);
       
   109 #ifdef __cplusplus
       
   110 }
       
   111 #endif
       
   112 
       
   113 #endif /* LIBXML_XPTR_ENABLED */
       
   114 #endif /* __XML_XPTR_H__ */