00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* 00003 * This file is part of the libe-book project. 00004 * 00005 * This Source Code Form is subject to the terms of the Mozilla Public 00006 * License, v. 2.0. If a copy of the MPL was not distributed with this 00007 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 00008 */ 00009 00010 #ifndef FB2XMLPARSERCONTEXT_H_INCLUDED 00011 #define FB2XMLPARSERCONTEXT_H_INCLUDED 00012 00013 namespace libebook 00014 { 00015 00016 struct FB2TokenData; 00017 00018 class FB2XMLParserContext 00019 { 00020 public: 00021 virtual ~FB2XMLParserContext() = 0; 00022 00030 virtual FB2XMLParserContext *leaveContext() const = 0; 00031 00036 virtual FB2XMLParserContext *element(const FB2TokenData &name, const FB2TokenData &ns) = 0; 00037 00043 virtual void startOfElement() = 0; 00044 00047 virtual void endOfElement() = 0; 00048 00054 virtual void attribute(const FB2TokenData &name, const FB2TokenData *ns, const char *value) = 0; 00055 00058 virtual void endOfAttributes() = 0; 00059 00065 virtual void text(const char *value) = 0; 00066 }; 00067 00068 } 00069 00070 #endif // FB2XMLPARSERCONTEXT_H_INCLUDED 00071 00072 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */