SgmlsEventHandler.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef SgmlsEventHandler_INCLUDED
#define SgmlsEventHandler_INCLUDED 1
#include <stddef.h>
#include "Event.h"
#include "Boolean.h"
#include "StringC.h"
#include "OutputCharStream.h"
#include "StringSet.h"
#include "Location.h"
#include "Syntax.h"
#include "Sd.h"
#include "Ptr.h"
#include "LinkProcess.h"
#include "Message.h"
#include "ErrorCountEventHandler.h"
#ifdef SP_NAMESPACE
#endif
struct StorageObjectSpec;
SgmlsSubdocState(const SgmlParser *);
void init(const SgmlParser *);
void swap(SgmlsSubdocState &);
const SgmlParser *parser_;
};
enum {
outputLine = 01,
outputEntity = 02,
outputId = 04,
outputIncluded = 010,
outputNotationSysid = 020,
outputNonSgml = 040,
outputEmpty = 0100
};
SgmlsEventHandler(const SgmlParser *,
Messenger *,
unsigned outputFlags);
void startElement(StartElementEvent *);
void endElement(EndElementEvent *);
void sdataEntity(SdataEntityEvent *);
void subdocEntity(SubdocEntityEvent *);
void nonSgmlChar(NonSgmlCharEvent *);
void appinfo(AppinfoEvent *);
void uselink(UselinkEvent *);
void sgmlDecl(SgmlDeclEvent *);
void endProlog(EndPrologEvent *);
void message(MessageEvent *);
void dispatchMessage(const Message &);
};
void initMessage(Message &);
void startData();
void flushData();
OutputCharStream &os();
const StorageObjectSpec *lastSos_;
unsigned long lastLineno_;
};
inline
{
}
inline
{
return *os_;
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not SgmlsEventHandler_INCLUDED */