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