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
- RtfControls.cs
- RandomDelaySendsAsyncResult.cs
- OrthographicCamera.cs
- RelatedView.cs
- DataTemplateSelector.cs
- XPathNode.cs
- DefaultWorkflowSchedulerService.cs
- DataGridTable.cs
- ContentIterators.cs
- Thread.cs
- TextUtf8RawTextWriter.cs
- UpDownBaseDesigner.cs
- RegexMatchCollection.cs
- LocationUpdates.cs
- ReadOnlyCollectionBase.cs
- FormViewRow.cs
- TickBar.cs
- CatalogZone.cs
- AvTraceFormat.cs
- BackgroundWorker.cs
- GradientBrush.cs
- CounterSetInstanceCounterDataSet.cs
- GridViewUpdateEventArgs.cs
- SHA384Cng.cs
- ViewBox.cs
- ReferenceConverter.cs
- SubpageParagraph.cs
- ToolboxComponentsCreatingEventArgs.cs
- Utils.cs
- UICuesEvent.cs
- TimeoutHelper.cs
- DoubleLink.cs
- UnmanagedMemoryStream.cs
- ChainedAsyncResult.cs
- DatatypeImplementation.cs
- regiisutil.cs
- WizardForm.cs
- pingexception.cs
- TypedTableBase.cs
- TableRow.cs
- DetailsViewUpdateEventArgs.cs
- RemoteAsymmetricSignatureFormatter.cs
- SrgsRule.cs
- PartitionerQueryOperator.cs
- SqlParameter.cs
- UserPreferenceChangingEventArgs.cs
- TypeListConverter.cs
- MetricEntry.cs
- LockRecoveryTask.cs
- ControlParameter.cs
- XmlDataSourceDesigner.cs
- TextEvent.cs
- SiteMapHierarchicalDataSourceView.cs
- DeclarativeCatalogPart.cs
- TabletDeviceInfo.cs
- StylusSystemGestureEventArgs.cs
- WpfKnownMember.cs
- PropertyGridEditorPart.cs
- CustomPopupPlacement.cs
- DataGridTablesFactory.cs
- HelpProvider.cs
- QuaternionConverter.cs
- FlowStep.cs
- CachedRequestParams.cs
- OleCmdHelper.cs
- RawStylusInput.cs
- ClusterSafeNativeMethods.cs
- MailFileEditor.cs
- RIPEMD160.cs
- RIPEMD160Managed.cs
- NamespaceTable.cs
- SystemInformation.cs
- XmlDataSource.cs
- BuiltInExpr.cs
- AdapterUtil.cs
- GetPageCompletedEventArgs.cs
- DetailsViewCommandEventArgs.cs
- CodeMethodInvokeExpression.cs
- Popup.cs
- PropertyEntry.cs
- AdornerHitTestResult.cs
- ThicknessKeyFrameCollection.cs
- MouseOverProperty.cs
- ListViewSortEventArgs.cs
- NetTcpSecurityElement.cs
- GroupedContextMenuStrip.cs
- DbProviderManifest.cs
- FontCollection.cs
- ReadWriteSpinLock.cs
- MemberExpression.cs
- XdrBuilder.cs
- SQLInt32.cs
- HttpProcessUtility.cs
- CompareValidator.cs
- StringComparer.cs
- DataContext.cs
- Cursors.cs
- RegexCapture.cs
- FontStretch.cs
- GeneralTransform3DTo2D.cs