Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / nsgmls / EntityCatalog.h
1 /* $XConsortium: EntityCatalog.h /main/1 1996/07/29 16:50:18 cde-hp $ */
2 #ifndef EntityCatalog_INCLUDED
3 #define EntityCatalog_INCLUDED 1
4
5 #ifdef __GNUG__
6 #pragma interface
7 #endif
8
9 #include "types.h"
10 #include "StringC.h"
11 #include "Resource.h"
12 #include "SubstTable.h"
13
14 #ifdef SP_NAMESPACE
15 namespace SP_NAMESPACE {
16 #endif
17
18 class Messenger;
19 class CharsetInfo;
20 class EntityDecl;
21
22 class SP_API EntityCatalog : public Resource {
23 public:
24   class SP_API Syntax {
25   public:
26     virtual Boolean namecaseGeneral() const = 0;
27     virtual Boolean namecaseEntity() const = 0;
28     virtual const SubstTable<Char> &upperSubstTable() const = 0;
29     virtual const StringC &peroDelim() const = 0;
30   };
31   virtual ~EntityCatalog();
32   virtual Boolean sgmlDecl(const CharsetInfo &,
33                            Messenger &,
34                            StringC &) const;
35   virtual Boolean lookup(const EntityDecl &,
36                          const Syntax &,
37                          const CharsetInfo &,
38                          Messenger &,
39                          StringC &) const;
40   virtual Boolean lookupPublic(const StringC &,
41                                const CharsetInfo &,
42                                Messenger &,
43                                StringC &) const;
44   virtual Boolean defaultDoctype(const CharsetInfo &,
45                                  Messenger &,
46                                  StringC &,
47                                  StringC &) const;
48 };
49
50 #ifdef SP_NAMESPACE
51 }
52 #endif
53
54 #endif /* not EntityCatalog_INCLUDED */