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 18extern "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 28XSLTPUBFUN 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); 35XSLTPUBFUN xmlNodeSetPtr XSLTCALL 36 xsltGetKey (xsltTransformContextPtr ctxt, 37 const xmlChar *name, 38 const xmlChar *nameURI, 39 const xmlChar *value); 40XSLTPUBFUN void XSLTCALL 41 xsltInitCtxtKeys (xsltTransformContextPtr ctxt, 42 xsltDocumentPtr doc); 43XSLTPUBFUN void XSLTCALL 44 xsltFreeKeys (xsltStylesheetPtr style); 45XSLTPUBFUN void XSLTCALL 46 xsltFreeDocumentKeys (xsltDocumentPtr doc); 47 48#ifdef __cplusplus 49} 50#endif 51 52#endif /* __XML_XSLT_H__ */ 53 54