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. 4 * 5 * Copy: See Copyright for the status of this software. 6 * 7 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. 8 9 /if not defined(XML_PATTERN_H__) 10 /define XML_PATTERN_H__ 11 12 /include "libxmlrpg/xmlversion" 13 14 /if defined(LIBXML_PATTERN_ENABLED) 15 16 /include "libxmlrpg/xmlTypesC" 17 /include "libxmlrpg/tree" 18 /include "libxmlrpg/dict" 19 20 * xmlPattern: 21 * 22 * A compiled (XPath based) pattern to select nodes 23 24 d xmlPatternPtr... 25 d s * based(######typedef######) 26 27 * xmlPatternFlags: 28 * 29 * This is the set of options affecting the behaviour of pattern 30 * matching with this module 31 32 d xmlPatternFlags... 33 d s based(######typedef######) 34 d like(xmlCenum) 35 d XML_PATTERN_DEFAULT... Simple pattern match 36 d c X'0000' 37 d XML_PATTERN_XPATH... Std XPath pattern 38 d c X'0001' 39 d XML_PATTERN_XSSEL... Schm sel XPth subset 40 d c X'0002' 41 d XML_PATTERN_XSFIELD... Schm fld XPth subset 42 d c X'0004' 43 44 d xmlFreePattern pr extproc('xmlFreePattern') 45 d comp value like(xmlPatternPtr) 46 47 d xmlFreePatternList... 48 d pr extproc('xmlFreePatternList') 49 d comp value like(xmlPatternPtr) 50 51 d xmlPatterncompile... 52 d pr extproc('xmlPatterncompile') 53 d like(xmlPatternPtr) 54 d pattern * value options(*string) const xmlChar * 55 d dict * value xmlDict * 56 d flags value like(xmlCint) 57 d namespaces * const xmlChar *(*) 58 59 d xmlPatternMatch... 60 d pr extproc('xmlPatternMatch') 61 d like(xmlCint) 62 d comp value like(xmlPatternPtr) 63 d node value like(xmlNodePtr) 64 65 * streaming interfaces 66 67 d xmlStreamCtxtPtr... 68 d s * based(######typedef######) 69 70 d xmlPatternStreamable... 71 d pr extproc('xmlPatternStreamable') 72 d like(xmlCint) 73 d comp value like(xmlPatternPtr) 74 75 d xmlPatternMaxDepth... 76 d pr extproc('xmlPatternMaxDepth') 77 d like(xmlCint) 78 d comp value like(xmlPatternPtr) 79 80 d xmlPatternMinDepth... 81 d pr extproc('xmlPatternMinDepth') 82 d like(xmlCint) 83 d comp value like(xmlPatternPtr) 84 85 d xmlPatternFromRoot... 86 d pr extproc('xmlPatternFromRoot') 87 d like(xmlCint) 88 d comp value like(xmlPatternPtr) 89 90 d xmlPatternGetStreamCtxt... 91 d pr extproc('xmlPatternGetStreamCtxt') 92 d like(xmlStreamCtxtPtr) 93 d comp value like(xmlPatternPtr) 94 95 d xmlFreeStreamCtxt... 96 d pr extproc('xmlFreeStreamCtxt') 97 d stream value like(xmlStreamCtxtPtr) 98 99 d xmlStreamPushNode... 100 d pr extproc('xmlStreamPushNode') 101 d like(xmlCint) 102 d stream value like(xmlStreamCtxtPtr) 103 d name * value options(*string) const xmlChar * 104 d ns * value options(*string) const xmlChar * 105 d nodeType value like(xmlCint) 106 107 d xmlStreamPush pr extproc('xmlStreamPush') 108 d like(xmlCint) 109 d stream value like(xmlStreamCtxtPtr) 110 d name * value options(*string) const xmlChar * 111 d ns * value options(*string) const xmlChar * 112 113 d xmlStreamPushAttr... 114 d pr extproc('xmlStreamPushAttr') 115 d like(xmlCint) 116 d stream value like(xmlStreamCtxtPtr) 117 d name * value options(*string) const xmlChar * 118 d ns * value options(*string) const xmlChar * 119 120 d xmlStreamPop pr extproc('xmlStreamPop') 121 d like(xmlCint) 122 d stream value like(xmlStreamCtxtPtr) 123 124 d xmlStreamWantsAnyNode... 125 d pr extproc('xmlStreamWantsAnyNode') 126 d like(xmlCint) 127 d stream value like(xmlStreamCtxtPtr) 128 129 /endif LIBXML_PATTERN_ENBLD 130 /endif XML_PATTERN_H__ 131