generated from sethub/template
[libxml2]Add libxml2 library
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief pattern expression handling
|
||||
*
|
||||
* allows to compile and test pattern expressions for nodes
|
||||
* either in a tree or based on a parser state.
|
||||
*
|
||||
* @copyright See Copyright for the status of this software.
|
||||
*
|
||||
* @author Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_PATTERN_H__
|
||||
#define __XML_PATTERN_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/dict.h>
|
||||
|
||||
#ifdef LIBXML_PATTERN_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* A compiled (XPath based) pattern to select nodes
|
||||
*/
|
||||
typedef struct _xmlPattern xmlPattern;
|
||||
typedef xmlPattern *xmlPatternPtr;
|
||||
|
||||
/**
|
||||
* Internal type. This is the set of options affecting the behaviour
|
||||
* of pattern matching with this module.
|
||||
*/
|
||||
typedef enum {
|
||||
XML_PATTERN_DEFAULT = 0, /* simple pattern match */
|
||||
XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */
|
||||
XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */
|
||||
XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */
|
||||
} xmlPatternFlags;
|
||||
|
||||
XMLPUBFUN void
|
||||
xmlFreePattern (xmlPattern *comp);
|
||||
|
||||
XMLPUBFUN void
|
||||
xmlFreePatternList (xmlPattern *comp);
|
||||
|
||||
XMLPUBFUN xmlPattern *
|
||||
xmlPatterncompile (const xmlChar *pattern,
|
||||
xmlDict *dict,
|
||||
int flags,
|
||||
const xmlChar **namespaces);
|
||||
XMLPUBFUN int
|
||||
xmlPatternCompileSafe (const xmlChar *pattern,
|
||||
xmlDict *dict,
|
||||
int flags,
|
||||
const xmlChar **namespaces,
|
||||
xmlPattern **patternOut);
|
||||
XMLPUBFUN int
|
||||
xmlPatternMatch (xmlPattern *comp,
|
||||
xmlNode *node);
|
||||
|
||||
/** State object for streaming interface */
|
||||
typedef struct _xmlStreamCtxt xmlStreamCtxt;
|
||||
typedef xmlStreamCtxt *xmlStreamCtxtPtr;
|
||||
|
||||
XMLPUBFUN int
|
||||
xmlPatternStreamable (xmlPattern *comp);
|
||||
XMLPUBFUN int
|
||||
xmlPatternMaxDepth (xmlPattern *comp);
|
||||
XMLPUBFUN int
|
||||
xmlPatternMinDepth (xmlPattern *comp);
|
||||
XMLPUBFUN int
|
||||
xmlPatternFromRoot (xmlPattern *comp);
|
||||
XMLPUBFUN xmlStreamCtxt *
|
||||
xmlPatternGetStreamCtxt (xmlPattern *comp);
|
||||
XMLPUBFUN void
|
||||
xmlFreeStreamCtxt (xmlStreamCtxt *stream);
|
||||
XMLPUBFUN int
|
||||
xmlStreamPushNode (xmlStreamCtxt *stream,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ns,
|
||||
int nodeType);
|
||||
XMLPUBFUN int
|
||||
xmlStreamPush (xmlStreamCtxt *stream,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ns);
|
||||
XMLPUBFUN int
|
||||
xmlStreamPushAttr (xmlStreamCtxt *stream,
|
||||
const xmlChar *name,
|
||||
const xmlChar *ns);
|
||||
XMLPUBFUN int
|
||||
xmlStreamPop (xmlStreamCtxt *stream);
|
||||
XMLPUBFUN int
|
||||
xmlStreamWantsAnyNode (xmlStreamCtxt *stream);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LIBXML_PATTERN_ENABLED */
|
||||
|
||||
#endif /* __XML_PATTERN_H__ */
|
||||
Reference in New Issue
Block a user