Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101/* * Summary: pattern expression handling * Description: allows to compile and test pattern expressions for nodes * either in a tree or based on a parser state. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */
#ifndef __XML_PATTERN_H__#define __XML_PATTERN_H__
#include <libxml/xmlversion.h>#include <libxml/tree.h>#include <libxml/dict.h>
#ifdef LIBXML_PATTERN_ENABLED
#ifdef __cplusplusextern "C" {#endif
/** * xmlPattern: * * A compiled (XPath based) pattern to select nodes */typedef struct _xmlPattern xmlPattern;typedef xmlPattern *xmlPatternPtr;
/** * xmlPatternFlags: * * This is the set of options affecting the behaviour of pattern * matching with this module * */typedef enum { XML_PATTERN_DEFAULT = 0, /* simple pattern match */ XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */ XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */ XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */} xmlPatternFlags;
XMLPUBFUN void xmlFreePattern (xmlPatternPtr comp);
XMLPUBFUN void xmlFreePatternList (xmlPatternPtr comp);
XMLPUBFUN xmlPatternPtr xmlPatterncompile (const xmlChar *pattern, xmlDict *dict, int flags, const xmlChar **namespaces);XMLPUBFUN int xmlPatternMatch (xmlPatternPtr comp, xmlNodePtr node);
/* streaming interfaces */typedef struct _xmlStreamCtxt xmlStreamCtxt;typedef xmlStreamCtxt *xmlStreamCtxtPtr;
XMLPUBFUN int xmlPatternStreamable (xmlPatternPtr comp);XMLPUBFUN int xmlPatternMaxDepth (xmlPatternPtr comp);XMLPUBFUN int xmlPatternMinDepth (xmlPatternPtr comp);XMLPUBFUN int xmlPatternFromRoot (xmlPatternPtr comp);XMLPUBFUN xmlStreamCtxtPtr xmlPatternGetStreamCtxt (xmlPatternPtr comp);XMLPUBFUN void xmlFreeStreamCtxt (xmlStreamCtxtPtr stream);XMLPUBFUN int xmlStreamPushNode (xmlStreamCtxtPtr stream, const xmlChar *name, const xmlChar *ns, int nodeType);XMLPUBFUN int xmlStreamPush (xmlStreamCtxtPtr stream, const xmlChar *name, const xmlChar *ns);XMLPUBFUN int xmlStreamPushAttr (xmlStreamCtxtPtr stream, const xmlChar *name, const xmlChar *ns);XMLPUBFUN int xmlStreamPop (xmlStreamCtxtPtr stream);XMLPUBFUN int xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream);#ifdef __cplusplus}#endif
#endif /* LIBXML_PATTERN_ENABLED */
#endif /* __XML_PATTERN_H__ */