/*
|
|
* Summary: interface for the XSLT import support
|
|
* Description: macros and fuctions needed to implement and
|
|
* access the import tree
|
|
*
|
|
* Copy: See Copyright for the status of this software.
|
|
*
|
|
* Author: Daniel Veillard
|
|
*/
|
|
|
|
#ifndef __XML_XSLT_IMPORTS_H__
|
|
#define __XML_XSLT_IMPORTS_H__
|
|
|
|
#include <libxml/tree.h>
|
|
#include "xsltexports.h"
|
|
#include "xsltInternals.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* XSLT_GET_IMPORT_PTR:
|
|
*
|
|
* A macro to import pointers from the stylesheet cascading order.
|
|
*/
|
|
#define XSLT_GET_IMPORT_PTR(res, style, name) { \
|
|
xsltStylesheetPtr st = style; \
|
|
res = NULL; \
|
|
while (st != NULL) { \
|
|
if (st->name != NULL) { res = st->name; break; } \
|
|
st = xsltNextImport(st); \
|
|
}}
|
|
|
|
/**
|
|
* XSLT_GET_IMPORT_INT:
|
|
*
|
|
* A macro to import intergers from the stylesheet cascading order.
|
|
*/
|
|
#define XSLT_GET_IMPORT_INT(res, style, name) { \
|
|
xsltStylesheetPtr st = style; \
|
|
res = -1; \
|
|
while (st != NULL) { \
|
|
if (st->name != -1) { res = st->name; break; } \
|
|
st = xsltNextImport(st); \
|
|
}}
|
|
|
|
/*
|
|
* Module interfaces
|
|
*/
|
|
XSLTPUBFUN int XSLTCALL
|
|
xsltParseStylesheetImport(xsltStylesheetPtr style,
|
|
xmlNodePtr cur);
|
|
XSLTPUBFUN int XSLTCALL
|
|
xsltParseStylesheetInclude
|
|
(xsltStylesheetPtr style,
|
|
xmlNodePtr cur);
|
|
XSLTPUBFUN xsltStylesheetPtr XSLTCALL
|
|
xsltNextImport (xsltStylesheetPtr style);
|
|
XSLTPUBFUN int XSLTCALL
|
|
xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt);
|
|
XSLTPUBFUN int XSLTCALL
|
|
xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt,
|
|
xmlNodePtr node);
|
|
XSLTPUBFUN xsltTemplatePtr XSLTCALL
|
|
xsltFindTemplate (xsltTransformContextPtr ctxt,
|
|
const xmlChar *name,
|
|
const xmlChar *nameURI);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __XML_XSLT_IMPORTS_H__ */
|
|
|