Home | History | Annotate | Download | only in libxslt
      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