keys.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Summary: interface for the key matching used in key() and template matches.
  3. * Description: implementation of the key mechanims.
  4. *
  5. * Copy: See Copyright for the status of this software.
  6. *
  7. * Author: Daniel Veillard
  8. */
  9. #ifndef __XML_XSLT_KEY_H__
  10. #define __XML_XSLT_KEY_H__
  11. #include <libxml/xpath.h>
  12. #include "xsltexports.h"
  13. #include "xsltInternals.h"
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. /**
  18. * NODE_IS_KEYED:
  19. *
  20. * check for bit 15 set
  21. */
  22. #define NODE_IS_KEYED (1 >> 15)
  23. XSLTPUBFUN int XSLTCALL
  24. xsltAddKey (xsltStylesheetPtr style,
  25. const xmlChar *name,
  26. const xmlChar *nameURI,
  27. const xmlChar *match,
  28. const xmlChar *use,
  29. xmlNodePtr inst);
  30. XSLTPUBFUN xmlNodeSetPtr XSLTCALL
  31. xsltGetKey (xsltTransformContextPtr ctxt,
  32. const xmlChar *name,
  33. const xmlChar *nameURI,
  34. const xmlChar *value);
  35. XSLTPUBFUN void XSLTCALL
  36. xsltInitCtxtKeys (xsltTransformContextPtr ctxt,
  37. xsltDocumentPtr doc);
  38. XSLTPUBFUN void XSLTCALL
  39. xsltFreeKeys (xsltStylesheetPtr style);
  40. XSLTPUBFUN void XSLTCALL
  41. xsltFreeDocumentKeys (xsltDocumentPtr doc);
  42. #ifdef __cplusplus
  43. }
  44. #endif
  45. #endif /* __XML_XSLT_H__ */