DOCBparser.rpgle 5.75 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
      * Summary: old DocBook SGML parser
      * Description: interface for a DocBook SGML non-verifying parser
      * This code is DEPRECATED, and should not be used anymore.
      *
      * Copy: See Copyright for the status of this software.
      *
      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.

      /if not defined(DOCB_PARSER_H__)
      /define DOCB_PARSER_H__

      /include "libxmlrpg/xmlversion"

      /if defined(LIBXML_DOCB_ENABLED)

      /include "libxmlrpg/parser"
      /include "libxmlrpg/parserInternals"

      * Most of the back-end structures from XML and SGML are shared.

     d docbParserCtxtPtr...
     d                 s                   based(######typedef######)
     d                                     like(xmlParserCtxtPtr)

     d docbParserCtxt  ds                  based(docbParserCtxtPtr)
     d                                     likeds(xmlParserCtxt)

     d docbSAXHandlerPtr...
     d                 s                   based(######typedef######)
     d                                     like(xmlSAXHandlerPtr)

     d docbSAXHandler  ds                  based(docbSAXHandlerPtr)
     d                                     likeds(xmlSAXHandler)

     d docbParserInputPtr...
     d                 s                   based(######typedef######)
     d                                     like(xmlParserInputPtr)

     d docbParserInput...
     d                 ds                  based(docbParserInputPtr)
     d                                     likeds(xmlParserInput)

     d docbDocPtr      s                   based(######typedef######)
     d                                     like(xmlDocPtr)

      * There is only few public functions.

     d docbEncodeEntities...
     d                 pr            10i 0 extproc('docbEncodeEntities')
     d  out                            *   value options(*string)               unsigned char *
     d  outlen                         *   value                                int *
     d  in                             *   value options(*string)               const unsigned char
     d                                                                          *
     d  inlen                          *   value                                int *
     d  quoteChar                    10i 0 value

     d docbSAXParseDoc...
     d                 pr                  extproc('docbSAXParseDoc')
     d                                     like(docbDocPtr)
     d  cur                            *   value options(*string)               xmlChar *
     d  encoding                       *   value options(*string)               const char *
     d  sax                                value like(docbSAXHandlerPtr)
     d  userData                       *   value                                void *

     d docbParseDoc    pr                  extproc('docbParseDoc')
     d                                     like(docbDocPtr)
     d  cur                            *   value options(*string)               xmlChar *
     d  encoding                       *   value options(*string)               const char *

     d docbSAXParseFile...
     d                 pr                  extproc('docbSAXParseFile')
     d                                     like(docbDocPtr)
     d  filename                       *   value options(*string)               const char *
     d  encoding                       *   value options(*string)               const char *
     d  sax                                value like(docbSAXHandlerPtr)
     d  userData                       *   value                                void *

     d docbParseFile   pr                  extproc('docbParseFile')
     d                                     like(docbDocPtr)
     d  filename                       *   value options(*string)               const char *
     d  encoding                       *   value options(*string)               const char *

      * Interfaces for the Push mode.

     d docbFreeParserCtxt...
     d                 pr                  extproc('docbFreeParserCtxt')
     d  ctxt                               value like(docbParserCtxtPtr)

     d docbCreatePushParserCtxt...
     d                 pr                  extproc('docbCreatePushParserCtxt')
     d                                     like(docbParserCtxtPtr)
     d  sax                                value like(docbSAXHandlerPtr)
     d  user_data                      *   value                                void *
     d  chunk                          *   value options(*string)               const char *
     d  size                         10i 0 value
     d  filename                       *   value options(*string)               const char *
     d  enc                                value like(xmlCharEncoding)

     d docbParseChunk  pr            10i 0 extproc('docbParseChunk')
     d  ctxt                               value like(docbParserCtxtPtr)
     d  chunk                          *   value options(*string)               const char *
     d  size                         10i 0 value
     d  terminate                    10i 0 value

     d docbCreateFileParserCtxt...
     d                 pr                  extproc('docbCreateFileParserCtxt')
     d                                     like(docbParserCtxtPtr)
     d  filename                       *   value options(*string)               const char *
     d  encoding                       *   value options(*string)               const char *

     d docbParseDocument...
     d                 pr            10i 0 extproc('docbParseDocument')
     d  ctxt                               value like(docbParserCtxtPtr)

      /endif                                                                    LIBXML_DOCB_ENABLED
      /endif                                                                    DOCB_PARSER_H__