#ifndef _MODULE_XML_Basic_Parser_
#define _MODULE_XML_Basic_Parser_

#include <__typemap.h>
#include <RT0.oh>
#include <IO.oh>
#include <URI.oh>
#include <XML/Error.oh>
#include <XML/DTD.oh>
#include <XML/Builder.oh>
#include <XML/UnicodeCodec.oh>
#include <XML/Locator.oh>
#include <XML/Error.oh>
#include <XML/Basic/Element.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
#define XML_Basic_Parser__validate 0
typedef XML_Basic_Element__Element *XML_Basic_Parser__ElementStack;
typedef struct XML_Basic_Parser__BuildDesc *XML_Basic_Parser__Build;
typedef struct XML_Basic_Parser__BuildDesc {
  XML_Locator__ErrorListener errorListener;
  XML_Locator__Locator locator;
  OOC_CHAR8 noerr;
  OOC_CHAR8 __pad9;
  OOC_CHAR8 __pad10;
  OOC_CHAR8 __pad11;
  XML_Basic_Element__RootFactory rootFactory;
  XML_Basic_Parser__ElementStack stack;
  OOC_INT32 nestingLevel;
  OOC_INT32 maxNestingDepth;
  XML_Basic_Element__Element root;
} XML_Basic_Parser__BuildDesc;
extern void XML_Basic_Parser__BuildDesc_Error(XML_Basic_Parser__Build b, OOC_INT32 code);
#define _TBN_XML_Basic_Parser__BuildDesc_Error 21
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_Error)(XML_Basic_Parser__Build b, OOC_INT32 code);
extern void XML_Basic_Parser__BuildDesc_ErrorName(XML_Basic_Parser__Build b, OOC_INT32 code, XML_UnicodeBuffer__CharArray name);
#define _TBN_XML_Basic_Parser__BuildDesc_ErrorName 22
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_ErrorName)(XML_Basic_Parser__Build b, OOC_INT32 code, XML_UnicodeBuffer__CharArray name);
extern void XML_Basic_Parser__BuildDesc_ErrorString(XML_Basic_Parser__Build b, OOC_INT32 code, XML_UnicodeBuffer__CharArray string);
#define _TBN_XML_Basic_Parser__BuildDesc_ErrorString 23
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_ErrorString)(XML_Basic_Parser__Build b, OOC_INT32 code, XML_UnicodeBuffer__CharArray string);
extern void XML_Basic_Parser__BuildDesc_SetLocator(XML_Basic_Parser__Build b, XML_Locator__Locator locator);
#define _TBN_XML_Basic_Parser__BuildDesc_SetLocator 14
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_SetLocator)(XML_Basic_Parser__Build b, XML_Locator__Locator locator);
extern void XML_Basic_Parser__BuildDesc_SetErrorListener(XML_Basic_Parser__Build b, XML_Locator__ErrorListener el);
#define _TBN_XML_Basic_Parser__BuildDesc_SetErrorListener 13
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_SetErrorListener)(XML_Basic_Parser__Build b, XML_Locator__ErrorListener el);
extern void XML_Basic_Parser__BuildDesc_StartElement(XML_Basic_Parser__Build b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
#define _TBN_XML_Basic_Parser__BuildDesc_StartElement 19
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_StartElement)(XML_Basic_Parser__Build b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
extern void XML_Basic_Parser__BuildDesc_Attribute(XML_Basic_Parser__Build b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName, XML_DTD__AttrDecl attrDecl, XML_DTD__AttValue value, OOC_CHAR8 specified);
#define _TBN_XML_Basic_Parser__BuildDesc_Attribute 0
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_Attribute)(XML_Basic_Parser__Build b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName, XML_DTD__AttrDecl attrDecl, XML_DTD__AttValue value, OOC_CHAR8 specified);
extern void XML_Basic_Parser__BuildDesc_AttributesDone(XML_Basic_Parser__Build b);
#define _TBN_XML_Basic_Parser__BuildDesc_AttributesDone 1
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_AttributesDone)(XML_Basic_Parser__Build b);
extern void XML_Basic_Parser__BuildDesc_Characters(XML_Basic_Parser__Build b, XML_DTD__StringVar chars, OOC_LEN chars_0d, OOC_INT32 charsStart, OOC_INT32 charsEnd, OOC_INT8 elementWhitespace);
#define _TBN_XML_Basic_Parser__BuildDesc_Characters 2
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_Characters)(XML_Basic_Parser__Build b, XML_DTD__StringVar chars, OOC_LEN chars_0d, OOC_INT32 charsStart, OOC_INT32 charsEnd, OOC_INT8 elementWhitespace);
extern void XML_Basic_Parser__BuildDesc_EndElement(XML_Basic_Parser__Build b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
#define _TBN_XML_Basic_Parser__BuildDesc_EndElement 7
typedef void (*_TBP_XML_Basic_Parser__BuildDesc_EndElement)(XML_Basic_Parser__Build b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
extern XML_Basic_Element__Element XML_Basic_Parser__Parse(IO__ByteChannel byteReader, URI__URI baseURI, XML_UnicodeCodec__Factory unicodeFactory, XML_Basic_Element__RootFactory rootFactory, OOC_INT32 maxNestingDepth, OOC_UINT32 flags, XML_Error__List *errList);
extern void OOC_XML_Basic_Parser_init(void);
extern void OOC_XML_Basic_Parser_init0(void);

/* run-time meta data */
extern RT0__StructDesc _td_XML_Basic_Parser__788;
extern RT0__StructDesc _td_XML_Basic_Parser__ElementStack;
extern RT0__StructDesc _td_XML_Basic_Parser__Build;
extern RT0__StructDesc _td_XML_Basic_Parser__BuildDesc;
#endif /* _MODULE_XML_Basic_Parser_ */

/* --- */
