00001
00002
00003
00004
00005
00006
00007
00008
00009
00018 #ifndef _LIBSGML_SGMLEXTENSIONHTML_H
00019 #define _LIBSGML_SGMLEXTENSIONHTML_H
00020
00021 #include "DomDocument.h"
00022 #include "DomElement.h"
00023 #include "DomText.h"
00024 #include "DomComment.h"
00025
00026 #include "DomNodeList.h"
00027
00049 #define SGML_EXTENSION_HTML_PARAM_FLAG 0x00000001
00050
00055 #define SGML_EXTENSION_HTML_PARAM_SETKNOWNTAGS 0x00000002
00056
00062 #define SGML_EXTENSION_HTML_FLAG_STRIPELEMENT (1 << 0)
00063
00068 #define SGML_EXTENSION_HTML_FLAG_STRIPTEXT (1 << 1)
00069
00074 #define SGML_EXTENSION_HTML_FLAG_STRIPCOMMENT (1 << 2)
00075
00080 #define SGML_EXTENSION_HTML_FLAG_IGNOREBLANKLINES (1 << 3)
00081
00086 #define SGML_EXTENSION_HTML_FLAG_ESCAPEUNKNOWNTAGS (1 << 4)
00087
00092 typedef struct _sgml_extension_html {
00093
00094 DOM_DOCUMENT *document;
00095 DOM_ELEMENT *currElement;
00096
00097 unsigned char skipNextAttribute;
00098
00099 unsigned long flags;
00100
00101 char **knownTags;
00102
00103 void (*saveDivert)(struct _sgml_parser *parser, unsigned long newIndex, unsigned long oldState, unsigned long newState, const char *lastBuffer, unsigned long lastBufferSize);
00104
00105 } SGML_EXTENSION_HTML;
00106
00107 SGML_EXTENSION_HTML *sgmlExtensionHtmlNew(SGML_PARSER *parser);
00108 void sgmlExtensionHtmlDestroy(SGML_PARSER *parser, SGML_EXTENSION_HTML *ext);
00109
00110 void sgmlExtensionHtmlInitialize(SGML_PARSER *parser, void *userContext);
00111 void sgmlExtensionHtmlElementBegin(SGML_PARSER *parser, void *userContext, const char *elementName);
00112 void sgmlExtensionHtmlElementEnd(SGML_PARSER *parser, void *userContext, const char *elementName);
00113 void sgmlExtensionHtmlAttributeNew(SGML_PARSER *parser, void *userContext, const char *attributeName, const char *attributeValue);
00114 void sgmlExtensionHtmlTextNew(SGML_PARSER *parser, void *userContext, const char *text);
00115 void sgmlExtensionHtmlCommentNew(SGML_PARSER *parser, void *userContext, const char *comment);
00116 void sgmlExtensionHtmlDeinitialize(SGML_PARSER *parser, void *userContext);
00117
00142 void sgmlExtensionHtmlSetParam(SGML_PARSER *parser, void *extensionContext, unsigned long param, void *value);
00151 void sgmlExtensionHtmlGetParam(SGML_PARSER *parser, void *extensionContext, unsigned long param, void *value);
00152
00158 DOM_DOCUMENT *sgmlExtensionHtmlGetDocument(SGML_PARSER *parser);
00159
00164 #endif