xpointer.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. #ifndef __XML_XPTR_H__
  17. #define __XML_XPTR_H__
  18. #include <libxml/xmlversion.h>
  19. #ifdef LIBXML_XPTR_ENABLED
  20. #include <libxml/tree.h>
  21. #include <libxml/xpath.h>
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. #ifdef LIBXML_XPTR_LOCS_ENABLED
  26. /*
  27. * A Location Set
  28. */
  29. typedef struct _xmlLocationSet xmlLocationSet;
  30. typedef xmlLocationSet *xmlLocationSetPtr;
  31. struct _xmlLocationSet {
  32. int locNr; /* number of locations in the set */
  33. int locMax; /* size of the array as allocated */
  34. xmlXPathObjectPtr *locTab;/* array of locations */
  35. };
  36. /*
  37. * Handling of location sets.
  38. */
  39. XML_DEPRECATED
  40. XMLPUBFUN xmlLocationSetPtr XMLCALL
  41. xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);
  42. XML_DEPRECATED
  43. XMLPUBFUN void XMLCALL
  44. xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
  45. XML_DEPRECATED
  46. XMLPUBFUN xmlLocationSetPtr XMLCALL
  47. xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
  48. xmlLocationSetPtr val2);
  49. XML_DEPRECATED
  50. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  51. xmlXPtrNewRange (xmlNodePtr start,
  52. int startindex,
  53. xmlNodePtr end,
  54. int endindex);
  55. XML_DEPRECATED
  56. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  57. xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
  58. xmlXPathObjectPtr end);
  59. XML_DEPRECATED
  60. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  61. xmlXPtrNewRangeNodePoint (xmlNodePtr start,
  62. xmlXPathObjectPtr end);
  63. XML_DEPRECATED
  64. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  65. xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,
  66. xmlNodePtr end);
  67. XML_DEPRECATED
  68. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  69. xmlXPtrNewRangeNodes (xmlNodePtr start,
  70. xmlNodePtr end);
  71. XML_DEPRECATED
  72. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  73. xmlXPtrNewLocationSetNodes (xmlNodePtr start,
  74. xmlNodePtr end);
  75. XML_DEPRECATED
  76. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  77. xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
  78. XML_DEPRECATED
  79. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  80. xmlXPtrNewRangeNodeObject (xmlNodePtr start,
  81. xmlXPathObjectPtr end);
  82. XML_DEPRECATED
  83. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  84. xmlXPtrNewCollapsedRange (xmlNodePtr start);
  85. XML_DEPRECATED
  86. XMLPUBFUN void XMLCALL
  87. xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
  88. xmlXPathObjectPtr val);
  89. XML_DEPRECATED
  90. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  91. xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
  92. XML_DEPRECATED
  93. XMLPUBFUN void XMLCALL
  94. xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
  95. xmlXPathObjectPtr val);
  96. XML_DEPRECATED
  97. XMLPUBFUN void XMLCALL
  98. xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,
  99. int val);
  100. #endif /* LIBXML_XPTR_LOCS_ENABLED */
  101. /*
  102. * Functions.
  103. */
  104. XMLPUBFUN xmlXPathContextPtr XMLCALL
  105. xmlXPtrNewContext (xmlDocPtr doc,
  106. xmlNodePtr here,
  107. xmlNodePtr origin);
  108. XMLPUBFUN xmlXPathObjectPtr XMLCALL
  109. xmlXPtrEval (const xmlChar *str,
  110. xmlXPathContextPtr ctx);
  111. #ifdef LIBXML_XPTR_LOCS_ENABLED
  112. XML_DEPRECATED
  113. XMLPUBFUN void XMLCALL
  114. xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
  115. int nargs);
  116. XML_DEPRECATED
  117. XMLPUBFUN xmlNodePtr XMLCALL
  118. xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
  119. XML_DEPRECATED
  120. XMLPUBFUN void XMLCALL
  121. xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
  122. #endif /* LIBXML_XPTR_LOCS_ENABLED */
  123. #ifdef __cplusplus
  124. }
  125. #endif
  126. #endif /* LIBXML_XPTR_ENABLED */
  127. #endif /* __XML_XPTR_H__ */