root/third_party/libxslt/libxslt/pattern.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


/*
 * Summary: interface for the pattern matching used in template matches.
 * Description: the implementation of the lookup of the right template
 *              for a given node must be really fast in order to keep
 *              decent performances.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XSLT_PATTERN_H__
#define __XML_XSLT_PATTERN_H__

#include "xsltInternals.h"
#include "xsltexports.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xsltCompMatch:
 *
 * Data structure used for the implementation of patterns.
 * It is kept private (in pattern.c).
 */
typedef struct _xsltCompMatch xsltCompMatch;
typedef xsltCompMatch *xsltCompMatchPtr;

/*
 * Pattern related interfaces.
 */

XSLTPUBFUN xsltCompMatchPtr XSLTCALL
                xsltCompilePattern      (const xmlChar *pattern,
                                         xmlDocPtr doc,
                                         xmlNodePtr node,
                                         xsltStylesheetPtr style,
                                         xsltTransformContextPtr runtime);
XSLTPUBFUN void XSLTCALL
                xsltFreeCompMatchList   (xsltCompMatchPtr comp);
XSLTPUBFUN int XSLTCALL
                xsltTestCompMatchList   (xsltTransformContextPtr ctxt,
                                         xmlNodePtr node,
                                         xsltCompMatchPtr comp);
XSLTPUBFUN void XSLTCALL
                xsltNormalizeCompSteps  (void *payload,
                                         void *data,
                                         const xmlChar *name);

/*
 * Template related interfaces.
 */
XSLTPUBFUN int XSLTCALL
                xsltAddTemplate         (xsltStylesheetPtr style,
                                         xsltTemplatePtr cur,
                                         const xmlChar *mode,
                                         const xmlChar *modeURI);
XSLTPUBFUN xsltTemplatePtr XSLTCALL
                xsltGetTemplate         (xsltTransformContextPtr ctxt,
                                         xmlNodePtr node,
                                         xsltStylesheetPtr style);
XSLTPUBFUN void XSLTCALL
                xsltFreeTemplateHashes  (xsltStylesheetPtr style);
XSLTPUBFUN void XSLTCALL
                xsltCleanupTemplates    (xsltStylesheetPtr style);

#if 0
int             xsltMatchPattern        (xsltTransformContextPtr ctxt,
                                         xmlNodePtr node,
                                         const xmlChar *pattern,
                                         xmlDocPtr ctxtdoc,
                                         xmlNodePtr ctxtnode);
#endif
#ifdef __cplusplus
}
#endif

#endif /* __XML_XSLT_PATTERN_H__ */


/* [<][>][^][v][top][bottom][index][help] */