Home | History | Annotate | Download | only in libxmlrpg
      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 (a] 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