#ifndef _MODULE_XML_Builder_Validation_
#define _MODULE_XML_Builder_Validation_

#include <__typemap.h>
#include <RT0.oh>
#include <URI.oh>
#include <XML/DTD.oh>
#include <XML/Locator.oh>
#include <XML/Regexp.oh>
#include <XML/Builder.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
typedef struct XML_Builder_Validation__BuilderDesc *XML_Builder_Validation__Builder;
typedef struct {
  XML_DTD__ElementDecl elem;
  XML_Regexp__Matcher matcher;
} *XML_Builder_Validation__Stack;
typedef struct XML_Builder_Validation__BuilderDesc {
  XML_Locator__Locator parserLocator;
  XML_Builder__Builder delegateBuilder;
  XML_Locator__ErrorListener errorListener;
  XML_DTD__ExternalEntity documentEntity;
  XML_DTD__Builder dtd;
  XML_DTD__Namespace notationNamespace;
  XML_DTD__Namespace idNamespace;
  XML_DTD__Namespace idrefNamespace;
  OOC_INT32 currLevel;
  XML_Builder_Validation__Stack stack;
} XML_Builder_Validation__BuilderDesc;
extern void XML_Builder_Validation__BuilderDesc_SetLocator(XML_Builder_Validation__Builder b, XML_Locator__Locator locator);
#define _TBN_XML_Builder_Validation__BuilderDesc_SetLocator 14
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_SetLocator)(XML_Builder_Validation__Builder b, XML_Locator__Locator locator);
extern void XML_Builder_Validation__BuilderDesc_SetErrorListener(XML_Builder_Validation__Builder b, XML_Locator__ErrorListener el);
#define _TBN_XML_Builder_Validation__BuilderDesc_SetErrorListener 13
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_SetErrorListener)(XML_Builder_Validation__Builder b, XML_Locator__ErrorListener el);
extern void XML_Builder_Validation__BuilderDesc_StartDocument(XML_Builder_Validation__Builder b, XML_DTD__ExternalEntity documentEntity);
#define _TBN_XML_Builder_Validation__BuilderDesc_StartDocument 18
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_StartDocument)(XML_Builder_Validation__Builder b, XML_DTD__ExternalEntity documentEntity);
extern void XML_Builder_Validation__BuilderDesc_EndDocument(XML_Builder_Validation__Builder b);
#define _TBN_XML_Builder_Validation__BuilderDesc_EndDocument 6
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_EndDocument)(XML_Builder_Validation__Builder b);
extern void XML_Builder_Validation__BuilderDesc_StartDTD(XML_Builder_Validation__Builder b, XML_DTD__Builder dtdBuilder);
#define _TBN_XML_Builder_Validation__BuilderDesc_StartDTD 17
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_StartDTD)(XML_Builder_Validation__Builder b, XML_DTD__Builder dtdBuilder);
extern void XML_Builder_Validation__BuilderDesc_EndDTD(XML_Builder_Validation__Builder b, XML_DTD__ExternalEntity externalDTD, OOC_CHAR8 allDeclarationsProcessed);
#define _TBN_XML_Builder_Validation__BuilderDesc_EndDTD 5
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_EndDTD)(XML_Builder_Validation__Builder b, XML_DTD__ExternalEntity externalDTD, OOC_CHAR8 allDeclarationsProcessed);
extern void XML_Builder_Validation__BuilderDesc_StartElement(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
#define _TBN_XML_Builder_Validation__BuilderDesc_StartElement 19
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_StartElement)(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
extern void XML_Builder_Validation__BuilderDesc_EndElement(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
#define _TBN_XML_Builder_Validation__BuilderDesc_EndElement 7
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_EndElement)(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName);
extern void XML_Builder_Validation__BuilderDesc_Attribute(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName, XML_DTD__AttrDecl attrDecl, XML_DTD__AttValue value, OOC_CHAR8 specified);
#define _TBN_XML_Builder_Validation__BuilderDesc_Attribute 0
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_Attribute)(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl, XML_UnicodeBuffer__CharArray localName, XML_DTD__AttrDecl attrDecl, XML_DTD__AttValue value, OOC_CHAR8 specified);
extern void NORETURN XML_Builder_Validation__BuilderDesc_NamespaceDeclaration(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl) NORETURN2;
#define _TBN_XML_Builder_Validation__BuilderDesc_NamespaceDeclaration 10
typedef void NORETURN (*_TBP_XML_Builder_Validation__BuilderDesc_NamespaceDeclaration)(XML_Builder_Validation__Builder b, XML_DTD__NamespaceDeclaration namespaceDecl) NORETURN2;
extern void XML_Builder_Validation__BuilderDesc_AttributesDone(XML_Builder_Validation__Builder b);
#define _TBN_XML_Builder_Validation__BuilderDesc_AttributesDone 1
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_AttributesDone)(XML_Builder_Validation__Builder b);
extern void XML_Builder_Validation__BuilderDesc_SkippedEntity(XML_Builder_Validation__Builder b, XML_UnicodeBuffer__CharArray name, XML_DTD__Entity referent);
#define _TBN_XML_Builder_Validation__BuilderDesc_SkippedEntity 15
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_SkippedEntity)(XML_Builder_Validation__Builder b, XML_UnicodeBuffer__CharArray name, XML_DTD__Entity referent);
extern void XML_Builder_Validation__BuilderDesc_Characters(XML_Builder_Validation__Builder b, XML_DTD__StringVar chars, OOC_LEN chars_0d, OOC_INT32 charsStart, OOC_INT32 charsEnd, OOC_INT8 elementWhitespace);
#define _TBN_XML_Builder_Validation__BuilderDesc_Characters 2
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_Characters)(XML_Builder_Validation__Builder b, XML_DTD__StringVar chars, OOC_LEN chars_0d, OOC_INT32 charsStart, OOC_INT32 charsEnd, OOC_INT8 elementWhitespace);
extern void XML_Builder_Validation__BuilderDesc_StartCDATA(XML_Builder_Validation__Builder b);
#define _TBN_XML_Builder_Validation__BuilderDesc_StartCDATA 16
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_StartCDATA)(XML_Builder_Validation__Builder b);
extern void XML_Builder_Validation__BuilderDesc_EndCDATA(XML_Builder_Validation__Builder b);
#define _TBN_XML_Builder_Validation__BuilderDesc_EndCDATA 4
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_EndCDATA)(XML_Builder_Validation__Builder b);
extern void XML_Builder_Validation__BuilderDesc_StartEntity(XML_Builder_Validation__Builder b, XML_DTD__Entity entity);
#define _TBN_XML_Builder_Validation__BuilderDesc_StartEntity 20
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_StartEntity)(XML_Builder_Validation__Builder b, XML_DTD__Entity entity);
extern void XML_Builder_Validation__BuilderDesc_EndEntity(XML_Builder_Validation__Builder b, XML_DTD__Entity entity);
#define _TBN_XML_Builder_Validation__BuilderDesc_EndEntity 8
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_EndEntity)(XML_Builder_Validation__Builder b, XML_DTD__Entity entity);
extern void XML_Builder_Validation__BuilderDesc_EntityDecl(XML_Builder_Validation__Builder b, XML_DTD__Entity entity);
#define _TBN_XML_Builder_Validation__BuilderDesc_EntityDecl 9
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_EntityDecl)(XML_Builder_Validation__Builder b, XML_DTD__Entity entity);
extern void XML_Builder_Validation__BuilderDesc_Notation(XML_Builder_Validation__Builder b, XML_DTD__Notation notation);
#define _TBN_XML_Builder_Validation__BuilderDesc_Notation 11
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_Notation)(XML_Builder_Validation__Builder b, XML_DTD__Notation notation);
extern void XML_Builder_Validation__BuilderDesc_ProcessingInstruction(XML_Builder_Validation__Builder b, XML_UnicodeBuffer__CharArray target, XML_DTD__StringVar content, OOC_LEN content_0d, OOC_INT32 contentStart, OOC_INT32 contentEnd, URI__URI baseURI);
#define _TBN_XML_Builder_Validation__BuilderDesc_ProcessingInstruction 12
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_ProcessingInstruction)(XML_Builder_Validation__Builder b, XML_UnicodeBuffer__CharArray target, XML_DTD__StringVar content, OOC_LEN content_0d, OOC_INT32 contentStart, OOC_INT32 contentEnd, URI__URI baseURI);
extern void XML_Builder_Validation__BuilderDesc_Comment(XML_Builder_Validation__Builder b, XML_DTD__StringVar chars, OOC_LEN chars_0d, OOC_INT32 start, OOC_INT32 end);
#define _TBN_XML_Builder_Validation__BuilderDesc_Comment 3
typedef void (*_TBP_XML_Builder_Validation__BuilderDesc_Comment)(XML_Builder_Validation__Builder b, XML_DTD__StringVar chars, OOC_LEN chars_0d, OOC_INT32 start, OOC_INT32 end);
extern void XML_Builder_Validation__Init(XML_Builder_Validation__Builder b, XML_Builder__Builder delegateBuilder);
extern XML_Builder_Validation__Builder XML_Builder_Validation__New(XML_Builder__Builder delegateBuilder);
extern void OOC_XML_Builder_Validation_init(void);
extern void OOC_XML_Builder_Validation_init0(void);

/* run-time meta data */
extern RT0__StructDesc _td_XML_Builder_Validation__Builder;
extern RT0__StructDesc _td_XML_Builder_Validation__1116;
extern RT0__StructDesc _td_XML_Builder_Validation__1103;
extern RT0__StructDesc _td_XML_Builder_Validation__Stack;
extern RT0__StructDesc _td_XML_Builder_Validation__BuilderDesc;
extern RT0__StructDesc _td_XML_Builder_Validation__IDDecl;
extern RT0__StructDesc _td_XML_Builder_Validation__IDDeclDesc;
extern RT0__StructDesc _td_XML_Builder_Validation__4060;
extern RT0__StructDesc _td_XML_Builder_Validation__4414;
extern RT0__StructDesc _td_XML_Builder_Validation__4478;
extern RT0__StructDesc _td_XML_Builder_Validation__4900;
extern RT0__StructDesc _td_XML_Builder_Validation__4964;
extern RT0__StructDesc _td_XML_Builder_Validation__5028;
extern RT0__StructDesc _td_XML_Builder_Validation__5786;
extern RT0__StructDesc _td_XML_Builder_Validation__6145;
extern RT0__StructDesc _td_XML_Builder_Validation__6743;
extern RT0__StructDesc _td_XML_Builder_Validation__7107;
extern RT0__StructDesc _td_XML_Builder_Validation__30648;
#endif /* _MODULE_XML_Builder_Validation_ */

/* --- */
