- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / libxslt / 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