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
- TableRowGroup.cs
- XslCompiledTransform.cs
- ScrollChrome.cs
- PersonalizationProvider.cs
- SqlVisitor.cs
- XhtmlTextWriter.cs
- AssemblyHash.cs
- TreeNodeConverter.cs
- WebPartUserCapability.cs
- SettingsProperty.cs
- Pool.cs
- SqlDataSourceView.cs
- DesignerEventService.cs
- AppDomainManager.cs
- StrokeCollection2.cs
- Properties.cs
- Merger.cs
- RTLAwareMessageBox.cs
- TakeQueryOptionExpression.cs
- Internal.cs
- ShutDownListener.cs
- VoiceInfo.cs
- DrawingContextDrawingContextWalker.cs
- LinkedResourceCollection.cs
- ServiceObjectContainer.cs
- DataGridViewButtonCell.cs
- propertytag.cs
- MediaPlayerState.cs
- MsmqIntegrationSecurity.cs
- SiteMapNode.cs
- TextWriterTraceListener.cs
- UnsafeNativeMethods.cs
- SharedConnectionWorkflowTransactionService.cs
- UnsafeNativeMethods.cs
- ResourceDescriptionAttribute.cs
- SafeNativeMethodsCLR.cs
- ChangeNode.cs
- LookupTables.cs
- BookmarkEventArgs.cs
- Assert.cs
- SerialPinChanges.cs
- ImageCreator.cs
- Parallel.cs
- DictionaryBase.cs
- ContainerParagraph.cs
- SQLCharsStorage.cs
- RelationshipWrapper.cs
- Translator.cs
- OdbcConnectionString.cs
- AdornerLayer.cs
- SqlDataSourceFilteringEventArgs.cs
- CompositeTypefaceMetrics.cs
- HostingMessageProperty.cs
- QueueProcessor.cs
- WebControlsSection.cs
- Helper.cs
- ThemeDirectoryCompiler.cs
- RegisteredScript.cs
- SchemaImporterExtensionsSection.cs
- Border.cs
- SQLBytesStorage.cs
- CriticalFinalizerObject.cs
- ImmutableObjectAttribute.cs
- GridSplitter.cs
- UIElement3D.cs
- StorageSetMapping.cs
- SoapParser.cs
- DataGridLength.cs
- Viewport3DAutomationPeer.cs
- TypeToStringValueConverter.cs
- SessionEndingCancelEventArgs.cs
- FixedPosition.cs
- XmlSchemaComplexContentRestriction.cs
- ServiceHostingEnvironment.cs
- GridViewUpdatedEventArgs.cs
- CharEnumerator.cs
- QuotedPrintableStream.cs
- URLString.cs
- ContextMenuStrip.cs
- NetCodeGroup.cs
- SqlCommand.cs
- SymmetricAlgorithm.cs
- SingleResultAttribute.cs
- TextPenaltyModule.cs
- FixedPage.cs
- ObjectDataSourceChooseTypePanel.cs
- fixedPageContentExtractor.cs
- FrameworkElementFactoryMarkupObject.cs
- SecurityDescriptor.cs
- EntityAdapter.cs
- NamespaceList.cs
- MSAAWinEventWrap.cs
- ContractsBCL.cs
- UnsafeNativeMethods.cs
- WebContext.cs
- WindowsListViewGroup.cs
- WebDisplayNameAttribute.cs
- TableFieldsEditor.cs
- BamlRecordHelper.cs
- ModelTreeManager.cs