1ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 2ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Summary: regular expressions handling 3ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Description: basic API for libxml regular expressions handling used 4ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * for XML Schemas and validation. 5ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * 6ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Copy: See Copyright for the status of this software. 7ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * 8ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Author: Daniel Veillard 9ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 10ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 11ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifndef __XML_REGEXP_H__ 12ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define __XML_REGEXP_H__ 13ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 14ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlversion.h> 15ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 16ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_REGEXP_ENABLED 17ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 18ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus 19ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectextern "C" { 20ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif 21ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 22ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/** 23ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlRegexpPtr: 24ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * 25ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A libxml regular expression, they can actually be far more complex 26ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * thank the POSIX regex expressions. 27ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 28ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlRegexp xmlRegexp; 29ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlRegexp *xmlRegexpPtr; 30ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 31ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/** 32ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlRegExecCtxtPtr: 33ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * 34ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A libxml progressive regular expression evaluation context 35ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 36ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlRegExecCtxt xmlRegExecCtxt; 37ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlRegExecCtxt *xmlRegExecCtxtPtr; 38ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 39ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus 40ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} 4160a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott#endif 42ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/tree.h> 43ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/dict.h> 44ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus 45ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectextern "C" { 46ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif 47ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 48ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 49ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The POSIX like API 50ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 51ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlRegexpPtr XMLCALL 52ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegexpCompile (const xmlChar *regexp); 53ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp); 5460a4c356ee9ce5e9ccb23347c0381f0436192691Patrick ScottXMLPUBFUN int XMLCALL 55ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegexpExec (xmlRegexpPtr comp, 56ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar *value); 5760a4c356ee9ce5e9ccb23347c0381f0436192691Patrick ScottXMLPUBFUN void XMLCALL 5860a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott xmlRegexpPrint (FILE *output, 59ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegexpPtr regexp); 6060a4c356ee9ce5e9ccb23347c0381f0436192691Patrick ScottXMLPUBFUN int XMLCALL 61ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegexpIsDeterminist(xmlRegexpPtr comp); 62ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 6360a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott/** 6460a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * xmlRegExecCallbacks: 6560a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * @exec: the regular expression context 6660a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * @token: the current token string 6760a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * @transdata: transition data 6860a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * @inputdata: input data 6960a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * 70ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Callback function when doing a transition in the automata 71ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 72ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec, 73ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar *token, 74ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project void *transdata, 75ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project void *inputdata); 76ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 77ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 78ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The progressive API 79ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 8060a4c356ee9ce5e9ccb23347c0381f0436192691Patrick ScottXMLPUBFUN xmlRegExecCtxtPtr XMLCALL 8160a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott xmlRegNewExecCtxt (xmlRegexpPtr comp, 82ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegExecCallbacks callback, 83ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project void *data); 8460a4c356ee9ce5e9ccb23347c0381f0436192691Patrick ScottXMLPUBFUN void XMLCALL 85ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec); 8660a4c356ee9ce5e9ccb23347c0381f0436192691Patrick ScottXMLPUBFUN int XMLCALL 8760a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott xmlRegExecPushString(xmlRegExecCtxtPtr exec, 88ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar *value, 89ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project void *data); 9060a4c356ee9ce5e9ccb23347c0381f0436192691Patrick ScottXMLPUBFUN int XMLCALL 91ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegExecPushString2(xmlRegExecCtxtPtr exec, 92ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar *value, 93ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar *value2, 94ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project void *data); 95ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 96ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 97ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegExecNextValues(xmlRegExecCtxtPtr exec, 9860a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott int *nbval, 9960a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott int *nbneg, 100ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlChar **values, 101ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int *terminal); 102ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 103ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlRegExecErrInfo (xmlRegExecCtxtPtr exec, 10460a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott const xmlChar **string, 105ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int *nbval, 10660a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott int *nbneg, 107ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlChar **values, 108ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int *terminal); 109ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_EXPR_ENABLED 110ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 111ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Formal regular expression handling 112ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Its goal is to do some formal work on content models 113ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 114ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 115ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* expressions are used within a context */ 116ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlExpCtxt xmlExpCtxt; 117ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlExpCtxt *xmlExpCtxtPtr; 118ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 119ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL 120ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpFreeCtxt (xmlExpCtxtPtr ctxt); 121ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpCtxtPtr XMLCALL 122ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNewCtxt (int maxNodes, 123ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlDictPtr dict); 124ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 125ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 126ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt); 127ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 128ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt); 129ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 130ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* Expressions are trees but the tree is opaque */ 131ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlExpNode xmlExpNode; 132ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlExpNode *xmlExpNodePtr; 133ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 134ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum { 135ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project XML_EXP_EMPTY = 0, 136ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project XML_EXP_FORBID = 1, 137ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project XML_EXP_ATOM = 2, 138ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project XML_EXP_SEQ = 3, 139ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project XML_EXP_OR = 4, 140ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project XML_EXP_COUNT = 5 141ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlExpNodeType; 142ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 143ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 14460a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * 2 core expressions shared by all for the empty language set 145ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * and for the set with just the empty token 146ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 147ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBVAR xmlExpNodePtr forbiddenExp; 148ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBVAR xmlExpNodePtr emptyExp; 149ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 150ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 151ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Expressions are reference counted internally 152ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 153ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL 154ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpFree (xmlExpCtxtPtr ctxt, 155ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr expr); 156ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL 157ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpRef (xmlExpNodePtr expr); 158ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 159ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 160ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * constructors can be either manual or from a string 161ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 162ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpNodePtr XMLCALL 163ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpParse (xmlExpCtxtPtr ctxt, 164ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const char *expr); 165ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpNodePtr XMLCALL 166ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNewAtom (xmlExpCtxtPtr ctxt, 167ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar *name, 168ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int len); 169ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpNodePtr XMLCALL 170ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNewOr (xmlExpCtxtPtr ctxt, 171ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr left, 172ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr right); 173ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpNodePtr XMLCALL 174ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNewSeq (xmlExpCtxtPtr ctxt, 175ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr left, 176ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr right); 177ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpNodePtr XMLCALL 178ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNewRange (xmlExpCtxtPtr ctxt, 179ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr subset, 180ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int min, 181ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int max); 182ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* 183ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The really interesting APIs 184ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */ 185ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 186ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpIsNillable(xmlExpNodePtr expr); 187ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 188ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpMaxToken (xmlExpNodePtr expr); 189ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 190ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpGetLanguage(xmlExpCtxtPtr ctxt, 191ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr expr, 192ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar**langList, 193ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int len); 194ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 195ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpGetStart (xmlExpCtxtPtr ctxt, 196ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr expr, 197ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar**tokList, 198ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int len); 199ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpNodePtr XMLCALL 200ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpStringDerive(xmlExpCtxtPtr ctxt, 201ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr expr, 202ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project const xmlChar *str, 203ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project int len); 204ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExpNodePtr XMLCALL 205ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpExpDerive (xmlExpCtxtPtr ctxt, 206ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr expr, 207ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr sub); 208ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL 209ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpSubsume (xmlExpCtxtPtr ctxt, 210ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr expr, 211ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr sub); 212ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL 213ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpDump (xmlBufferPtr buf, 214ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project xmlExpNodePtr expr); 215ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_EXPR_ENABLED */ 216ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus 217ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} 21860a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott#endif 219ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 220ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_REGEXP_ENABLED */ 221ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project 222ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /*__XML_REGEXP_H__ */ 223