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       /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