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 ParserOptions_INCLUDED
6 #define ParserOptions_INCLUDED 1
7 #ifdef __GNUG__
8 #pragma interface
9 #endif
10 
11 #include "types.h"
12 #include "EventsWanted.h"
13 #include "Vector.h"
14 #include "StringC.h"
15 
16 #ifdef SP_NAMESPACE
17 namespace SP_NAMESPACE {
18 #endif
19 
20 struct Warnings {
21   Warnings();
22   PackedBoolean warnSgmlDecl;
23   PackedBoolean warnDuplicateEntity;
24   PackedBoolean warnShould;
25   PackedBoolean warnUndefinedElement;
26   PackedBoolean warnDefaultEntityReference;
27   PackedBoolean warnMixedContent;
28   PackedBoolean warnEmptyTag;
29   PackedBoolean warnUnusedMap;
30   PackedBoolean warnUnusedParam;
31   PackedBoolean warnNotationSystemId;
32   PackedBoolean warnInclusion;
33   PackedBoolean warnExclusion;
34   PackedBoolean warnRcdataContent;
35   PackedBoolean warnCdataContent;
36   PackedBoolean warnPsComment;
37   PackedBoolean warnElementGroupDecl;
38   PackedBoolean warnAttlistGroupDecl;
39   PackedBoolean warnPiEntity;
40   PackedBoolean warnInternalSdataEntity;
41   PackedBoolean warnInternalCdataEntity;
42   PackedBoolean warnExternalSdataEntity;
43   PackedBoolean warnExternalCdataEntity;
44   PackedBoolean warnBracketEntity;
45   PackedBoolean warnDataAttributes;
46   PackedBoolean warnMissingSystemId;
47   PackedBoolean warnConref;
48   PackedBoolean warnCurrent;
49   PackedBoolean warnNutokenDeclaredValue;
50   PackedBoolean warnNumberDeclaredValue;
51   PackedBoolean warnNameDeclaredValue;
52   PackedBoolean warnNamedCharRef;
53   PackedBoolean warnRefc;
54   PackedBoolean warnTempMarkedSection;
55   PackedBoolean warnRcdataMarkedSection;
56   PackedBoolean warnInstanceIncludeMarkedSection;
57   PackedBoolean warnInstanceIgnoreMarkedSection;
58   PackedBoolean warnAndGroup;
59   PackedBoolean warnRank;
60   PackedBoolean warnEmptyCommentDecl;
61   PackedBoolean warnAttributeValueNotLiteral;
62   PackedBoolean warnMissingAttributeName;
63   PackedBoolean warnCommentDeclS;
64   PackedBoolean warnCommentDeclMultiple;
65   PackedBoolean warnMissingStatusKeyword;
66   PackedBoolean warnMultipleStatusKeyword;
67   PackedBoolean warnInstanceParamEntityRef;
68   PackedBoolean warnMinimizationParam;
69   PackedBoolean warnMixedContentRepOrGroup;
70   PackedBoolean warnNameGroupNotOr;
71   PackedBoolean warnPiMissingName;
72   PackedBoolean warnInstanceStatusKeywordSpecS;
73   PackedBoolean warnExternalDataEntityRef;
74   PackedBoolean warnAttributeValueExternalEntityRef;
75   PackedBoolean warnDataDelim;
76   PackedBoolean warnExplicitSgmlDecl;
77   PackedBoolean warnInternalSubsetMarkedSection;
78   PackedBoolean warnDefaultEntityDecl;
79   PackedBoolean warnNonSgmlCharRef;
80   PackedBoolean warnInternalSubsetPsParamEntityRef;
81   PackedBoolean warnInternalSubsetTsParamEntityRef;
82   PackedBoolean warnInternalSubsetLiteralParamEntityRef;
83 };
84 
85 struct SP_API ParserOptions : public Warnings {
86   ParserOptions();
87   EventsWanted eventsWanted;
88   PackedBoolean datatag;
89   PackedBoolean omittag;
90   PackedBoolean rank;
91   PackedBoolean shorttag;
92   PackedBoolean emptynrm;
93   Number linkSimple;
94   PackedBoolean linkImplicit;
95   Number linkExplicit;
96   Number concur;
97   Number subdoc;
98   PackedBoolean formal;
99   PackedBoolean shortref;
100   enum { sgmlDeclTypeValid = -1 };
101   short typeValid;
102   enum Quantity {
103     ATTCNT,
104     ATTSPLEN,
105     BSEQLEN,
106     DTAGLEN,
107     DTEMPLEN,
108     ENTLVL,
109     GRPCNT,
110     GRPGTCNT,
111     GRPLVL,
112     LITLEN,
113     NAMELEN,
114     NORMSEP,
115     PILEN,
116     TAGLEN,
117     TAGLVL
118   };
119   enum { nQuantity = TAGLVL + 1 };
120   Number quantity[nQuantity];
121   PackedBoolean errorIdref;
122   PackedBoolean errorSignificant;
123   PackedBoolean errorAfdr;	// error if AFDR extensions are used
124   // These override what was specified in the SGML declaration.
125   PackedBoolean noUnclosedTag;
126   PackedBoolean noNet;
127   Vector<StringC> includes;
128 };
129 
130 #ifdef SP_NAMESPACE
131 }
132 #endif
133 
134 #endif /* not ParserOptions_INCLUDED */
135