#

## Module DOCBparser from libxml2

API Menu

- Main Menu
- Developer Menu
- Code Examples
- API Menu
- Parser API
- Tree API
- Reader API
- XML Guidelines

API Indexes

- Alphabetic
- Constructors
- Functions/Types
- Modules
- Symbols

Related links

- Mail archive
- XSLT libxslt
- DOM gdome2
- XML-DSig xmlsec
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- Pascal bindings
- Bug Tracker

## This module is deprecated

interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore.

## Table of Contents

    Typedef xmlParserInput docbParserInput

    Typedef xmlParserInputPtr docbParserInputPtr

    Typedef xmlParserCtxt docbParserCtxt

    Typedef xmlParserCtxtPtr docbParserCtxtPtr

    Typedef xmlDocPtr docbDocPtr

    Typedef xmlSAXHandler docbSAXHandler

    Typedef xmlSAXHandlerPtr docbSAXHandlerPtr

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

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

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

    int	docbParseDocument		(docbParserCtxtPtr ctxt)

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

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

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

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

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

    void	docbFreeParserCtxt		(docbParserCtxtPtr ctxt)

## Description

### Function: 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

### Function: docbEncodeEntities

    int	docbEncodeEntities		(unsigned char * out,
    					 int * outlen,
    					 const 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.

### Function: 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

### Function: 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.

### Function: 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

### Function: 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

### Function: 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

### Function: 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

### Function: 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.

### Function: 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

Daniel Veillard