xref: /reactos/dll/3rdparty/libxslt/keys.h (revision 4561998a)
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 
54