Annotation of embedaddon/libxml2/include/libxml/pattern.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * Summary: pattern expression handling
                      3:  * Description: allows to compile and test pattern expressions for nodes
                      4:  *              either in a tree or based on a parser state.
                      5:  *
                      6:  * Copy: See Copyright for the status of this software.
                      7:  *
                      8:  * Author: Daniel Veillard
                      9:  */
                     10: 
                     11: #ifndef __XML_PATTERN_H__
                     12: #define __XML_PATTERN_H__
                     13: 
                     14: #include <libxml/xmlversion.h>
                     15: #include <libxml/tree.h>
                     16: #include <libxml/dict.h>
                     17: 
                     18: #ifdef LIBXML_PATTERN_ENABLED
                     19: 
                     20: #ifdef __cplusplus
                     21: extern "C" {
                     22: #endif
                     23: 
                     24: /**
                     25:  * xmlPattern:
                     26:  *
                     27:  * A compiled (XPath based) pattern to select nodes
                     28:  */
                     29: typedef struct _xmlPattern xmlPattern;
                     30: typedef xmlPattern *xmlPatternPtr;
                     31: 
                     32: /**
                     33:  * xmlPatternFlags:
                     34:  *
                     35:  * This is the set of options affecting the behaviour of pattern
                     36:  * matching with this module
                     37:  *
                     38:  */
                     39: typedef enum {
                     40:     XML_PATTERN_DEFAULT                = 0,    /* simple pattern match */
                     41:     XML_PATTERN_XPATH          = 1<<0, /* standard XPath pattern */
                     42:     XML_PATTERN_XSSEL          = 1<<1, /* XPath subset for schema selector */
                     43:     XML_PATTERN_XSFIELD                = 1<<2  /* XPath subset for schema field */
                     44: } xmlPatternFlags;
                     45: 
                     46: XMLPUBFUN void XMLCALL
                     47:                        xmlFreePattern          (xmlPatternPtr comp);
                     48: 
                     49: XMLPUBFUN void XMLCALL
                     50:                        xmlFreePatternList      (xmlPatternPtr comp);
                     51: 
                     52: XMLPUBFUN xmlPatternPtr XMLCALL
                     53:                        xmlPatterncompile       (const xmlChar *pattern,
                     54:                                                 xmlDict *dict,
                     55:                                                 int flags,
                     56:                                                 const xmlChar **namespaces);
                     57: XMLPUBFUN int XMLCALL
                     58:                        xmlPatternMatch         (xmlPatternPtr comp,
                     59:                                                 xmlNodePtr node);
                     60: 
                     61: /* streaming interfaces */
                     62: typedef struct _xmlStreamCtxt xmlStreamCtxt;
                     63: typedef xmlStreamCtxt *xmlStreamCtxtPtr;
                     64: 
                     65: XMLPUBFUN int XMLCALL
                     66:                        xmlPatternStreamable    (xmlPatternPtr comp);
                     67: XMLPUBFUN int XMLCALL
                     68:                        xmlPatternMaxDepth      (xmlPatternPtr comp);
                     69: XMLPUBFUN int XMLCALL
                     70:                        xmlPatternMinDepth      (xmlPatternPtr comp);
                     71: XMLPUBFUN int XMLCALL
                     72:                        xmlPatternFromRoot      (xmlPatternPtr comp);
                     73: XMLPUBFUN xmlStreamCtxtPtr XMLCALL
                     74:                        xmlPatternGetStreamCtxt (xmlPatternPtr comp);
                     75: XMLPUBFUN void XMLCALL
                     76:                        xmlFreeStreamCtxt       (xmlStreamCtxtPtr stream);
                     77: XMLPUBFUN int XMLCALL
                     78:                        xmlStreamPushNode       (xmlStreamCtxtPtr stream,
                     79:                                                 const xmlChar *name,
                     80:                                                 const xmlChar *ns,
                     81:                                                 int nodeType);
                     82: XMLPUBFUN int XMLCALL
                     83:                        xmlStreamPush           (xmlStreamCtxtPtr stream,
                     84:                                                 const xmlChar *name,
                     85:                                                 const xmlChar *ns);
                     86: XMLPUBFUN int XMLCALL
                     87:                        xmlStreamPushAttr       (xmlStreamCtxtPtr stream,
                     88:                                                 const xmlChar *name,
                     89:                                                 const xmlChar *ns);
                     90: XMLPUBFUN int XMLCALL
                     91:                        xmlStreamPop            (xmlStreamCtxtPtr stream);
                     92: XMLPUBFUN int XMLCALL
                     93:                        xmlStreamWantsAnyNode   (xmlStreamCtxtPtr stream);
                     94: #ifdef __cplusplus
                     95: }
                     96: #endif
                     97: 
                     98: #endif /* LIBXML_PATTERN_ENABLED */
                     99: 
                    100: #endif /* __XML_PATTERN_H__ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>