Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
fpc-src / usr / share / fpcsrc / 3.0.0 / packages / libxml / src / pattern.inc
Size: Mime:
(*
 * 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 *)