Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaParticle.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Single.cs
- ReferenceEqualityComparer.cs
- HtmlDocument.cs
- MultitargetUtil.cs
- NameSpaceEvent.cs
- SqlDataSourceEnumerator.cs
- CharAnimationBase.cs
- SystemWebCachingSectionGroup.cs
- TypeUtils.cs
- TextRangeProviderWrapper.cs
- ColumnBinding.cs
- FormViewUpdatedEventArgs.cs
- XDRSchema.cs
- X509CertificateCollection.cs
- FileVersion.cs
- QilFunction.cs
- MultiAsyncResult.cs
- CallbackValidatorAttribute.cs
- ActivityExecutor.cs
- QilChoice.cs
- Crypto.cs
- PkcsUtils.cs
- DateTimeFormatInfoScanner.cs
- HwndAppCommandInputProvider.cs
- MessagePropertyVariants.cs
- RadioButtonAutomationPeer.cs
- BamlBinaryReader.cs
- CheckBoxRenderer.cs
- URLIdentityPermission.cs
- ClientSettingsStore.cs
- ViewgenContext.cs
- DataBindingHandlerAttribute.cs
- SafeTokenHandle.cs
- TransformationRules.cs
- StylusPointProperties.cs
- DataServiceClientException.cs
- RealProxy.cs
- UrlMapping.cs
- FollowerQueueCreator.cs
- CommandBinding.cs
- AssociationSet.cs
- RequestCacheEntry.cs
- SpecialNameAttribute.cs
- DesignObjectWrapper.cs
- HtmlTable.cs
- StyleHelper.cs
- TableParaClient.cs
- DataSourceProvider.cs
- FrameworkElement.cs
- VirtualStackFrame.cs
- ConstantSlot.cs
- EntityCommandCompilationException.cs
- AdornerLayer.cs
- EncodingNLS.cs
- FileIOPermission.cs
- XmlHierarchyData.cs
- PreviewPrintController.cs
- XslTransform.cs
- SQLRoleProvider.cs
- DoubleStorage.cs
- NavigationPropertyEmitter.cs
- AlignmentYValidation.cs
- Int32AnimationUsingKeyFrames.cs
- SqlWorkflowInstanceStore.cs
- DataGridViewImageColumn.cs
- XmlTextWriter.cs
- ListViewItemCollectionEditor.cs
- Int16KeyFrameCollection.cs
- DSACryptoServiceProvider.cs
- X509Utils.cs
- Polygon.cs
- EventListenerClientSide.cs
- SymmetricSecurityProtocolFactory.cs
- IntegerValidator.cs
- FileLogRecordHeader.cs
- PageRouteHandler.cs
- UserPreference.cs
- FullTextState.cs
- ComboBox.cs
- AssertFilter.cs
- util.cs
- AdRotatorDesigner.cs
- WebPartChrome.cs
- DuplicateDetector.cs
- _NestedMultipleAsyncResult.cs
- HttpListenerPrefixCollection.cs
- BitmapImage.cs
- PackageRelationshipSelector.cs
- Win32NamedPipes.cs
- ColorContext.cs
- DataRowView.cs
- SelectionRangeConverter.cs
- PageCatalogPart.cs
- NavigationProperty.cs
- DataGridrowEditEndingEventArgs.cs
- ModelVisual3D.cs
- RTLAwareMessageBox.cs
- SynchronizedDispatch.cs
- XmlSchemaFacet.cs
- ControlUtil.cs