⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 copyeventhandler.h

📁 SP是一个基于GNU C++编译器
💻 H
字号:
// Copyright (c) 1995 James Clark// See the file COPYING for copying permission.#ifndef CopyEventHandler_INCLUDED#define CopyEventHandler_INCLUDED 1#ifdef __GNUG__#pragma interface#endif#include "Event.h"#include "OutputCharStream.h"#include "Vector.h"#include "NCVector.h"#include "MarkupEventHandler.h"// This should be local to CopyEventHandler, but some compilers// can't handle this.#ifdef SP_NAMESPACEnamespace SP_NAMESPACE {#endifstruct CopyEventHandlerEntityInfo {  StrOutputCharStream str;  ConstPtr<EntityOrigin> ref;};class CopyEventHandler : public MarkupEventHandler {public:  enum NormalizeFlags {    normalizeOmittag = 01,    normalizeShortref = 02,    normalizeNet = 04,    normalizeEmptytag = 010,    normalizeUnclosed = 020,    normalizeAttname = 040,    normalizeAttvalue = 0100,    normalizeAttspec = 0200,    normalizeShorttag = (normalizeNet|normalizeEmptytag|normalizeUnclosed			 |normalizeAttname|normalizeAttvalue|normalizeAttspec),    normalizeRank = 0400,    normalizeOmittagHoist = 01000,    normalizeExpand = 02000,    normalizeExpandAll = 04000,    normalizeCurrent = 010000,    normalizeLower = 020000,    normalizeReserved = 040000,    normalizeExpandProlog = 0100000,    normalizeIncludeProlog = 0200000,    normalizeMarkedSection = 0400000    };  CopyEventHandler(OutputCharStream *, unsigned flags,		   const StringC &outputEntity);  ~CopyEventHandler();  void reOrigin(ReOriginEvent *);  void sSep(SSepEvent *);  void ignoredRs(IgnoredRsEvent *);  void data(DataEvent *);  void startElement(StartElementEvent *);  void endElement(EndElementEvent *);  void sdataEntity(SdataEntityEvent *);  void externalDataEntity(ExternalDataEntityEvent *);  void subdocEntity(SubdocEntityEvent *);  void nonSgmlChar(NonSgmlCharEvent *);  void pi(PiEvent *);  void endProlog(EndPrologEvent *);  void markedSectionStart(MarkedSectionStartEvent *);  void markedSectionEnd(MarkedSectionEndEvent *);  void entityStart(EntityStartEvent *);  void entityEnd(EntityEndEvent *);  void ignoredChars(IgnoredCharsEvent *);  void sgmlDecl(SgmlDeclEvent *);  void usemap(UsemapEvent *);  void uselink(UselinkEvent *);  void startDtd(StartDtdEvent *);  void startLpd(StartLpdEvent *);  void endDtd(EndDtdEvent *);  void endLpd(EndLpdEvent *);  void entityDecl(EntityDeclEvent *);  void shortrefDecl(ShortrefDeclEvent *);  void markup(const Location &loc, const Markup &markup);private:  virtual void reportTagInSpecialMarkedSection(const Location &) = 0;  OutputCharStream &os();  void startSubset(StartSubsetEvent *);  void endSubset(MarkupEvent *);  void literal(const Text &text);  void attributeSpecList(MarkupIter &, const AttributeList &);  void unspecifiedAttributeValues(const AttributeList &atts,				  const StringC &beforeFirst);  void withNamedCharRef(const StringC &, const Location &loc);  void withNamedCharRef(const Char *p, size_t n, const Location &loc);  void writeData(const Char *p, size_t n, const Location &loc);  void sdParamLiteral(const SdText &text);  void entityRef(const EntityOrigin *);  Boolean doNothing(Event *);  Boolean noOutput();  Boolean isSgmlChar(Char);  const StringC &elementTypeOrigName(const ElementType *, StringC &buf);  const StringC &generalName(const StringC &name, StringC &buf);  const StringC &entityName(const StringC &name, StringC &buf);  const StringC &lowerCaseName(const StringC &name, StringC &buf);  void handleChange();  void outputMarkup(const Location &loc, const Markup &markup);  OutputCharStream *os_;  OutputCharStream *topOs_;  Boolean inInstance_;  unsigned entityLevel_;  unsigned outputEntityLevel_;  ConstPtr<Syntax> syntax_;  ConstPtr<Syntax> instanceSyntax_;  ConstPtr<Sd> sd_;  SubstTable<Char> lowerSubst_;  unsigned normalizeFlags_;  StringC outputEntity_;  Vector<StringC> elementTypeOrigNames_;  unsigned omittagHoist_;  ConstPtr<EntityOrigin> entityOrigin_;  NCVector<CopyEventHandlerEntityInfo> entityStack_;  Boolean inSpecialMarkedSection_;  Boolean hasInternalSubset_;  Boolean mustOmitEnd_;  Boolean emptyElementNormal_;  const AttributeList *currentAttributes_;};inlineOutputCharStream &CopyEventHandler::os(){  return *os_;}#ifdef SP_NAMESPACE}#endif#endif /* not CopyEventHandler_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -