1 * Summary: pattern expression handling
2 * Description: allows to compile and test pattern expressions for nodes
3 * either in a tree or based on a parser state.
5 * Copy: See Copyright for the status of this software.
7 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
9 /if not defined(XML_PATTERN_H__)
10 /define XML_PATTERN_H__
12 /include "libxmlrpg/xmlversion"
13 /include "libxmlrpg/tree"
14 /include "libxmlrpg/dict"
16 /if defined(LIBXML_PATTERN_ENABLED)
20 * A compiled (XPath based) pattern to select nodes
23 d s * based(######typedef######)
27 * This is the set of options affecting the behaviour of pattern
28 * matching with this module
31 d s 10i 0 based(######typedef######) enum
32 d XML_PATTERN_DEFAULT... Simple pattern match
34 d XML_PATTERN_XPATH... Std XPath pattern
36 d XML_PATTERN_XSSEL... Schm sel XPth subset
38 d XML_PATTERN_XSFIELD... Schm fld XPth subset
41 d xmlFreePattern pr extproc('xmlFreePattern')
42 d comp value like(xmlPatternPtr)
44 d xmlFreePatternList...
45 d pr extproc('xmlFreePatternList')
46 d comp value like(xmlPatternPtr)
48 d xmlPatterncompile...
49 d pr extproc('xmlPatterncompile')
51 d pattern * value options(*string) const xmlChar *
52 d dict * value xmlDict *
54 d namespaces * const xmlChar *(*)
57 d pr 10i 0 extproc('xmlPatternMatch')
58 d comp value like(xmlPatternPtr)
59 d node value like(xmlNodePtr)
61 * streaming interfaces
64 d s * based(######typedef######)
66 d xmlPatternStreamable...
67 d pr 10i 0 extproc('xmlPatternStreamable')
68 d comp value like(xmlPatternPtr)
70 d xmlPatternMaxDepth...
71 d pr 10i 0 extproc('xmlPatternMaxDepth')
72 d comp value like(xmlPatternPtr)
74 d xmlPatternMinDepth...
75 d pr 10i 0 extproc('xmlPatternMinDepth')
76 d comp value like(xmlPatternPtr)
78 d xmlPatternFromRoot...
79 d pr 10i 0 extproc('xmlPatternFromRoot')
80 d comp value like(xmlPatternPtr)
82 d xmlPatternGetStreamCtxt...
83 d pr extproc('xmlPatternGetStreamCtxt')
84 d like(xmlStreamCtxtPtr)
85 d comp value like(xmlPatternPtr)
87 d xmlFreeStreamCtxt...
88 d pr extproc('xmlFreeStreamCtxt')
89 d stream value like(xmlStreamCtxtPtr)
91 d xmlStreamPushNode...
92 d pr 10i 0 extproc('xmlStreamPushNode')
93 d stream value like(xmlStreamCtxtPtr)
94 d name * value options(*string) const xmlChar *
95 d ns * value options(*string) const xmlChar *
96 d nodeType 10i 0 value
98 d xmlStreamPush pr 10i 0 extproc('xmlStreamPush')
99 d stream value like(xmlStreamCtxtPtr)
100 d name * value options(*string) const xmlChar *
101 d ns * value options(*string) const xmlChar *
103 d xmlStreamPushAttr...
104 d pr 10i 0 extproc('xmlStreamPushAttr')
105 d stream value like(xmlStreamCtxtPtr)
106 d name * value options(*string) const xmlChar *
107 d ns * value options(*string) const xmlChar *
109 d xmlStreamPop pr 10i 0 extproc('xmlStreamPop')
110 d stream value like(xmlStreamCtxtPtr)
112 d xmlStreamWantsAnyNode...
113 d pr 10i 0 extproc('xmlStreamWantsAnyNode')
114 d stream value like(xmlStreamCtxtPtr)
116 /endif LIBXML_PATTERN_ENBLD
117 /endif XML_PATTERN_H__