57 lines
1.3 KiB
C++
57 lines
1.3 KiB
C++
#ifndef EntityCatalog_INCLUDED
|
|
#define EntityCatalog_INCLUDED 1
|
|
|
|
#ifdef __GNUG__
|
|
#pragma interface
|
|
#endif
|
|
|
|
#include "types.h"
|
|
#include "StringC.h"
|
|
#include "Resource.h"
|
|
#include "SubstTable.h"
|
|
|
|
#ifdef SP_NAMESPACE
|
|
namespace SP_NAMESPACE {
|
|
#endif
|
|
|
|
class Messenger;
|
|
class CharsetInfo;
|
|
class EntityDecl;
|
|
|
|
class SP_API EntityCatalog : public Resource {
|
|
public:
|
|
class SP_API Syntax {
|
|
public:
|
|
virtual Boolean namecaseGeneral() const = 0;
|
|
virtual Boolean namecaseEntity() const = 0;
|
|
virtual const SubstTable &upperSubstTable() const = 0;
|
|
virtual const StringC &peroDelim() const = 0;
|
|
virtual ~Syntax() = 0;
|
|
};
|
|
virtual ~EntityCatalog();
|
|
virtual Boolean sgmlDecl(const CharsetInfo &,
|
|
Messenger &,
|
|
const StringC &,
|
|
StringC &) const;
|
|
virtual Boolean lookup(const EntityDecl &,
|
|
const Syntax &,
|
|
const CharsetInfo &,
|
|
Messenger &,
|
|
StringC &) const;
|
|
virtual Boolean lookupPublic(const StringC &,
|
|
const CharsetInfo &,
|
|
Messenger &,
|
|
StringC &) const;
|
|
// This is for a character described by a minimum literal
|
|
// in the SGML declaration.
|
|
virtual Boolean lookupChar(const StringC &,
|
|
const CharsetInfo &,
|
|
Messenger &,
|
|
UnivChar &) const;
|
|
};
|
|
|
|
#ifdef SP_NAMESPACE
|
|
}
|
|
#endif
|
|
|
|
#endif /* not EntityCatalog_INCLUDED */
|