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