Annotation of embedaddon/libxml2/include/libxml/pattern.h, revision 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>