internal override void Validate(SrgsGrammar grammar) { SrgsTagFormat tagFormat = grammar.TagFormat; if (tagFormat == SrgsTagFormat.Default) { grammar.TagFormat |= SrgsTagFormat.KeyValuePairs; } else if (tagFormat != SrgsTagFormat.KeyValuePairs) { XmlParser.ThrowSrgsException(SRID.SapiPropertiesAndSemantics); } }
internal static GrammarOptions TagFormat2GrammarOptions(SrgsTagFormat value) { GrammarOptions result = GrammarOptions.KeyValuePairs; switch (value) { case SrgsTagFormat.KeyValuePairs: result = GrammarOptions.KeyValuePairSrgs; break; case SrgsTagFormat.MssV1: result = GrammarOptions.MssV1; break; case SrgsTagFormat.W3cV1: result = GrammarOptions.W3cV1; break; } return(result); }
internal static GrammarOptions TagFormat2GrammarOptions(SrgsTagFormat value) { GrammarOptions newValue = 0; switch (value) { case SrgsTagFormat.KeyValuePairs: newValue = GrammarOptions.KeyValuePairSrgs; break; case SrgsTagFormat.MssV1: newValue = GrammarOptions.MssV1; break; case SrgsTagFormat.W3cV1: newValue = GrammarOptions.W3cV1; break; } return(newValue); }
internal static SrgsTagFormat GrammarOptions2TagFormat(GrammarOptions value) { SrgsTagFormat result = SrgsTagFormat.Default; switch (value & GrammarOptions.TagFormat) { case GrammarOptions.MssV1: result = SrgsTagFormat.MssV1; break; case GrammarOptions.W3cV1: result = SrgsTagFormat.W3cV1; break; case GrammarOptions.KeyValuePairs: case GrammarOptions.KeyValuePairSrgs: result = SrgsTagFormat.KeyValuePairs; break; } return(result); }
internal void Validate() { bool hasPronunciation = HasSapiExtension = false; HasPronunciation = hasPronunciation; foreach (SrgsRule rule in _rules) { rule.Validate(this); } _isSapiExtensionUsed |= HasPronunciation; _fContainsCode |= (_language != null || _script.Length > 0 || _usings.Count > 0 || _assemblyReferences.Count > 0 || _codebehind.Count > 0 || _namespace != null || _fDebug); _isSapiExtensionUsed |= _fContainsCode; if (!HasPronunciation) { PhoneticAlphabet = AlphabetType.Sapi; } if (_root != null && !_rules.Contains(_root)) { XmlParser.ThrowSrgsException(SRID.RootNotDefined, _root.Id); } if (_globalTags.Count > 0) { _tagFormat = SrgsTagFormat.W3cV1; } if (_fContainsCode) { if (_tagFormat == SrgsTagFormat.Default) { _tagFormat = SrgsTagFormat.KeyValuePairs; } if (_tagFormat != SrgsTagFormat.KeyValuePairs) { XmlParser.ThrowSrgsException(SRID.InvalidSemanticProcessingType); } } }