## DOCBparser

DOCBparser —

## Synopsis

    typedef     docbParserCtxt;
    typedef     docbParserCtxtPtr;
    typedef     docbParserNodeInfo;
    typedef     docbSAXHandler;
    typedef     docbSAXHandlerPtr;
    typedef     docbParserInput;
    typedef     docbParserInputPtr;
    typedef     docbDocPtr;
    typedef     docbNodePtr;
    int         docbEncodeEntities              (unsigned char *out,
                                                 int *outlen,
                                                 unsigned char *in,
                                                 int *inlen,
                                                 int quoteChar);
    docbDocPtr  docbSAXParseDoc                 (xmlChar *cur,
                                                 const char *encoding,
                                                 docbSAXHandlerPtr sax,
                                                 void *userData);
    docbDocPtr  docbParseDoc                    (xmlChar *cur,
                                                 const char *encoding);
    docbDocPtr  docbSAXParseFile                (const char *filename,
                                                 const char *encoding,
                                                 docbSAXHandlerPtr sax,
                                                 void *userData);
    docbDocPtr  docbParseFile                   (const char *filename,
                                                 const char *encoding);
    void        docbFreeParserCtxt              (docbParserCtxtPtr ctxt);
    docbParserCtxtPtr docbCreatePushParserCtxt  (docbSAXHandlerPtr sax,
                                                 void *user_data,
                                                 const char *chunk,
                                                 int size,
                                                 const char *filename,
                                                 xmlCharEncoding enc);
    int         docbParseChunk                  (docbParserCtxtPtr ctxt,
                                                 const char *chunk,
                                                 int size,
                                                 int terminate);
    docbParserCtxtPtr docbCreateFileParserCtxt  (const char *filename,
                                                 const char *encoding);
    int         docbParseDocument               (docbParserCtxtPtr ctxt);

## Description

## Details

### docbParserCtxt

    typedef xmlParserCtxt docbParserCtxt;

### docbParserCtxtPtr

    typedef xmlParserCtxtPtr docbParserCtxtPtr;

### docbParserNodeInfo

    typedef xmlParserNodeInfo docbParserNodeInfo;

### docbSAXHandler

    typedef xmlSAXHandler docbSAXHandler;

### docbSAXHandlerPtr

    typedef xmlSAXHandlerPtr docbSAXHandlerPtr;

### docbParserInput

    typedef xmlParserInput docbParserInput;

### docbParserInputPtr

    typedef xmlParserInputPtr docbParserInputPtr;

### docbDocPtr

    typedef xmlDocPtr docbDocPtr;

### docbNodePtr

    typedef xmlNodePtr docbNodePtr;

### docbEncodeEntities ()

    int         docbEncodeEntities              (unsigned char *out,
                                                 int *outlen,
                                                 unsigned char *in,
                                                 int *inlen,
                                                 int quoteChar);

Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.

`out` : | a pointer to an array of bytes to store the result
`outlen` : | the length of `out`
`in` : | a pointer to an array of UTF-8 chars
`inlen` : | the length of `in`
`quoteChar` : | the quote character to escape (' or ") or zero.
Returns : | 0 if success, -2 if the transcoding fails, or -1 otherwise The value of `inlen` after return is the number of octets consumed as the return value is positive, else unpredictable. The value of `outlen` after return is the number of octets consumed.

### docbSAXParseDoc ()

    docbDocPtr  docbSAXParseDoc                 (xmlChar *cur,
                                                 const char *encoding,
                                                 docbSAXHandlerPtr sax,
                                                 void *userData);

parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

`cur` : | a pointer to an array of xmlChar
`encoding` : | a free form C string describing the SGML document encoding, or NULL
`sax` : | the SAX handler block
`userData` : | if using SAX, this pointer will be provided on callbacks.
Returns : | the resulting document tree

### docbParseDoc ()

    docbDocPtr  docbParseDoc                    (xmlChar *cur,
                                                 const char *encoding);

parse an SGML in-memory document and build a tree.

`cur` : | a pointer to an array of xmlChar
`encoding` : | a free form C string describing the SGML document encoding, or NULL
Returns : | the resulting document tree

### docbSAXParseFile ()

    docbDocPtr  docbSAXParseFile                (const char *filename,
                                                 const char *encoding,
                                                 docbSAXHandlerPtr sax,
                                                 void *userData);

parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.

`filename` : | the filename
`encoding` : | a free form C string describing the SGML document encoding, or NULL
`sax` : | the SAX handler block
`userData` : | if using SAX, this pointer will be provided on callbacks.
Returns : | the resulting document tree

### docbParseFile ()

    docbDocPtr  docbParseFile                   (const char *filename,
                                                 const char *encoding);

parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

`filename` : | the filename
`encoding` : | a free form C string describing document encoding, or NULL
Returns : | the resulting document tree

### docbFreeParserCtxt ()

    void        docbFreeParserCtxt              (docbParserCtxtPtr ctxt);

Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.

`ctxt` : | an SGML parser context

### docbCreatePushParserCtxt ()

    docbParserCtxtPtr docbCreatePushParserCtxt  (docbSAXHandlerPtr sax,
                                                 void *user_data,
                                                 const char *chunk,
                                                 int size,
                                                 const char *filename,
                                                 xmlCharEncoding enc);

Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, `size` should be >= 4 The value of `filename` is used for fetching external entities and error/warning reports.

`sax` : | a SAX handler
`user_data` : | The user data returned on SAX callbacks
`chunk` : | a pointer to an array of chars
`size` : | number of chars in the array
`filename` : | an optional file name or URI
`enc` : | an optional encoding
Returns : | the new parser context or NULL

### docbParseChunk ()

    int         docbParseChunk                  (docbParserCtxtPtr ctxt,
                                                 const char *chunk,
                                                 int size,
                                                 int terminate);

Parse a Chunk of memory

`ctxt` : | an XML parser context
`chunk` : | an char array
`size` : | the size in byte of the chunk
`terminate` : | last chunk indicator
Returns : | zero if no error, the xmlParserErrors otherwise.

### docbCreateFileParserCtxt ()

    docbParserCtxtPtr docbCreateFileParserCtxt  (const char *filename,
                                                 const char *encoding);

Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.

`filename` : | the filename
`encoding` : | the SGML document encoding, or NULL
Returns : | the new parser context or NULL

### docbParseDocument ()

    int         docbParseDocument               (docbParserCtxtPtr ctxt);

parse an SGML document (and build a tree if using the standard SAX interface).

`ctxt` : | an SGML parser context
Returns : | 0, -1 in case of error. the parser context is augmented as a result of the parsing.