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 contextNode, 31 xmlNodePtr inst); 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