|
|
1.1 paf 1: /*
2: * templates.h: interface for the template processing
3: *
4: * See Copyright for the status of this software.
5: *
6: * daniel@veillard.com
7: */
8:
9: #ifndef __XML_XSLT_TEMPLATES_H__
10: #define __XML_XSLT_TEMPLATES_H__
11:
12: #include <libxml/xpath.h>
13: #include <libxml/xpathInternals.h>
14: #include "xsltInternals.h"
15:
16: #ifdef __cplusplus
17: extern "C" {
18: #endif
19:
20: int xsltEvalXPathPredicate (xsltTransformContextPtr ctxt,
21: xmlXPathCompExprPtr comp,
22: xmlNsPtr *nsList,
23: int nsNr);
24: xmlChar * xsltEvalTemplateString (xsltTransformContextPtr ctxt,
25: xmlNodePtr node,
26: xmlNodePtr parent);
27: xmlChar * xsltEvalAttrValueTemplate (xsltTransformContextPtr ctxt,
28: xmlNodePtr node,
29: const xmlChar *name,
30: const xmlChar *ns);
31: xmlChar * xsltEvalStaticAttrValueTemplate (xsltStylesheetPtr style,
32: xmlNodePtr node,
33: const xmlChar *name,
34: const xmlChar *ns,
35: int *found);
36:
37: /* TODO: this is obviously broken ... the namespaces should be passed too ! */
38: xmlChar * xsltEvalXPathString (xsltTransformContextPtr ctxt,
39: xmlXPathCompExprPtr comp);
1.2 ! paf 40: xmlChar * xsltEvalXPathStringNs (xsltTransformContextPtr ctxt,
! 41: xmlXPathCompExprPtr comp,
! 42: int nsNr,
! 43: xmlNsPtr *nsList);
1.1 paf 44:
45: xmlNodePtr * xsltTemplateProcess (xsltTransformContextPtr ctxt,
46: xmlNodePtr node);
47: xmlAttrPtr xsltAttrListTemplateProcess (xsltTransformContextPtr ctxt,
48: xmlNodePtr target,
49: xmlAttrPtr cur);
50: xmlAttrPtr xsltAttrTemplateProcess (xsltTransformContextPtr ctxt,
51: xmlNodePtr target,
52: xmlAttrPtr attr);
53: xmlChar * xsltAttrTemplateValueProcess (xsltTransformContextPtr ctxt,
54: const xmlChar* attr);
1.2 ! paf 55: xmlChar * xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt,
! 56: const xmlChar* str,
! 57: xmlNodePtr node);
1.1 paf 58: #ifdef __cplusplus
59: }
60: #endif
61:
62: #endif /* __XML_XSLT_TEMPLATES_H__ */
63: