📄 sgmlparser.h
字号:
// Copyright (c) 1994 James Clark// See the file COPYING for copying permission.#ifndef SgmlParser_INCLUDED#define SgmlParser_INCLUDED 1#ifdef __GNUG__#pragma interface#endif#include "StringC.h"#include "Ptr.h"#include "Location.h"#include "EntityManager.h"#include <signal.h>#ifdef SP_NAMESPACEnamespace SP_NAMESPACE {#endifclass Event;class Parser;class UnivCharsetDesc;class EventHandler;struct ParserOptions;template<class T> class Ptr;template<class T> class ConstPtr;class InputSourceOrigin;class Sd;class Syntax;class Dtd;class SP_API SgmlParser {public: struct SP_API Params { enum EntityType { document, subdoc, dtd }; Params(); EntityType entityType; // defaults to document StringC sysid; // must be specified Ptr<InputSourceOrigin> origin; Ptr<EntityManager> entityManager; const SgmlParser *parent; ConstPtr<Sd> sd; ConstPtr<Syntax> prologSyntax; ConstPtr<Syntax> instanceSyntax; unsigned subdocLevel; const ParserOptions *options; PackedBoolean subdocInheritActiveLinkTypes; // referenced subdocs count against SUBDOC limit in SGML declaration PackedBoolean subdocReferenced; StringC doctypeName; }; SgmlParser(); // must call init SgmlParser(const Params ¶ms); void init(const Params ¶ms); ~SgmlParser(); Event *nextEvent(); void parseAll(EventHandler &, const volatile sig_atomic_t *cancelPtr = 0); ConstPtr<Sd> sd() const; ConstPtr<Syntax> instanceSyntax() const; ConstPtr<Syntax> prologSyntax() const; EntityManager &entityManager() const; const EntityCatalog &entityCatalog() const; const ParserOptions &options() const; // Only to be called after the parse has ended. Ptr<Dtd> baseDtd(); void activateLinkType(const StringC &); void allLinkTypesActivated(); void swap(SgmlParser &); friend class Parser;private: SgmlParser(const SgmlParser &); void operator=(const SgmlParser &); Parser *parser_;};#ifdef SP_NAMESPACE}#endif#endif /* not SgmlParser_INCLUDED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -