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 78