Commit 81a8ec6b authored by Daniel Veillard's avatar Daniel Veillard

pushing the formal expression handling code to have it in CVs from now.

* xmlregexp.c include/libxml/xmlregexp.h: pushing the formal expression
  handling code to have it in CVs from now. Not plugged, and misses
  APIs it's not compiled in yet.
Daniel
parent 45b97e72
Mon Aug 22 02:19:33 CEST 2005 Daniel Veillard <daniel@veillard.com>
* xmlregexp.c include/libxml/xmlregexp.h: pushing the formal expression
handling code to have it in CVs from now. Not plugged, and misses
APIs it's not compiled in yet.
Sat Aug 20 23:13:27 CEST 2005 Daniel Veillard <daniel@veillard.com>
* xmlreader.c: applied another patch from Rob Richards to fix
......
......@@ -99,6 +99,63 @@ XMLPUBFUN int XMLCALL
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);
/* Expressions are trees but the tree is opaque */
typedef struct _xmlExpNode xmlExpNode;
typedef xmlExpNode *xmlExpNodePtr;
/*
* 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 exp);
XMLPUBFUN void XMLCALL
xmlExpRef (xmlExpNodePtr exp);
XMLPUBFUN int XMLCALL
xmlExpIsNillable(xmlExpNodePtr exp);
XMLPUBFUN int XMLCALL
xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
xmlExpNodePtr exp,
const xmlChar**list,
int len);
XMLPUBFUN int XMLCALL
xmlExpGetStart (xmlExpCtxtPtr ctxt,
xmlExpNodePtr exp,
const xmlChar**list,
int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
xmlExpStringDerive(xmlExpCtxtPtr ctxt,
xmlExpNodePtr exp,
const xmlChar *str,
int len);
XMLPUBFUN int XMLCALL
xmlExpSubsume (xmlExpCtxtPtr ctxt,
xmlExpNodePtr exp,
xmlExpNodePtr sub);
#endif /* LIBXML_EXPR_ENABLED */
#ifdef __cplusplus
}
#endif
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment