1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- (*
- * Summary: pattern expression handling
- * Description: allows to compile and test pattern expressions for nodes
- * either in a tree or based on a parser state.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- *)
- {$IFDEF LIBXML_PATTERN_ENABLED}
- {$IFDEF POINTER}
- xmlPatternPtr = ^xmlPattern;
- xmlStreamCtxtPtr = ^xmlStreamCtxt;
- {$ENDIF}
- {$IFDEF TYPE}
- (**
- * xmlPattern:
- *
- * A compiled (XPath based) pattern to select nodes
- *)
- xmlPattern = record end;
- xmlStreamCtxt = record end;
- (**
- * xmlPatternFlags:
- *
- * This is the set of options affecting the behaviour of pattern
- * matching with this module
- *
- *)
- xmlPatternFlags = type cint;
- {$ENDIF}
- {$IFDEF CONST}
- XML_PATTERN_DEFAULT = 0; (* simple pattern match *)
- XML_PATTERN_XPATH = 1 shl 0; (* standard XPath pattern *)
- XML_PATTERN_XSSEL = 1 shl 1; (* XPath subset for schema selector *)
- XML_PATTERN_XSFIELD = 1 shl 2; (* XPath subset for schema field *)
- {$ENDIF}
- {$IFDEF FUNCTION}
- procedure xmlFreePattern(comp: xmlPatternPtr); EXTDECL; external xml2lib;
- procedure xmlFreePatternList(comp: xmlPatternPtr); EXTDECL; external xml2lib;
- function xmlPatterncompile(pattern: xmlCharPtr; dict: xmlDictPtr; flags: cint; namespaces: xmlCharPtrPtr): xmlPatternPtr; EXTDECL; external xml2lib;
- function xmlPatternMatch(comp: xmlPatternPtr; node: xmlNodePtr): cint; EXTDECL; external xml2lib;
- (* streaming interfaces *)
- function xmlPatternStreamable(comp: xmlPatternPtr): cint; EXTDECL; external xml2lib;
- function xmlPatternMaxDepth(comp: xmlPatternPtr): cint; EXTDECL; external xml2lib;
- function xmlPatternMinDepth(comp: xmlPatternPtr): cint; EXTDECL; external xml2lib;
- function xmlPatternFromRoot(comp: xmlPatternPtr): cint; EXTDECL; external xml2lib;
- function xmlPatternGetStreamCtxt(comp: xmlPatternPtr): xmlStreamCtxtPtr; EXTDECL; external xml2lib;
- procedure xmlFreeStreamCtxt(stream: xmlStreamCtxtPtr); EXTDECL; external xml2lib;
- function xmlStreamPushNode(stream: xmlStreamCtxtPtr; name, ns: xmlCharPtr; nodeType: cint): cint; EXTDECL; external xml2lib;
- function xmlStreamPush(stream: xmlStreamCtxtPtr; name, ns: xmlCharPtr): cint; EXTDECL; external xml2lib;
- function xmlStreamPushAttr(stream: xmlStreamCtxtPtr; name, ns: xmlCharPtr): cint; EXTDECL; external xml2lib;
- function xmlStreamPop(stream: xmlStreamCtxtPtr): cint; EXTDECL; external xml2lib;
- function xmlStreamWantsAnyNode(stream: xmlStreamCtxtPtr): cint; EXTDECL; external xml2lib;
- {$ENDIF}
- {$ENDIF} (* LIBXML_PATTERN_ENABLED *)
|