Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaParticle.cs / 2 / 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
- SharedPerformanceCounter.cs
- SHA256Managed.cs
- ProcessStartInfo.cs
- CommonXSendMessage.cs
- EntityObject.cs
- HttpContext.cs
- DataGridViewLinkColumn.cs
- WebControlsSection.cs
- DataControlFieldCell.cs
- ChangePasswordDesigner.cs
- InternalPermissions.cs
- MachineKeyConverter.cs
- CustomErrorsSectionWrapper.cs
- EventLogQuery.cs
- CodeCompiler.cs
- OracleBinary.cs
- RegularExpressionValidator.cs
- XmlUtilWriter.cs
- StrokeCollection.cs
- WindowsListViewScroll.cs
- ForwardPositionQuery.cs
- ParameterCollection.cs
- MetafileHeaderWmf.cs
- ProvideValueServiceProvider.cs
- TemplateNameScope.cs
- SeverityFilter.cs
- WindowsListViewItem.cs
- DataViewManager.cs
- AnchoredBlock.cs
- AutoResetEvent.cs
- InputElement.cs
- DataKeyCollection.cs
- Accessible.cs
- DbMetaDataCollectionNames.cs
- TypedMessageConverter.cs
- ErrorRuntimeConfig.cs
- DataMisalignedException.cs
- XPathAxisIterator.cs
- DataViewSettingCollection.cs
- NumberSubstitution.cs
- SortDescriptionCollection.cs
- TemplateColumn.cs
- SymbolEqualComparer.cs
- ErrorItem.cs
- x509store.cs
- UnsafePeerToPeerMethods.cs
- RoutedEventHandlerInfo.cs
- StyleBamlTreeBuilder.cs
- ServerIdentity.cs
- CompositionAdorner.cs
- PackWebResponse.cs
- OperationBehaviorAttribute.cs
- TypedDatasetGenerator.cs
- CommentEmitter.cs
- Property.cs
- MemoryStream.cs
- Composition.cs
- ClosableStream.cs
- Propagator.ExtentPlaceholderCreator.cs
- RealProxy.cs
- SqlCrossApplyToCrossJoin.cs
- DataGridViewCellConverter.cs
- SqlServices.cs
- SmtpTransport.cs
- StructuredTypeInfo.cs
- StyleSheetComponentEditor.cs
- ExpressionLink.cs
- PerformanceCounterCategory.cs
- Opcode.cs
- WebPartConnectionsCloseVerb.cs
- Registry.cs
- HttpGetServerProtocol.cs
- Hex.cs
- InputBinding.cs
- BindingContext.cs
- BamlWriter.cs
- FixedSOMPageConstructor.cs
- XmlBinaryReader.cs
- LongCountAggregationOperator.cs
- PersistenceMetadataNamespace.cs
- InProcStateClientManager.cs
- EnumMember.cs
- HybridDictionary.cs
- PageCatalogPart.cs
- LambdaCompiler.ControlFlow.cs
- StaticContext.cs
- DataRowView.cs
- panel.cs
- HtmlTableRowCollection.cs
- InteropBitmapSource.cs
- ConstraintConverter.cs
- DataGridViewCellCancelEventArgs.cs
- PointCollection.cs
- MultiAsyncResult.cs
- MobileControlsSectionHandler.cs
- XhtmlConformanceSection.cs
- BookmarkScopeManager.cs
- EventDescriptor.cs
- SqlDataSourceCache.cs
- RecipientIdentity.cs