Home | History | Annotate | Download | only in libxslt
      1 /*
      2  * Summary: interface for the XSLT import support
      3  * Description: macros and fuctions needed to implement and
      4  *              access the import tree
      5  *
      6  * Copy: See Copyright for the status of this software.
      7  *
      8  * Author: Daniel Veillard
      9  */
     10 
     11 #ifndef __XML_XSLT_IMPORTS_H__
     12 #define __XML_XSLT_IMPORTS_H__
     13 
     14 #include <libxml/tree.h>
     15 #include "xsltexports.h"
     16 #include "xsltInternals.h"
     17 
     18 #ifdef __cplusplus
     19 extern "C" {
     20 #endif
     21 
     22 /**
     23  * XSLT_GET_IMPORT_PTR:
     24  *
     25  * A macro to import pointers from the stylesheet cascading order.
     26  */
     27 #define XSLT_GET_IMPORT_PTR(res, style, name) {			\
     28     xsltStylesheetPtr st = style;				\
     29     res = NULL;							\
     30     while (st != NULL) {					\
     31 	if (st->name != NULL) { res = st->name; break; }	\
     32 	st = xsltNextImport(st);				\
     33     }}
     34 
     35 /**
     36  * XSLT_GET_IMPORT_INT:
     37  *
     38  * A macro to import intergers from the stylesheet cascading order.
     39  */
     40 #define XSLT_GET_IMPORT_INT(res, style, name) {			\
     41     xsltStylesheetPtr st = style;				\
     42     res = -1;							\
     43     while (st != NULL) {					\
     44 	if (st->name != -1) { res = st->name; break; }	\
     45 	st = xsltNextImport(st);				\
     46     }}
     47 
     48 /*
     49  * Module interfaces
     50  */
     51 XSLTPUBFUN int XSLTCALL
     52 			xsltParseStylesheetImport(xsltStylesheetPtr style,
     53 						  xmlNodePtr cur);
     54 XSLTPUBFUN int XSLTCALL
     55 			xsltParseStylesheetInclude
     56 						 (xsltStylesheetPtr style,
     57 						  xmlNodePtr cur);
     58 XSLTPUBFUN xsltStylesheetPtr XSLTCALL
     59 			xsltNextImport		 (xsltStylesheetPtr style);
     60 XSLTPUBFUN int XSLTCALL
     61 			xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt);
     62 XSLTPUBFUN int XSLTCALL
     63 			xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt,
     64 						  xmlNodePtr node);
     65 XSLTPUBFUN xsltTemplatePtr XSLTCALL
     66 			xsltFindTemplate	 (xsltTransformContextPtr ctxt,
     67 						  const xmlChar *name,
     68 						  const xmlChar *nameURI);
     69 
     70 #ifdef __cplusplus
     71 }
     72 #endif
     73 
     74 #endif /* __XML_XSLT_IMPORTS_H__ */
     75 
     76