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 /include "libxmlrpg/tree" 14 /include "libxmlrpg/dict" 15 16 /if defined(LIBXML_PATTERN_ENABLED) 17 18 * xmlPattern: 19 * 20 * A compiled (XPath based) pattern to select nodes 21 22 d xmlPatternPtr... 23 d s * based(######typedef######) 24 25 * xmlPatternFlags: 26 * 27 * This is the set of options affecting the behaviour of pattern 28 * matching with this module 29 30 d xmlPatternFlags... 31 d s 10i 0 based(######typedef######) enum 32 d XML_PATTERN_DEFAULT... Simple pattern match 33 d c X'0000' 34 d XML_PATTERN_XPATH... Std XPath pattern 35 d c X'0001' 36 d XML_PATTERN_XSSEL... Schm sel XPth subset 37 d c X'0002' 38 d XML_PATTERN_XSFIELD... Schm fld XPth subset 39 d c X'0004' 40 41 d xmlFreePattern pr extproc('xmlFreePattern') 42 d comp value like(xmlPatternPtr) 43 44 d xmlFreePatternList... 45 d pr extproc('xmlFreePatternList') 46 d comp value like(xmlPatternPtr) 47 48 d xmlPatterncompile... 49 d pr extproc('xmlPatterncompile') 50 d like(xmlPatternPtr) 51 d pattern * value options(*string) const xmlChar * 52 d dict * value xmlDict * 53 d flags 10i 0 value 54 d namespaces * const xmlChar *(*) 55 56 d xmlPatternMatch... 57 d pr 10i 0 extproc('xmlPatternMatch') 58 d comp value like(xmlPatternPtr) 59 d node value like(xmlNodePtr) 60 61 * streaming interfaces 62 63 d xmlStreamCtxtPtr... 64 d s * based(######typedef######) 65 66 d xmlPatternStreamable... 67 d pr 10i 0 extproc('xmlPatternStreamable') 68 d comp value like(xmlPatternPtr) 69 70 d xmlPatternMaxDepth... 71 d pr 10i 0 extproc('xmlPatternMaxDepth') 72 d comp value like(xmlPatternPtr) 73 74 d xmlPatternMinDepth... 75 d pr 10i 0 extproc('xmlPatternMinDepth') 76 d comp value like(xmlPatternPtr) 77 78 d xmlPatternFromRoot... 79 d pr 10i 0 extproc('xmlPatternFromRoot') 80 d comp value like(xmlPatternPtr) 81 82 d xmlPatternGetStreamCtxt... 83 d pr extproc('xmlPatternGetStreamCtxt') 84 d like(xmlStreamCtxtPtr) 85 d comp value like(xmlPatternPtr) 86 87 d xmlFreeStreamCtxt... 88 d pr extproc('xmlFreeStreamCtxt') 89 d stream value like(xmlStreamCtxtPtr) 90 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 97 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 * 102 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 * 108 109 d xmlStreamPop pr 10i 0 extproc('xmlStreamPop') 110 d stream value like(xmlStreamCtxtPtr) 111 112 d xmlStreamWantsAnyNode... 113 d pr 10i 0 extproc('xmlStreamWantsAnyNode') 114 d stream value like(xmlStreamCtxtPtr) 115 116 /endif LIBXML_PATTERN_ENBLD 117 /endif XML_PATTERN_H__ 118