00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef NXMLABSTRACTPARSER_H
00023 #define NXMLABSTRACTPARSER_H
00024
00025 #include <libxml/parser.h>
00026
00031 #include "ndefs.h"
00032 #include "nstring.h"
00033 #include "nfile.h"
00034
00042 class DllDeclSpec NXmlAbstractParser: public NObject {
00043 public:
00047 enum XmlSchema {
00048 XMLNOPARSING,
00049 XMLSCHEMA,
00050 XMLDTD
00051 };
00052
00056 NXmlAbstractParser(void);
00057
00061 virtual ~NXmlAbstractParser(void);
00062
00063
00070 void setEncoding(const NString &encoding);
00071
00076 NString getEncoding(void) const;
00077
00082 virtual void setDefinitionUrl(const NString &url);
00083
00088 NString getDefinitionUrl(void) const;
00089
00095 virtual xmlDocPtr parse(const NString &filename) = 0;
00096
00104 virtual xmlDocPtr parse(const NString &buffer,
00105 const NString &url) = 0;
00106
00114 virtual xmlDocPtr parse(const NFile *file,
00115 const NString &url) = 0;
00116
00117 protected:
00118 NString m_encoding;
00119 NString m_url;
00120 };
00121
00122 #endif // NXMLABSTRACTPARSER_H