Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Recognition / SrgsGrammar / SrgsSubset.cs / 1 / SrgsSubset.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: // // History: // 5/1/2004 jeanfp Created from the Kurosawa Code //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Globalization; using System.Speech.Internal; using System.Speech.Internal.SrgsParser; using System.Xml; namespace System.Speech.Recognition.SrgsGrammar { /// TODOC <_include file='doc\Subset.uex' path='docs/doc[@for="Subset"]/*' /> // Note that currently if multiple words are stored in a Subset they are treated internally // and in the result as multiple tokens. [Serializable] [DebuggerDisplay ("{DebuggerDisplayString ()}")] public class SrgsSubset : SrgsElement, ISubset { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors /// TODOC public SrgsSubset (string text) : this (text, SubsetMatchingMode.Subsequence) { } /// TODOC public SrgsSubset (string text, SubsetMatchingMode matchingMode) { Helpers.ThrowIfEmptyOrNull (text, "text"); if (matchingMode != SubsetMatchingMode.OrderedSubset && matchingMode != SubsetMatchingMode.Subsequence && matchingMode != SubsetMatchingMode.OrderedSubsetContentRequired && matchingMode != SubsetMatchingMode.SubsequenceContentRequired) { throw new ArgumentException (SR.Get (SRID.InvalidSubsetAttribute), "matchingMode"); } _matchMode = matchingMode; _text = text.Trim (Helpers._achTrimChars); Helpers.ThrowIfEmptyOrNull (_text, "text"); } #endregion //******************************************************************** // // Public Properties // //******************************************************************* #region public Properties /// TODOC <_include file='doc\Subset.uex' path='docs/doc[@for="Subset.Text"]/*' /> public SubsetMatchingMode MatchingMode { get { return _matchMode; } set { if (value != SubsetMatchingMode.OrderedSubset && value != SubsetMatchingMode.Subsequence && value != SubsetMatchingMode.OrderedSubsetContentRequired && value != SubsetMatchingMode.SubsequenceContentRequired) { throw new ArgumentException (SR.Get (SRID.InvalidSubsetAttribute), "value"); } _matchMode = value; } } /// TODOC <_include file='doc\Subset.uex' path='docs/doc[@for="Subset.Pronunciation"]/*' /> public string Text { get { return _text; } set { Helpers.ThrowIfEmptyOrNull (value, "value"); value = value.Trim (Helpers._achTrimChars); Helpers.ThrowIfEmptyOrNull (value, "value"); _text = value; } } #endregion //******************************************************************** // // Internal methods // //******************************************************************** #region Internal methods internal override void WriteSrgs (XmlWriter writer) { // Write_text writer.WriteStartElement ("sapi", "subset", XmlParser.sapiNamespace); if (_matchMode != SubsetMatchingMode.Subsequence) { string sMatchMode = null; switch (_matchMode) { case SubsetMatchingMode.Subsequence: sMatchMode = "subsequence"; break; case SubsetMatchingMode.OrderedSubset: sMatchMode = "ordered-subset"; break; case SubsetMatchingMode.SubsequenceContentRequired: sMatchMode = "subsequence-content-required"; break; case SubsetMatchingMode.OrderedSubsetContentRequired: sMatchMode = "ordered-subset-content-required"; break; } writer.WriteAttributeString ("sapi", "match", XmlParser.sapiNamespace, sMatchMode); } // If an empty string is provided, skip the WriteString // to have the XmlWrite to putrather than if (_text != null && _text.Length > 0) { writer.WriteString (_text); } writer.WriteEndElement (); } internal override void Validate (SrgsGrammar grammar) { grammar.HasSapiExtension = true; base.Validate (grammar); } internal override string DebuggerDisplayString () { return _text + " [" + _matchMode.ToString () + "]"; } #endregion //******************************************************************* // // Private Fields // //******************************************************************** #region Private Fields private SubsetMatchingMode _matchMode; private string _text; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // // Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: // // History: // 5/1/2004 jeanfp Created from the Kurosawa Code //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Globalization; using System.Speech.Internal; using System.Speech.Internal.SrgsParser; using System.Xml; namespace System.Speech.Recognition.SrgsGrammar { /// TODOC <_include file='doc\Subset.uex' path='docs/doc[@for="Subset"]/*' /> // Note that currently if multiple words are stored in a Subset they are treated internally // and in the result as multiple tokens. [Serializable] [DebuggerDisplay ("{DebuggerDisplayString ()}")] public class SrgsSubset : SrgsElement, ISubset { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors /// TODOC public SrgsSubset (string text) : this (text, SubsetMatchingMode.Subsequence) { } /// TODOC public SrgsSubset (string text, SubsetMatchingMode matchingMode) { Helpers.ThrowIfEmptyOrNull (text, "text"); if (matchingMode != SubsetMatchingMode.OrderedSubset && matchingMode != SubsetMatchingMode.Subsequence && matchingMode != SubsetMatchingMode.OrderedSubsetContentRequired && matchingMode != SubsetMatchingMode.SubsequenceContentRequired) { throw new ArgumentException (SR.Get (SRID.InvalidSubsetAttribute), "matchingMode"); } _matchMode = matchingMode; _text = text.Trim (Helpers._achTrimChars); Helpers.ThrowIfEmptyOrNull (_text, "text"); } #endregion //******************************************************************** // // Public Properties // //******************************************************************* #region public Properties /// TODOC <_include file='doc\Subset.uex' path='docs/doc[@for="Subset.Text"]/*' /> public SubsetMatchingMode MatchingMode { get { return _matchMode; } set { if (value != SubsetMatchingMode.OrderedSubset && value != SubsetMatchingMode.Subsequence && value != SubsetMatchingMode.OrderedSubsetContentRequired && value != SubsetMatchingMode.SubsequenceContentRequired) { throw new ArgumentException (SR.Get (SRID.InvalidSubsetAttribute), "value"); } _matchMode = value; } } /// TODOC <_include file='doc\Subset.uex' path='docs/doc[@for="Subset.Pronunciation"]/*' /> public string Text { get { return _text; } set { Helpers.ThrowIfEmptyOrNull (value, "value"); value = value.Trim (Helpers._achTrimChars); Helpers.ThrowIfEmptyOrNull (value, "value"); _text = value; } } #endregion //******************************************************************** // // Internal methods // //******************************************************************** #region Internal methods internal override void WriteSrgs (XmlWriter writer) { // Write_text writer.WriteStartElement ("sapi", "subset", XmlParser.sapiNamespace); if (_matchMode != SubsetMatchingMode.Subsequence) { string sMatchMode = null; switch (_matchMode) { case SubsetMatchingMode.Subsequence: sMatchMode = "subsequence"; break; case SubsetMatchingMode.OrderedSubset: sMatchMode = "ordered-subset"; break; case SubsetMatchingMode.SubsequenceContentRequired: sMatchMode = "subsequence-content-required"; break; case SubsetMatchingMode.OrderedSubsetContentRequired: sMatchMode = "ordered-subset-content-required"; break; } writer.WriteAttributeString ("sapi", "match", XmlParser.sapiNamespace, sMatchMode); } // If an empty string is provided, skip the WriteString // to have the XmlWrite to putrather than if (_text != null && _text.Length > 0) { writer.WriteString (_text); } writer.WriteEndElement (); } internal override void Validate (SrgsGrammar grammar) { grammar.HasSapiExtension = true; base.Validate (grammar); } internal override string DebuggerDisplayString () { return _text + " [" + _matchMode.ToString () + "]"; } #endregion //******************************************************************* // // Private Fields // //******************************************************************** #region Private Fields private SubsetMatchingMode _matchMode; private string _text; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AttachedAnnotationChangedEventArgs.cs
- OlePropertyStructs.cs
- CatalogZone.cs
- MetafileHeaderWmf.cs
- LoginName.cs
- DefaultSerializationProviderAttribute.cs
- StyleCollection.cs
- AssemblyLoader.cs
- Privilege.cs
- PackUriHelper.cs
- DataRecordInfo.cs
- CngKeyBlobFormat.cs
- DBConcurrencyException.cs
- PartialList.cs
- DateTimeConstantAttribute.cs
- FormViewInsertedEventArgs.cs
- ReflectionTypeLoadException.cs
- PointValueSerializer.cs
- MemberBinding.cs
- ValidationSummary.cs
- ListViewCancelEventArgs.cs
- RuntimeWrappedException.cs
- CancelEventArgs.cs
- Section.cs
- DetailsViewUpdateEventArgs.cs
- ActivationArguments.cs
- DoubleCollection.cs
- ContentHostHelper.cs
- TextEncodedRawTextWriter.cs
- AliasedSlot.cs
- PointHitTestParameters.cs
- FileLevelControlBuilderAttribute.cs
- CompModHelpers.cs
- DataControlReference.cs
- WebPartZoneBase.cs
- TableSectionStyle.cs
- ParseChildrenAsPropertiesAttribute.cs
- versioninfo.cs
- SourceFileBuildProvider.cs
- HttpResponseHeader.cs
- LifetimeServices.cs
- HttpsTransportBindingElement.cs
- ArcSegment.cs
- ToolStripDropDown.cs
- PrintDialogException.cs
- WindowsButton.cs
- DataGridBeginningEditEventArgs.cs
- DataStorage.cs
- XmlNodeList.cs
- ColumnResizeUndoUnit.cs
- HMACMD5.cs
- CompositeActivityDesigner.cs
- LockedBorderGlyph.cs
- InvalidDataException.cs
- Win32SafeHandles.cs
- PasswordTextNavigator.cs
- FilterException.cs
- EventBookmark.cs
- StylusPointCollection.cs
- ExpressionVisitorHelpers.cs
- ListViewItemSelectionChangedEvent.cs
- SplitterPanel.cs
- DeferredBinaryDeserializerExtension.cs
- SerializationBinder.cs
- SecurityCriticalDataForSet.cs
- CurrencyWrapper.cs
- ValidationService.cs
- Selection.cs
- NotCondition.cs
- HwndSource.cs
- PackageDigitalSignature.cs
- KoreanLunisolarCalendar.cs
- ReadOnlyDictionary.cs
- BindingCompleteEventArgs.cs
- MatrixTransform.cs
- ManagementPath.cs
- Update.cs
- Page.cs
- SessionParameter.cs
- ItemsControlAutomationPeer.cs
- StyleSelector.cs
- MarginsConverter.cs
- XmlDocumentSurrogate.cs
- LinearGradientBrush.cs
- RemotingConfiguration.cs
- PagesSection.cs
- BamlTreeMap.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WebSysDefaultValueAttribute.cs
- DelegateHelpers.cs
- CollectionsUtil.cs
- SelectionProcessor.cs
- AlignmentXValidation.cs
- FixedSOMElement.cs
- DictionarySurrogate.cs
- CollectionEditVerbManager.cs
- CTreeGenerator.cs
- Subtree.cs
- PcmConverter.cs
- Keywords.cs