Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:19:33

0001 /*
0002  * Summary: interface for the pattern matching used in template matches.
0003  * Description: the implementation of the lookup of the right template
0004  *              for a given node must be really fast in order to keep
0005  *              decent performances.
0006  *
0007  * Copy: See Copyright for the status of this software.
0008  *
0009  * Author: Daniel Veillard
0010  */
0011 
0012 #ifndef __XML_XSLT_PATTERN_H__
0013 #define __XML_XSLT_PATTERN_H__
0014 
0015 #include "xsltInternals.h"
0016 #include "xsltexports.h"
0017 
0018 #ifdef __cplusplus
0019 extern "C" {
0020 #endif
0021 
0022 /**
0023  * xsltCompMatch:
0024  *
0025  * Data structure used for the implementation of patterns.
0026  * It is kept private (in pattern.c).
0027  */
0028 typedef struct _xsltCompMatch xsltCompMatch;
0029 typedef xsltCompMatch *xsltCompMatchPtr;
0030 
0031 /*
0032  * Pattern related interfaces.
0033  */
0034 
0035 XSLTPUBFUN xsltCompMatchPtr XSLTCALL
0036         xsltCompilePattern  (const xmlChar *pattern,
0037                      xmlDocPtr doc,
0038                      xmlNodePtr node,
0039                      xsltStylesheetPtr style,
0040                      xsltTransformContextPtr runtime);
0041 XSLTPUBFUN void XSLTCALL
0042         xsltFreeCompMatchList   (xsltCompMatchPtr comp);
0043 XSLTPUBFUN int XSLTCALL
0044         xsltTestCompMatchList   (xsltTransformContextPtr ctxt,
0045                      xmlNodePtr node,
0046                      xsltCompMatchPtr comp);
0047 XSLTPUBFUN void XSLTCALL
0048         xsltCompMatchClearCache (xsltTransformContextPtr ctxt,
0049                      xsltCompMatchPtr comp);
0050 XSLTPUBFUN void XSLTCALL
0051         xsltNormalizeCompSteps  (void *payload,
0052                      void *data,
0053                      const xmlChar *name);
0054 
0055 /*
0056  * Template related interfaces.
0057  */
0058 XSLTPUBFUN int XSLTCALL
0059         xsltAddTemplate     (xsltStylesheetPtr style,
0060                      xsltTemplatePtr cur,
0061                      const xmlChar *mode,
0062                      const xmlChar *modeURI);
0063 XSLTPUBFUN xsltTemplatePtr XSLTCALL
0064         xsltGetTemplate     (xsltTransformContextPtr ctxt,
0065                      xmlNodePtr node,
0066                      xsltStylesheetPtr style);
0067 XSLTPUBFUN void XSLTCALL
0068         xsltFreeTemplateHashes  (xsltStylesheetPtr style);
0069 XSLTPUBFUN void XSLTCALL
0070         xsltCleanupTemplates    (xsltStylesheetPtr style);
0071 
0072 #if 0
0073 int     xsltMatchPattern    (xsltTransformContextPtr ctxt,
0074                      xmlNodePtr node,
0075                      const xmlChar *pattern,
0076                      xmlDocPtr ctxtdoc,
0077                      xmlNodePtr ctxtnode);
0078 #endif
0079 #ifdef __cplusplus
0080 }
0081 #endif
0082 
0083 #endif /* __XML_XSLT_PATTERN_H__ */
0084