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
- HttpResponseBase.cs
- DataKey.cs
- SafeHandles.cs
- DataGridItemEventArgs.cs
- WebPartEditorOkVerb.cs
- AttachedPropertyBrowsableAttribute.cs
- PersistNameAttribute.cs
- DeflateStream.cs
- IteratorDescriptor.cs
- ToolStripOverflowButton.cs
- DelegateHelpers.cs
- SecurityAlgorithmSuite.cs
- EntityDataSourceChangingEventArgs.cs
- PageStatePersister.cs
- IdnMapping.cs
- Int32CAMarshaler.cs
- LocalizableAttribute.cs
- MatrixTransform3D.cs
- ProcessingInstructionAction.cs
- ListViewItemEventArgs.cs
- ScaleTransform3D.cs
- AssemblyResourceLoader.cs
- RecognizedWordUnit.cs
- TdsParserHelperClasses.cs
- AsyncOperation.cs
- FrameworkContextData.cs
- IBuiltInEvidence.cs
- TableAdapterManagerNameHandler.cs
- HttpGetProtocolImporter.cs
- MouseActionValueSerializer.cs
- GlyphInfoList.cs
- DbDataSourceEnumerator.cs
- RenderData.cs
- TextInfo.cs
- StrokeNodeEnumerator.cs
- ListViewDeletedEventArgs.cs
- ScriptDescriptor.cs
- AttributeTable.cs
- FixedPageAutomationPeer.cs
- BitmapEffect.cs
- TypeHelper.cs
- InternalRelationshipCollection.cs
- DoubleLink.cs
- WorkflowClientDeliverMessageWrapper.cs
- WeakReference.cs
- SingleAnimationUsingKeyFrames.cs
- XmlSchemaSet.cs
- GridViewUpdatedEventArgs.cs
- DataRecordInternal.cs
- SqlNotificationEventArgs.cs
- ISFTagAndGuidCache.cs
- ResourcePermissionBaseEntry.cs
- ReadOnlyMetadataCollection.cs
- ProvidePropertyAttribute.cs
- Hyperlink.cs
- MenuItemBindingCollection.cs
- ColorTranslator.cs
- PriorityBinding.cs
- SerializationSectionGroup.cs
- CompoundFileDeflateTransform.cs
- CategoryAttribute.cs
- EdmComplexPropertyAttribute.cs
- ManagementClass.cs
- ObjectDataSourceChooseTypePanel.cs
- DataMisalignedException.cs
- BulletDecorator.cs
- ElementsClipboardData.cs
- ADRole.cs
- DataObjectSettingDataEventArgs.cs
- PeerContact.cs
- EmptyStringExpandableObjectConverter.cs
- ContentPresenter.cs
- MimeMultiPart.cs
- TranslateTransform3D.cs
- MappingException.cs
- AutomationElement.cs
- PersonalizationDictionary.cs
- TextEditorDragDrop.cs
- TemplateParser.cs
- MailDefinitionBodyFileNameEditor.cs
- HMACRIPEMD160.cs
- Int32RectConverter.cs
- Brushes.cs
- PersonalizationEntry.cs
- TextStore.cs
- SafeRightsManagementHandle.cs
- CompositeFontInfo.cs
- TypedDataSourceCodeGenerator.cs
- CompareInfo.cs
- TouchEventArgs.cs
- TextWriter.cs
- DispatcherEventArgs.cs
- PageStatePersister.cs
- AppModelKnownContentFactory.cs
- Bezier.cs
- SrgsToken.cs
- SMSvcHost.cs
- DoubleLinkListEnumerator.cs
- NamespaceMapping.cs
- GroupAggregateExpr.cs