Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaParticle.cs / 1305376 / XmlSchemaParticle.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Schema { using System.Xml.Serialization; ////// /// public abstract class XmlSchemaParticle : XmlSchemaAnnotated { [Flags] enum Occurs { None, Min, Max }; decimal minOccurs = decimal.One; decimal maxOccurs = decimal.One; Occurs flags = Occurs.None; ///[To be supplied.] ////// /// [XmlAttribute("minOccurs")] public string MinOccursString { get { return (flags & Occurs.Min) == 0 ? null : XmlConvert.ToString(minOccurs); } set { if (value == null) { minOccurs = decimal.One; flags &= ~Occurs.Min; } else { minOccurs = XmlConvert.ToInteger(value); if (minOccurs < decimal.Zero) { throw new XmlSchemaException(Res.Sch_MinOccursInvalidXsd, string.Empty); } flags |= Occurs.Min; } } } ///[To be supplied.] ////// /// [XmlAttribute("maxOccurs")] public string MaxOccursString { get { return (flags & Occurs.Max) == 0 ? null : (maxOccurs == decimal.MaxValue) ? "unbounded" : XmlConvert.ToString(maxOccurs); } set { if (value == null) { maxOccurs = decimal.One; flags &= ~Occurs.Max; } else { if (value == "unbounded") { maxOccurs = decimal.MaxValue; } else { maxOccurs = XmlConvert.ToInteger(value); if (maxOccurs < decimal.Zero) { throw new XmlSchemaException(Res.Sch_MaxOccursInvalidXsd, string.Empty); } else if (maxOccurs == decimal.Zero && (flags & Occurs.Min) == 0) { minOccurs = decimal.Zero; } } flags |= Occurs.Max; } } } ///[To be supplied.] ////// /// [XmlIgnore] public decimal MinOccurs { get { return minOccurs; } set { if (value < decimal.Zero || value != decimal.Truncate(value)) { throw new XmlSchemaException(Res.Sch_MinOccursInvalidXsd, string.Empty); } minOccurs = value; flags |= Occurs.Min; } } ///[To be supplied.] ////// /// [XmlIgnore] public decimal MaxOccurs { get { return maxOccurs; } set { if (value < decimal.Zero || value != decimal.Truncate(value)) { throw new XmlSchemaException(Res.Sch_MaxOccursInvalidXsd, string.Empty); } maxOccurs = value; if (maxOccurs == decimal.Zero && (flags & Occurs.Min) == 0) { minOccurs = decimal.Zero; } flags |= Occurs.Max; } } internal virtual bool IsEmpty { get { return maxOccurs == decimal.Zero; } } internal bool IsMultipleOccurrence { get { return maxOccurs > decimal.One; } } internal virtual string NameString { get { return string.Empty; } } internal XmlQualifiedName GetQualifiedName() { XmlSchemaElement elem = this as XmlSchemaElement; if (elem != null) { return elem.QualifiedName; } else { XmlSchemaAny any = this as XmlSchemaAny; if (any != null) { string ns = any.Namespace; if (ns != null) { ns = ns.Trim(); } else { ns = string.Empty; } return new XmlQualifiedName("*", ns.Length == 0 ? "##any" : ns); } } return XmlQualifiedName.Empty; //If ever called on other particles } class EmptyParticle : XmlSchemaParticle { internal override bool IsEmpty { get { return true; } } } internal static readonly XmlSchemaParticle Empty = new EmptyParticle(); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TimeSpanFormat.cs
- CanonicalFontFamilyReference.cs
- FollowerQueueCreator.cs
- NavigationEventArgs.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- ImmutableObjectAttribute.cs
- DbParameterHelper.cs
- ConstructorNeedsTagAttribute.cs
- HttpErrorTraceRecord.cs
- SystemDiagnosticsSection.cs
- TcpConnectionPoolSettings.cs
- XmlReflectionMember.cs
- XmlIlGenerator.cs
- ConnectionManagementSection.cs
- Selector.cs
- StackOverflowException.cs
- XamlDesignerSerializationManager.cs
- ChameleonKey.cs
- DirectionalLight.cs
- SignatureGenerator.cs
- ListViewUpdatedEventArgs.cs
- Drawing.cs
- ISO2022Encoding.cs
- SqlDataSourceDesigner.cs
- HybridDictionary.cs
- IsolatedStorageFilePermission.cs
- SafeRegistryKey.cs
- PenLineCapValidation.cs
- HttpRequestMessageProperty.cs
- WebReferencesBuildProvider.cs
- ColorTransform.cs
- UidManager.cs
- SizeValueSerializer.cs
- MemberInfoSerializationHolder.cs
- UdpMessageProperty.cs
- TextEditorDragDrop.cs
- WmlValidatorAdapter.cs
- SQLInt64Storage.cs
- HtmlTableCell.cs
- AudioDeviceOut.cs
- Block.cs
- IssuedTokenServiceCredential.cs
- CallTemplateAction.cs
- DataGridTextBoxColumn.cs
- PageParser.cs
- MetabaseReader.cs
- SynchronizationScope.cs
- SafeNativeMemoryHandle.cs
- RuleSetDialog.Designer.cs
- SingleAnimationUsingKeyFrames.cs
- VBCodeProvider.cs
- RadioButtonList.cs
- BufferedWebEventProvider.cs
- Material.cs
- RemotingAttributes.cs
- MD5CryptoServiceProvider.cs
- DataGridBoolColumn.cs
- TemplateControlBuildProvider.cs
- Style.cs
- DoubleUtil.cs
- SizeAnimationBase.cs
- FrameworkReadOnlyPropertyMetadata.cs
- NavigatorOutput.cs
- GB18030Encoding.cs
- LayoutEngine.cs
- TextElement.cs
- DbConnectionPoolGroupProviderInfo.cs
- PromptStyle.cs
- WorkflowApplicationCompletedException.cs
- AuthStoreRoleProvider.cs
- PropertyIDSet.cs
- IndependentAnimationStorage.cs
- HttpDebugHandler.cs
- PartialClassGenerationTask.cs
- OleDbPermission.cs
- TextEffect.cs
- CssTextWriter.cs
- CallbackValidatorAttribute.cs
- SettingsContext.cs
- PageVisual.cs
- ListViewItem.cs
- StorageEntityContainerMapping.cs
- AccessDataSourceView.cs
- DesignerDeviceConfig.cs
- ResourcePermissionBase.cs
- DataKeyArray.cs
- ToolStripSeparatorRenderEventArgs.cs
- AutoResizedEvent.cs
- WebDescriptionAttribute.cs
- MinimizableAttributeTypeConverter.cs
- ImageIndexConverter.cs
- VisualProxy.cs
- IndexedString.cs
- DefaultIfEmptyQueryOperator.cs
- Debugger.cs
- WebReference.cs
- Peer.cs
- ActiveXContainer.cs
- ImportCatalogPart.cs
- OleDbEnumerator.cs