Eneboo - Documentación para desarrolladores
|
00001 /* 00002 * Summary: interface for the pattern matching used in template matches. 00003 * Description: the implementation of the lookup of the right template 00004 * for a given node must be really fast in order to keep 00005 * decent performances. 00006 * 00007 * Copy: See Copyright for the status of this software. 00008 * 00009 * Author: Daniel Veillard 00010 */ 00011 00012 #ifndef __XML_XSLT_PATTERN_H__ 00013 #define __XML_XSLT_PATTERN_H__ 00014 00015 #include "xsltInternals.h" 00016 #include "xsltexports.h" 00017 00018 #ifdef __cplusplus 00019 extern "C" { 00020 #endif 00021 00028 typedef struct _xsltCompMatch xsltCompMatch; 00029 typedef xsltCompMatch *xsltCompMatchPtr; 00030 00031 /* 00032 * Pattern related interfaces. 00033 */ 00034 00035 XSLTPUBFUN xsltCompMatchPtr XSLTCALL 00036 xsltCompilePattern (const xmlChar *pattern, 00037 xmlDocPtr doc, 00038 xmlNodePtr node, 00039 xsltStylesheetPtr style, 00040 xsltTransformContextPtr runtime); 00041 XSLTPUBFUN void XSLTCALL 00042 xsltFreeCompMatchList (xsltCompMatchPtr comp); 00043 XSLTPUBFUN int XSLTCALL 00044 xsltTestCompMatchList (xsltTransformContextPtr ctxt, 00045 xmlNodePtr node, 00046 xsltCompMatchPtr comp); 00047 XSLTPUBFUN void XSLTCALL 00048 xsltNormalizeCompSteps (void *payload, 00049 void *data, 00050 const xmlChar *name); 00051 00052 /* 00053 * Template related interfaces. 00054 */ 00055 XSLTPUBFUN int XSLTCALL 00056 xsltAddTemplate (xsltStylesheetPtr style, 00057 xsltTemplatePtr cur, 00058 const xmlChar *mode, 00059 const xmlChar *modeURI); 00060 XSLTPUBFUN xsltTemplatePtr XSLTCALL 00061 xsltGetTemplate (xsltTransformContextPtr ctxt, 00062 xmlNodePtr node, 00063 xsltStylesheetPtr style); 00064 XSLTPUBFUN void XSLTCALL 00065 xsltFreeTemplateHashes (xsltStylesheetPtr style); 00066 XSLTPUBFUN void XSLTCALL 00067 xsltCleanupTemplates (xsltStylesheetPtr style); 00068 00069 #if 0 00070 int xsltMatchPattern (xsltTransformContextPtr ctxt, 00071 xmlNodePtr node, 00072 const xmlChar *pattern, 00073 xmlDocPtr ctxtdoc, 00074 xmlNodePtr ctxtnode); 00075 #endif 00076 #ifdef __cplusplus 00077 } 00078 #endif 00079 00080 #endif /* __XML_XSLT_PATTERN_H__ */ 00081