- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / libxslt / libxslt / templates.h
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
20 extern "C" {
21 #endif
22
23 XSLTPUBFUN int XSLTCALL         
24                 xsltEvalXPathPredicate          (xsltTransformContextPtr ctxt,
25                                                  xmlXPathCompExprPtr comp,
26                                                  xmlNsPtr *nsList,
27                                                  int nsNr);
28 XSLTPUBFUN xmlChar * XSLTCALL   
29                 xsltEvalTemplateString          (xsltTransformContextPtr ctxt,
30                                                  xmlNodePtr contextNode,
31                                                  xmlNodePtr inst);
32 XSLTPUBFUN xmlChar * XSLTCALL   
33                 xsltEvalAttrValueTemplate       (xsltTransformContextPtr ctxt,
34                                                  xmlNodePtr node,
35                                                  const xmlChar *name,
36                                                  const xmlChar *ns);
37 XSLTPUBFUN 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 ! */
45 XSLTPUBFUN xmlChar * XSLTCALL   
46                 xsltEvalXPathString             (xsltTransformContextPtr ctxt,
47                                                  xmlXPathCompExprPtr comp);
48 XSLTPUBFUN xmlChar * XSLTCALL   
49                 xsltEvalXPathStringNs           (xsltTransformContextPtr ctxt,
50                                                  xmlXPathCompExprPtr comp,
51                                                  int nsNr,
52                                                  xmlNsPtr *nsList);
53
54 XSLTPUBFUN xmlNodePtr * XSLTCALL        
55                 xsltTemplateProcess             (xsltTransformContextPtr ctxt,
56                                                  xmlNodePtr node);
57 XSLTPUBFUN xmlAttrPtr XSLTCALL  
58                 xsltAttrListTemplateProcess     (xsltTransformContextPtr ctxt,
59                                                  xmlNodePtr target,
60                                                  xmlAttrPtr cur);
61 XSLTPUBFUN xmlAttrPtr XSLTCALL  
62                 xsltAttrTemplateProcess         (xsltTransformContextPtr ctxt,
63                                                  xmlNodePtr target,
64                                                  xmlAttrPtr attr);
65 XSLTPUBFUN xmlChar * XSLTCALL   
66                 xsltAttrTemplateValueProcess    (xsltTransformContextPtr ctxt,
67                                                  const xmlChar* attr);
68 XSLTPUBFUN 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