Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/pattern.h
811 views
/*1* Summary: pattern expression handling2* Description: allows to compile and test pattern expressions for nodes3* either in a tree or based on a parser state.4*5* Copy: See Copyright for the status of this software.6*7* Author: Daniel Veillard8*/910#ifndef __XML_PATTERN_H__11#define __XML_PATTERN_H__1213#include <libxml/xmlversion.h>14#include <libxml/tree.h>15#include <libxml/dict.h>1617#ifdef LIBXML_PATTERN_ENABLED1819#ifdef __cplusplus20extern "C" {21#endif2223/**24* xmlPattern:25*26* A compiled (XPath based) pattern to select nodes27*/28typedef struct _xmlPattern xmlPattern;29typedef xmlPattern *xmlPatternPtr;3031/**32* xmlPatternFlags:33*34* This is the set of options affecting the behaviour of pattern35* matching with this module36*37*/38typedef enum {39XML_PATTERN_DEFAULT = 0, /* simple pattern match */40XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */41XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */42XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */43} xmlPatternFlags;4445XMLPUBFUN void XMLCALL46xmlFreePattern (xmlPatternPtr comp);4748XMLPUBFUN void XMLCALL49xmlFreePatternList (xmlPatternPtr comp);5051XMLPUBFUN xmlPatternPtr XMLCALL52xmlPatterncompile (const xmlChar *pattern,53xmlDict *dict,54int flags,55const xmlChar **namespaces);56XMLPUBFUN int XMLCALL57xmlPatternMatch (xmlPatternPtr comp,58xmlNodePtr node);5960/* streaming interfaces */61typedef struct _xmlStreamCtxt xmlStreamCtxt;62typedef xmlStreamCtxt *xmlStreamCtxtPtr;6364XMLPUBFUN int XMLCALL65xmlPatternStreamable (xmlPatternPtr comp);66XMLPUBFUN int XMLCALL67xmlPatternMaxDepth (xmlPatternPtr comp);68XMLPUBFUN int XMLCALL69xmlPatternMinDepth (xmlPatternPtr comp);70XMLPUBFUN int XMLCALL71xmlPatternFromRoot (xmlPatternPtr comp);72XMLPUBFUN xmlStreamCtxtPtr XMLCALL73xmlPatternGetStreamCtxt (xmlPatternPtr comp);74XMLPUBFUN void XMLCALL75xmlFreeStreamCtxt (xmlStreamCtxtPtr stream);76XMLPUBFUN int XMLCALL77xmlStreamPushNode (xmlStreamCtxtPtr stream,78const xmlChar *name,79const xmlChar *ns,80int nodeType);81XMLPUBFUN int XMLCALL82xmlStreamPush (xmlStreamCtxtPtr stream,83const xmlChar *name,84const xmlChar *ns);85XMLPUBFUN int XMLCALL86xmlStreamPushAttr (xmlStreamCtxtPtr stream,87const xmlChar *name,88const xmlChar *ns);89XMLPUBFUN int XMLCALL90xmlStreamPop (xmlStreamCtxtPtr stream);91XMLPUBFUN int XMLCALL92xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream);93#ifdef __cplusplus94}95#endif9697#endif /* LIBXML_PATTERN_ENABLED */9899#endif /* __XML_PATTERN_H__ */100101102