Code:
/ DotNET / DotNET / 8.0 / untmp / 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 [....] 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
- LayoutEngine.cs
- PenLineCapValidation.cs
- PropertyRecord.cs
- SafeEventLogWriteHandle.cs
- X509CertificateCollection.cs
- XmlAttributes.cs
- ToolStripSplitButton.cs
- InstanceDataCollectionCollection.cs
- DbExpressionRules.cs
- UnaryQueryOperator.cs
- UpDownBase.cs
- SlipBehavior.cs
- XmlSchemaIdentityConstraint.cs
- TraceContextEventArgs.cs
- AssemblyAssociatedContentFileAttribute.cs
- ControlPropertyNameConverter.cs
- DragSelectionMessageFilter.cs
- ZipIORawDataFileBlock.cs
- GatewayIPAddressInformationCollection.cs
- HitTestWithPointDrawingContextWalker.cs
- SslStream.cs
- ComplexTypeEmitter.cs
- TemplateColumn.cs
- BuildProviderAppliesToAttribute.cs
- BoundPropertyEntry.cs
- SoapObjectReader.cs
- DetailsViewDesigner.cs
- SchemaInfo.cs
- ScriptingJsonSerializationSection.cs
- DataGridViewRowHeaderCell.cs
- AspNetCompatibilityRequirementsMode.cs
- SafeArrayTypeMismatchException.cs
- XmlProcessingInstruction.cs
- SizeIndependentAnimationStorage.cs
- WebPart.cs
- CodePageUtils.cs
- BufferBuilder.cs
- ThrowHelper.cs
- FontNameEditor.cs
- ToolStripContentPanel.cs
- CaseInsensitiveComparer.cs
- ProtocolsConfigurationEntry.cs
- MatrixCamera.cs
- GeneralTransformCollection.cs
- DataContractAttribute.cs
- DialogWindow.cs
- BaseAddressElementCollection.cs
- SecurityPermission.cs
- RoutedUICommand.cs
- ProfileGroupSettings.cs
- CodeTypeReferenceExpression.cs
- AddressHeaderCollectionElement.cs
- ServiceDurableInstanceContextProvider.cs
- XpsSerializerWriter.cs
- BindStream.cs
- ExecutionPropertyManager.cs
- SafeHandles.cs
- WindowsListViewItemCheckBox.cs
- HttpClientCertificate.cs
- ServiceModelEnumValidator.cs
- HyperLinkColumn.cs
- CatalogZone.cs
- ControlIdConverter.cs
- HeaderLabel.cs
- CodeVariableDeclarationStatement.cs
- FlowchartDesigner.xaml.cs
- ReaderContextStackData.cs
- SectionXmlInfo.cs
- StreamInfo.cs
- RenderDataDrawingContext.cs
- SHA384.cs
- XmlLanguage.cs
- PageCatalogPart.cs
- VirtualPathProvider.cs
- _DomainName.cs
- RegisteredArrayDeclaration.cs
- TreeViewDataItemAutomationPeer.cs
- ValidatedMobileControlConverter.cs
- SafeNativeMethods.cs
- GenericAuthenticationEventArgs.cs
- RoutedPropertyChangedEventArgs.cs
- AttachedAnnotation.cs
- SqlDataSourceCache.cs
- BooleanAnimationBase.cs
- SecurityDocument.cs
- AutoGeneratedFieldProperties.cs
- ListBoxChrome.cs
- Matrix3D.cs
- AutomationPatternInfo.cs
- Pkcs9Attribute.cs
- sqlnorm.cs
- VectorAnimation.cs
- OracleDataReader.cs
- TypeLibConverter.cs
- TreeIterators.cs
- IOException.cs
- SiteMapNodeItem.cs
- ReadOnlyDataSourceView.cs
- EncryptedPackage.cs
- BufferModesCollection.cs