xref: /onnv-gate/usr/src/cmd/man/src/util/nsgmls.src/include/Notation.h (revision 0:68f95e015346)
1 // Copyright (c) 1994 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident	"%Z%%M%	%I%	%E% SMI"
4 
5 #ifndef Notation_INCLUDED
6 #define Notation_INCLUDED 1
7 #ifdef __GNUG__
8 #pragma interface
9 #endif
10 
11 #include "Owner.h"
12 #include "StringC.h"
13 #include "NamedResource.h"
14 #include "types.h"
15 #include "Ptr.h"
16 #include "ExternalId.h"
17 #include "Boolean.h"
18 #include "Attributed.h"
19 #include "StringResource.h"
20 #include "EntityDecl.h"
21 
22 #ifdef SP_NAMESPACE
23 namespace SP_NAMESPACE {
24 #endif
25 
26 class ParserState;
27 
28 class SP_API Notation : public EntityDecl, public Attributed {
29 public:
30   Notation(const StringC &,
31 	   const ConstPtr<StringResource<Char> > &dtdName,
32 	   Boolean dtdIsBase);
33   void setExternalId(const ExternalId &, const Location &);
34   const ExternalId &externalId() const;
35   Boolean defined() const;
36   void generateSystemId(ParserState &);
37   const StringC *systemIdPointer() const;
38   const StringC *publicIdPointer() const;
39 private:
40   Notation(const Notation &);	// undefined
41   void operator=(const Notation &); // undefined
42   PackedBoolean defined_;
43   ExternalId externalId_;
44 };
45 
46 inline
externalId()47 const ExternalId &Notation::externalId() const
48 {
49   return externalId_;
50 }
51 
52 inline
defined()53 Boolean Notation::defined() const
54 {
55   return defined_;
56 }
57 
58 #ifdef SP_NAMESPACE
59 }
60 #endif
61 
62 #endif /* not Notation_INCLUDED */
63