Sync with trunk head (part 1 of 2)
[reactos.git] / dll / 3rdparty / libxslt / keys.h
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
10 #ifndef __XML_XSLT_KEY_H__
11 #define __XML_XSLT_KEY_H__
12
13 #include <libxml/xpath.h>
14 #include "xsltexports.h"
15 #include "xsltInternals.h"
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20
21 /**
22 * NODE_IS_KEYED:
23 *
24 * check for bit 15 set
25 */
26 #define NODE_IS_KEYED (1 >> 15)
27
28 XSLTPUBFUN int XSLTCALL
29 xsltAddKey (xsltStylesheetPtr style,
30 const xmlChar *name,
31 const xmlChar *nameURI,
32 const xmlChar *match,
33 const xmlChar *use,
34 xmlNodePtr inst);
35 XSLTPUBFUN xmlNodeSetPtr XSLTCALL
36 xsltGetKey (xsltTransformContextPtr ctxt,
37 const xmlChar *name,
38 const xmlChar *nameURI,
39 const xmlChar *value);
40 XSLTPUBFUN void XSLTCALL
41 xsltInitCtxtKeys (xsltTransformContextPtr ctxt,
42 xsltDocumentPtr doc);
43 XSLTPUBFUN void XSLTCALL
44 xsltFreeKeys (xsltStylesheetPtr style);
45 XSLTPUBFUN void XSLTCALL
46 xsltFreeDocumentKeys (xsltDocumentPtr doc);
47
48 #ifdef __cplusplus
49 }
50 #endif
51
52 #endif /* __XML_XSLT_H__ */
53