Repository URL to install this package:
Version:
3.0.0 ▾
|
(*
* 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 *)