1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-31 21:50:33 +03:00

Time to work on helping the Gnome Doc project, first step is reintegrating

the SGML DocBook parser in libxml2 distrib:
- DOCBparser.c DOCBparser.h testDocbook.c configure.in Makefile.am
  xmlversion.h.in: started (re)integrating the DocBook SGML parser.
- SAX.[ch]: cleanup and updates for DocBook
- debugXML.c parser.h tree.[ch] valid.c xpath.c: small macro or
  ex SGML identifier changes
- valid.c: removed a static unused function.
Daniel
This commit is contained in:
Daniel Veillard
2001-04-23 13:41:34 +00:00
parent de57c61c9d
commit eae522a0d8
20 changed files with 6867 additions and 147 deletions

73
DOCBparser.h Normal file
View File

@@ -0,0 +1,73 @@
/*
* SGMLparser.h : interface for a DocBook SGML non-verifying parser
*
* See Copyright for the status of this software.
*
* Daniel.Veillard@w3.org
*/
#ifndef __DOCB_PARSER_H__
#define __DOCB_PARSER_H__
#include <parser.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* Most of the back-end structures from XML and SGML are shared
*/
typedef xmlParserCtxt docbParserCtxt;
typedef xmlParserCtxtPtr docbParserCtxtPtr;
typedef xmlParserNodeInfo docbParserNodeInfo;
typedef xmlSAXHandler docbSAXHandler;
typedef xmlSAXHandlerPtr docbSAXHandlerPtr;
typedef xmlParserInput docbParserInput;
typedef xmlParserInputPtr docbParserInputPtr;
typedef xmlDocPtr docbDocPtr;
typedef xmlNodePtr docbNodePtr;
/*
* There is only few public functions.
*/
int docbEncodeEntities(unsigned char* out,
int *outlen,
const 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);
/**
* Interfaces for the Push mode
*/
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);
#ifdef __cplusplus
}
#endif
#endif /* __DOCB_PARSER_H__ */