1// Copyright (c) 1994 James Clark 2// See the file COPYING for copying permission. 3#pragma ident "%Z%%M% %I% %E% SMI" 4 5#ifdef __GNUG__ 6#pragma implementation 7#endif 8 9#include "splib.h" 10#include "SgmlParser.h" 11#include "Parser.h" 12#include "Trie.h" 13 14#ifdef SP_NAMESPACE 15namespace SP_NAMESPACE { 16#endif 17 18SgmlParser::SgmlParser() 19: parser_(0) 20{ 21} 22 23SgmlParser::SgmlParser(const Params ¶ms) 24: parser_(new Parser(params)) 25{ 26} 27 28void SgmlParser::init(const Params ¶ms) 29{ 30 delete parser_; 31 parser_ = new Parser(params); 32} 33 34SgmlParser::~SgmlParser() 35{ 36 delete parser_; 37} 38 39Event *SgmlParser::nextEvent() 40{ 41 return parser_->nextEvent(); 42} 43 44void SgmlParser::parseAll(EventHandler &handler, 45 const volatile sig_atomic_t *cancelPtr) 46{ 47 parser_->parseAll(handler, cancelPtr); 48} 49 50ConstPtr<Sd> SgmlParser::sd() const 51{ 52 return parser_->sdPointer(); 53} 54 55ConstPtr<Syntax> SgmlParser::instanceSyntax() const 56{ 57 return parser_->instanceSyntaxPointer(); 58} 59 60ConstPtr<Syntax> SgmlParser::prologSyntax() const 61{ 62 return parser_->prologSyntaxPointer(); 63} 64 65EntityManager &SgmlParser::entityManager() const 66{ 67 return parser_->entityManager(); 68} 69 70const EntityCatalog &SgmlParser::entityCatalog() const 71{ 72 return parser_->entityCatalog(); 73} 74 75void SgmlParser::activateLinkType(const StringC &name) 76{ 77 parser_->activateLinkType(name); 78} 79 80void SgmlParser::allLinkTypesActivated() 81{ 82 parser_->allLinkTypesActivated(); 83} 84 85void SgmlParser::swap(SgmlParser &s) 86{ 87 Parser *tem = parser_; 88 parser_ = s.parser_; 89 s.parser_ = tem; 90} 91 92Ptr<Dtd> SgmlParser::baseDtd() 93{ 94 return parser_->baseDtd(); 95} 96 97const ParserOptions &SgmlParser::options() const 98{ 99 return parser_->options(); 100} 101 102SgmlParser::Params::Params() 103: entityType(document), 104 parent(0), 105 options(0), 106 subdocInheritActiveLinkTypes(0), 107 subdocReferenced(0), 108 subdocLevel(0) 109{ 110} 111 112#ifdef SP_NAMESPACE 113} 114#endif 115