⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlregexp.h

📁 基于s3c2410芯片的数据采集系统 目标环境:S3C2410芯片、经裁剪后的linux2.6内核、sqlite数据库、cgi库 项目描述:节点端采集数据
💻 H
字号:
/* * Summary: regular expressions handling * Description: basic API for libxml regular expressions handling used *              for XML Schemas and validation. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */#ifndef __XML_REGEXP_H__#define __XML_REGEXP_H__#include <libxml/xmlversion.h>#ifdef LIBXML_REGEXP_ENABLED#ifdef __cplusplusextern "C" {#endif/** * xmlRegexpPtr: * * A libxml regular expression, they can actually be far more complex * thank the POSIX regex expressions. */typedef struct _xmlRegexp xmlRegexp;typedef xmlRegexp *xmlRegexpPtr;/** * xmlRegExecCtxtPtr: * * A libxml progressive regular expression evaluation context */typedef struct _xmlRegExecCtxt xmlRegExecCtxt;typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;#ifdef __cplusplus}#endif #include <libxml/tree.h>#include <libxml/dict.h>#ifdef __cplusplusextern "C" {#endif/* * The POSIX like API */XMLPUBFUN xmlRegexpPtr XMLCALL		    xmlRegexpCompile	(const xmlChar *regexp);XMLPUBFUN void XMLCALL			 xmlRegFreeRegexp(xmlRegexpPtr regexp);XMLPUBFUN int XMLCALL					    xmlRegexpExec	(xmlRegexpPtr comp,					 const xmlChar *value);XMLPUBFUN void XMLCALL			    		    xmlRegexpPrint	(FILE *output,					 xmlRegexpPtr regexp);XMLPUBFUN int XMLCALL					    xmlRegexpIsDeterminist(xmlRegexpPtr comp);/* * Callback function when doing a transition in the automata */typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,	                             const xmlChar *token,				     void *transdata,				     void *inputdata);/* * The progressive API */XMLPUBFUN xmlRegExecCtxtPtr XMLCALL	    		    xmlRegNewExecCtxt	(xmlRegexpPtr comp,					 xmlRegExecCallbacks callback,					 void *data);XMLPUBFUN void XMLCALL					    xmlRegFreeExecCtxt	(xmlRegExecCtxtPtr exec);XMLPUBFUN int XMLCALL			    		    xmlRegExecPushString(xmlRegExecCtxtPtr exec,					 const xmlChar *value,					 void *data);XMLPUBFUN int XMLCALL					    xmlRegExecPushString2(xmlRegExecCtxtPtr exec,					 const xmlChar *value,					 const xmlChar *value2,					 void *data);XMLPUBFUN int XMLCALL		    xmlRegExecNextValues(xmlRegExecCtxtPtr exec,		    			 int *nbval,		    			 int *nbneg,					 xmlChar **values,					 int *terminal);XMLPUBFUN int XMLCALL		    xmlRegExecErrInfo	(xmlRegExecCtxtPtr exec,		    			 const xmlChar **string,					 int *nbval,		    			 int *nbneg,					 xmlChar **values,					 int *terminal);#ifdef LIBXML_EXPR_ENABLED/* * Formal regular expression handling * Its goal is to do some formal work on content models *//* expressions are used within a context */typedef struct _xmlExpCtxt xmlExpCtxt;typedef xmlExpCtxt *xmlExpCtxtPtr;XMLPUBFUN void XMLCALL			xmlExpFreeCtxt	(xmlExpCtxtPtr ctxt);XMLPUBFUN xmlExpCtxtPtr XMLCALL			xmlExpNewCtxt	(int maxNodes,					 xmlDictPtr dict);XMLPUBFUN int XMLCALL			xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);XMLPUBFUN int XMLCALL			xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);/* Expressions are trees but the tree is opaque */typedef struct _xmlExpNode xmlExpNode;typedef xmlExpNode *xmlExpNodePtr;typedef enum {    XML_EXP_EMPTY = 0,    XML_EXP_FORBID = 1,    XML_EXP_ATOM = 2,    XML_EXP_SEQ = 3,    XML_EXP_OR = 4,    XML_EXP_COUNT = 5} xmlExpNodeType;/* * 2 core expressions shared by all for the empty language set  * and for the set with just the empty token */XMLPUBVAR xmlExpNodePtr forbiddenExp;XMLPUBVAR xmlExpNodePtr emptyExp;/* * Expressions are reference counted internally */XMLPUBFUN void XMLCALL			xmlExpFree	(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr expr);XMLPUBFUN void XMLCALL			xmlExpRef	(xmlExpNodePtr expr);/* * constructors can be either manual or from a string */XMLPUBFUN xmlExpNodePtr XMLCALL			xmlExpParse	(xmlExpCtxtPtr ctxt,					 const char *expr);XMLPUBFUN xmlExpNodePtr XMLCALL			xmlExpNewAtom	(xmlExpCtxtPtr ctxt,					 const xmlChar *name,					 int len);XMLPUBFUN xmlExpNodePtr XMLCALL			xmlExpNewOr	(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr left,					 xmlExpNodePtr right);XMLPUBFUN xmlExpNodePtr XMLCALL			xmlExpNewSeq	(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr left,					 xmlExpNodePtr right);XMLPUBFUN xmlExpNodePtr XMLCALL			xmlExpNewRange	(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr subset,					 int min,					 int max);/* * The really interesting APIs */XMLPUBFUN int XMLCALL			xmlExpIsNillable(xmlExpNodePtr expr);XMLPUBFUN int XMLCALL			xmlExpMaxToken	(xmlExpNodePtr expr);XMLPUBFUN int XMLCALL			xmlExpGetLanguage(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr expr,					 const xmlChar**langList,					 int len);XMLPUBFUN int XMLCALL			xmlExpGetStart	(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr expr,					 const xmlChar**tokList,					 int len);XMLPUBFUN xmlExpNodePtr XMLCALL			xmlExpStringDerive(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr expr,					 const xmlChar *str,					 int len);XMLPUBFUN xmlExpNodePtr XMLCALL			xmlExpExpDerive	(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr expr,					 xmlExpNodePtr sub);XMLPUBFUN int XMLCALL			xmlExpSubsume	(xmlExpCtxtPtr ctxt,					 xmlExpNodePtr expr,					 xmlExpNodePtr sub);XMLPUBFUN void XMLCALL			xmlExpDump	(xmlBufferPtr buf,					 xmlExpNodePtr expr);#endif /* LIBXML_EXPR_ENABLED */#ifdef __cplusplus}#endif #endif /* LIBXML_REGEXP_ENABLED */#endif /*__XML_REGEXP_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -