Code:
/ FX-1434 / FX-1434 / 1.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
- XPathNodeList.cs
- RectAnimationClockResource.cs
- ResourceReferenceKeyNotFoundException.cs
- BitmapCacheBrush.cs
- EditorPartCollection.cs
- PermissionToken.cs
- IdentityNotMappedException.cs
- EventDescriptor.cs
- CrossAppDomainChannel.cs
- PenLineJoinValidation.cs
- SiteMapPathDesigner.cs
- SharedDp.cs
- PropertyTab.cs
- DataGridColumn.cs
- WebProxyScriptElement.cs
- OleDbErrorCollection.cs
- MemberDescriptor.cs
- CollectionViewProxy.cs
- Camera.cs
- DataTableMappingCollection.cs
- CompiledAction.cs
- RegexStringValidatorAttribute.cs
- DockPattern.cs
- Closure.cs
- ToolboxItemCollection.cs
- PrincipalPermission.cs
- X509AudioLogo.cs
- Literal.cs
- GeometryModel3D.cs
- AuthenticationModuleElementCollection.cs
- CacheSection.cs
- MembershipSection.cs
- StorageModelBuildProvider.cs
- DateTimeOffsetConverter.cs
- ToolStripContainer.cs
- ProfileManager.cs
- SqlCacheDependencySection.cs
- DelegatingTypeDescriptionProvider.cs
- ScopelessEnumAttribute.cs
- DataSourceSelectArguments.cs
- WebSysDefaultValueAttribute.cs
- X509UI.cs
- ContentTextAutomationPeer.cs
- LinqDataSourceSelectEventArgs.cs
- UIAgentAsyncParams.cs
- XsdDuration.cs
- SqlLiftIndependentRowExpressions.cs
- CodeGenerator.cs
- EntityContainerAssociationSetEnd.cs
- SafeHandle.cs
- MenuCommands.cs
- ProjectionCamera.cs
- HighContrastHelper.cs
- ThemeDictionaryExtension.cs
- Privilege.cs
- NamespaceQuery.cs
- DesignerVerbCollection.cs
- WebExceptionStatus.cs
- SqlMethodAttribute.cs
- FormatException.cs
- KeyValuePairs.cs
- NetworkStream.cs
- SqlConnectionFactory.cs
- ExtendedPropertyDescriptor.cs
- TreeNodeStyleCollection.cs
- DbLambda.cs
- PluralizationServiceUtil.cs
- ElementUtil.cs
- GridViewEditEventArgs.cs
- ReturnValue.cs
- PromptEventArgs.cs
- XAMLParseException.cs
- RequestTimeoutManager.cs
- panel.cs
- CodeTypeDeclarationCollection.cs
- Viewport2DVisual3D.cs
- SafeReversePInvokeHandle.cs
- MemberHolder.cs
- CodeMemberProperty.cs
- Action.cs
- ProfileEventArgs.cs
- ListControl.cs
- OdbcConnectionFactory.cs
- SessionIDManager.cs
- Identity.cs
- ComponentConverter.cs
- SourceCollection.cs
- PtsContext.cs
- PenLineJoinValidation.cs
- processwaithandle.cs
- ProtectedConfiguration.cs
- GeometryHitTestParameters.cs
- QuotedPairReader.cs
- GridViewPageEventArgs.cs
- LocalBuilder.cs
- HttpRequest.cs
- RectangleGeometry.cs
- BindingMemberInfo.cs
- Vector3D.cs
- PageCodeDomTreeGenerator.cs