1/*
2 * Summary: interface for the template processing
3 * Description: This set of routine encapsulates XPath calls
4 *              and Attribute Value Templates evaluation.
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Daniel Veillard
9 */
10
11#ifndef __XML_XSLT_TEMPLATES_H__
12#define __XML_XSLT_TEMPLATES_H__
13
14#include <libxml/xpath.h>
15#include <libxml/xpathInternals.h>
16#include "xsltexports.h"
17#include "xsltInternals.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23XSLTPUBFUN int XSLTCALL
24		xsltEvalXPathPredicate		(xsltTransformContextPtr ctxt,
25						 xmlXPathCompExprPtr comp,
26		                                 xmlNsPtr *nsList,
27						 int nsNr);
28XSLTPUBFUN xmlChar * XSLTCALL
29		xsltEvalTemplateString		(xsltTransformContextPtr ctxt,
30						 xmlNodePtr node,
31						 xmlNodePtr parent);
32XSLTPUBFUN xmlChar * XSLTCALL
33		xsltEvalAttrValueTemplate	(xsltTransformContextPtr ctxt,
34						 xmlNodePtr node,
35						 const xmlChar *name,
36						 const xmlChar *ns);
37XSLTPUBFUN const xmlChar * XSLTCALL
38		xsltEvalStaticAttrValueTemplate	(xsltStylesheetPtr style,
39						 xmlNodePtr node,
40						 const xmlChar *name,
41						 const xmlChar *ns,
42						 int *found);
43
44/* TODO: this is obviously broken ... the namespaces should be passed too ! */
45XSLTPUBFUN xmlChar * XSLTCALL
46		xsltEvalXPathString		(xsltTransformContextPtr ctxt,
47						 xmlXPathCompExprPtr comp);
48XSLTPUBFUN xmlChar * XSLTCALL
49		xsltEvalXPathStringNs		(xsltTransformContextPtr ctxt,
50						 xmlXPathCompExprPtr comp,
51						 int nsNr,
52						 xmlNsPtr *nsList);
53
54XSLTPUBFUN xmlNodePtr * XSLTCALL
55		xsltTemplateProcess		(xsltTransformContextPtr ctxt,
56						 xmlNodePtr node);
57XSLTPUBFUN xmlAttrPtr XSLTCALL
58		xsltAttrListTemplateProcess	(xsltTransformContextPtr ctxt,
59						 xmlNodePtr target,
60						 xmlAttrPtr cur);
61XSLTPUBFUN xmlAttrPtr XSLTCALL
62		xsltAttrTemplateProcess		(xsltTransformContextPtr ctxt,
63						 xmlNodePtr target,
64						 xmlAttrPtr attr);
65XSLTPUBFUN xmlChar * XSLTCALL
66		xsltAttrTemplateValueProcess	(xsltTransformContextPtr ctxt,
67						 const xmlChar* attr);
68XSLTPUBFUN xmlChar * XSLTCALL
69		xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt,
70						 const xmlChar* str,
71						 xmlNodePtr node);
72#ifdef __cplusplus
73}
74#endif
75
76#endif /* __XML_XSLT_TEMPLATES_H__ */
77
78