codekingpro/portable-devtools
115k
1/*2 * Summary: interface for the pattern matching used in template matches.3 * Description: the implementation of the lookup of the right template4 * for a given node must be really fast in order to keep5 * decent performances.6 *7 * Copy: See Copyright for the status of this software.8 *9 * Author: Daniel Veillard10 */11 12#ifndef __XML_XSLT_PATTERN_H__13#define __XML_XSLT_PATTERN_H__14 15#include "xsltInternals.h"16#include "xsltexports.h"17 18#ifdef __cplusplus19extern "C" {20#endif21 22/**23 * xsltCompMatch:24 *25 * Data structure used for the implementation of patterns.26 * It is kept private (in pattern.c).27 */28typedef struct _xsltCompMatch xsltCompMatch;29typedef xsltCompMatch *xsltCompMatchPtr;30 31/*32 * Pattern related interfaces.33 */34 35XSLTPUBFUN xsltCompMatchPtr XSLTCALL36 xsltCompilePattern (const xmlChar *pattern,37 xmlDocPtr doc,38 xmlNodePtr node,39 xsltStylesheetPtr style,40 xsltTransformContextPtr runtime);41XSLTPUBFUN void XSLTCALL42 xsltFreeCompMatchList (xsltCompMatchPtr comp);43XSLTPUBFUN int XSLTCALL44 xsltTestCompMatchList (xsltTransformContextPtr ctxt,45 xmlNodePtr node,46 xsltCompMatchPtr comp);47XSLTPUBFUN void XSLTCALL48 xsltCompMatchClearCache (xsltTransformContextPtr ctxt,49 xsltCompMatchPtr comp);50XSLTPUBFUN void XSLTCALL51 xsltNormalizeCompSteps (void *payload,52 void *data,53 const xmlChar *name);54 55/*56 * Template related interfaces.57 */58XSLTPUBFUN int XSLTCALL59 xsltAddTemplate (xsltStylesheetPtr style,60 xsltTemplatePtr cur,61 const xmlChar *mode,62 const xmlChar *modeURI);63XSLTPUBFUN xsltTemplatePtr XSLTCALL64 xsltGetTemplate (xsltTransformContextPtr ctxt,65 xmlNodePtr node,66 xsltStylesheetPtr style);67XSLTPUBFUN void XSLTCALL68 xsltFreeTemplateHashes (xsltStylesheetPtr style);69XSLTPUBFUN void XSLTCALL70 xsltCleanupTemplates (xsltStylesheetPtr style);71 72#if 073int xsltMatchPattern (xsltTransformContextPtr ctxt,74 xmlNodePtr node,75 const xmlChar *pattern,76 xmlDocPtr ctxtdoc,77 xmlNodePtr ctxtnode);78#endif79#ifdef __cplusplus80}81#endif82 83#endif /* __XML_XSLT_PATTERN_H__ */84 85 