| * 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: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. | |
| /if not defined(XML_REGEXP_H__) | |
| /define XML_REGEXP_H__ | |
| /include "libxmlrpg/xmlversion" | |
| /if defined(LIBXML_REGEXP_ENABLED) | |
| /include "libxmlrpg/xmlTypesC" | |
| * xmlRegexpPtr: | |
| * | |
| * A libxml regular expression, they can actually be far more complex | |
| * thank the POSIX regex expressions. | |
| d xmlRegexpPtr s * based(######typedef######) | |
| * xmlRegExecCtxtPtr: | |
| * | |
| * A libxml progressive regular expression evaluation context | |
| d xmlRegExecCtxtPtr... | |
| d s * based(######typedef######) | |
| /include "libxmlrpg/tree" | |
| /include "libxmlrpg/dict" | |
| * The POSIX like API | |
| d xmlRegexpCompile... | |
| d pr extproc('xmlRegexpCompile') | |
| d like(xmlRegexpPtr) | |
| d regexp * value options(*string) const xmlChar * | |
| d xmlRegFreeRegexp... | |
| d pr extproc('xmlRegFreeRegexp') | |
| d regexp value like(xmlRegexpPtr) | |
| d xmlRegexpExec pr extproc('xmlRegexpExec') | |
| d like(xmlCint) | |
| d comp value like(xmlRegexpPtr) | |
| d value * value options(*string) const xmlChar * | |
| d xmlRegexpPrint pr extproc('xmlRegexpPrint') | |
| d output * value FILE * | |
| d regexp value like(xmlRegexpPtr) | |
| d xmlRegexpIsDeterminist... | |
| d pr extproc('xmlRegexpIsDeterminist') | |
| d like(xmlCint) | |
| d comp value like(xmlRegexpPtr) | |
| * xmlRegExecCallbacks: | |
| * @exec: the regular expression context | |
| * @token: the current token string | |
| * @transdata: transition data | |
| * @inputdata: input data | |
| * | |
| * Callback function when doing a transition in the automata | |
| d xmlRegExecCallbacks... | |
| d s * based(######typedef######) | |
| d procptr | |
| * The progressive API | |
| d xmlRegNewExecCtxt... | |
| d pr extproc('xmlRegNewExecCtxt') | |
| d like(xmlRegExecCtxtPtr) | |
| d comp value like(xmlRegexpPtr) | |
| d callback value like(xmlRegExecCallbacks) | |
| d data * value void * | |
| d xmlRegFreeExecCtxt... | |
| d pr extproc('xmlRegFreeExecCtxt') | |
| d exec value like(xmlRegExecCtxtPtr) | |
| d xmlRegExecPushString... | |
| d pr extproc('xmlRegExecPushString') | |
| d like(xmlCint) | |
| d exec value like(xmlRegExecCtxtPtr) | |
| d value * value options(*string) const xmlChar * | |
| d data * value void * | |
| d xmlRegExecPushString2... | |
| d pr extproc('xmlRegExecPushString2') | |
| d like(xmlCint) | |
| d exec value like(xmlRegExecCtxtPtr) | |
| d value * value options(*string) const xmlChar * | |
| d value2 * value options(*string) const xmlChar * | |
| d data * value void * | |
| d xmlRegExecNextValues... | |
| d pr extproc('xmlRegExecNextValues') | |
| d like(xmlCint) | |
| d exec value like(xmlRegExecCtxtPtr) | |
| d nbval like(xmlCint) | |
| d nbneg like(xmlCint) | |
| d values * xmlChar * (*) | |
| d terminal like(xmlCint) | |
| d xmlRegExecErrInfo... | |
| d pr extproc('xmlRegExecErrInfo') | |
| d like(xmlCint) | |
| d exec value like(xmlRegExecCtxtPtr) | |
| d string * const xmlChar * (*) | |
| d nbval like(xmlCint) | |
| d nbneg like(xmlCint) | |
| d values * xmlChar * (*) | |
| d terminal like(xmlCint) | |
| /if defined(LIBXML_EXPR_ENABLED) | |
| * Formal regular expression handling | |
| * Its goal is to do some formal work on content models | |
| * expressions are used within a context | |
| d xmlExpCtxtPtr s * based(######typedef######) | |
| d xmlExpFreeCtxt pr extproc('xmlExpFreeCtxt') | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d xmlExpNewCtxt pr extproc('xmlExpNewCtxt') | |
| d like(xmlExpCtxtPtr) | |
| d maxNodes value like(xmlCint) | |
| d dict value like(xmlDictPtr) | |
| d xmlExpCtxtNbNodes... | |
| d pr extproc('xmlExpCtxtNbNodes') | |
| d like(xmlCint) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d xmlExpCtxtNbCons... | |
| d pr extproc('xmlExpCtxtNbCons') | |
| d like(xmlCint) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| * Expressions are trees but the tree is opaque | |
| d xmlExpNodePtr s * based(######typedef######) | |
| d xmlExpNodeType s based(######typedef######) | |
| d like(xmlCenum) | |
| d XML_EXP_EMPTY c 0 | |
| d XML_EXP_FORBID... | |
| d c 1 | |
| d XML_EXP_ATOM c 2 | |
| d XML_EXP_SEQ c 3 | |
| d XML_EXP_OR c 4 | |
| d XML_EXP_COUNT c 5 | |
| * 2 core expressions shared by all for the empty language set | |
| * and for the set with just the empty token | |
| d forbiddenExp s import('forbiddenExp') | |
| d like(xmlExpNodePtr) | |
| d emptyExp s import('emptyExp') | |
| d like(xmlExpNodePtr) | |
| * Expressions are reference counted internally | |
| d xmlExpFree pr extproc('xmlExpFree') | |
| d expr value like(xmlExpNodePtr) | |
| d xmlExpRef pr extproc('xmlExpRef') | |
| d expr value like(xmlExpNodePtr) | |
| * constructors can be either manual or from a string | |
| d xmlExpParse pr extproc('xmlExpParse') | |
| d like(xmlExpNodePtr) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d expr * value options(*string) const char * | |
| d xmlExpNewAtom pr extproc('xmlExpNewAtom') | |
| d like(xmlExpNodePtr) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d name * value options(*string) const xmlChar * | |
| d len value like(xmlCint) | |
| d xmlExpNewOr pr extproc('xmlExpNewOr') | |
| d like(xmlExpNodePtr) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d left value like(xmlExpNodePtr) | |
| d right value like(xmlExpNodePtr) | |
| d xmlExpNewSeq pr extproc('xmlExpNewSeq') | |
| d like(xmlExpNodePtr) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d left value like(xmlExpNodePtr) | |
| d right value like(xmlExpNodePtr) | |
| d xmlExpNewRange pr extproc('xmlExpNewRange') | |
| d like(xmlExpNodePtr) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d subset value like(xmlExpNodePtr) | |
| d min value like(xmlCint) | |
| d max value like(xmlCint) | |
| * The really interesting APIs | |
| d xmlExpIsNillable... | |
| d pr extproc('xmlExpIsNillable') | |
| d like(xmlCint) | |
| d expr value like(xmlExpNodePtr) | |
| d xmlExpMaxToken pr extproc('xmlExpMaxToken') | |
| d like(xmlCint) | |
| d expr value like(xmlExpNodePtr) | |
| d xmlExpGetLanguage... | |
| d pr extproc('xmlExpGetLanguage') | |
| d like(xmlCint) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d expr value like(xmlExpNodePtr) | |
| d langList * const xmlChar *(*) | |
| d len value like(xmlCint) | |
| d xmlExpGetStart pr extproc('xmlExpGetStart') | |
| d like(xmlCint) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d expr value like(xmlExpNodePtr) | |
| d tokList * const xmlChar *(*) | |
| d len value like(xmlCint) | |
| d xmlExpStringDerive... | |
| d pr extproc('xmlExpStringDerive') | |
| d like(xmlExpNodePtr) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d expr value like(xmlExpNodePtr) | |
| d str * value options(*string) const xmlChar * | |
| d len value like(xmlCint) | |
| d xmlExpExpDerive... | |
| d pr extproc('xmlExpExpDerive') | |
| d like(xmlExpNodePtr) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d expr value like(xmlExpNodePtr) | |
| d sub value like(xmlExpNodePtr) | |
| d xmlExpSubsume pr extproc('xmlExpSubsume') | |
| d like(xmlCint) | |
| d ctxt value like(xmlExpCtxtPtr) | |
| d expr value like(xmlExpNodePtr) | |
| d sub value like(xmlExpNodePtr) | |
| d xmlExpDump pr extproc('xmlExpDump') | |
| d buf value like(xmlBufferPtr) | |
| d expr value like(xmlExpNodePtr) | |
| /endif LIBXML_EXPR_ENABLED | |
| /endif LIBXML_REGEXP_ENABLD | |
| /endif XML_REGEXP_H__ |