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
- LinkDescriptor.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- StateDesigner.TransitionInfo.cs
- HelloOperationAsyncResult.cs
- OleDbStruct.cs
- ObjectSpanRewriter.cs
- ConfigXmlComment.cs
- webclient.cs
- XamlVector3DCollectionSerializer.cs
- ProcessModuleCollection.cs
- ControlBuilderAttribute.cs
- XPathAxisIterator.cs
- CurrentChangingEventArgs.cs
- ContentElement.cs
- CodeAccessPermission.cs
- JournalEntry.cs
- AsyncMethodInvoker.cs
- NamedElement.cs
- ParameterElementCollection.cs
- GeneralTransform2DTo3D.cs
- XPathAncestorIterator.cs
- MemberDomainMap.cs
- DataControlCommands.cs
- DescendantOverDescendantQuery.cs
- Point4DConverter.cs
- MemoryStream.cs
- TextServicesProperty.cs
- ValueUnavailableException.cs
- ProxyAttribute.cs
- OdbcException.cs
- Rfc2898DeriveBytes.cs
- LogicalExpr.cs
- HttpServerChannel.cs
- SystemPens.cs
- HttpCookiesSection.cs
- XhtmlBasicImageAdapter.cs
- SqlReferenceCollection.cs
- ViewBox.cs
- DataColumnPropertyDescriptor.cs
- OleDbDataReader.cs
- MailWriter.cs
- AuthorizationRule.cs
- XsdCachingReader.cs
- WebPartZoneCollection.cs
- BamlTreeNode.cs
- Clock.cs
- QilLiteral.cs
- SessionPageStatePersister.cs
- QilInvoke.cs
- Assign.cs
- RowCache.cs
- IRCollection.cs
- MergeLocalizationDirectives.cs
- ActivityCompletionCallbackWrapper.cs
- DependencyPropertyKind.cs
- DecimalConstantAttribute.cs
- BitmapSourceSafeMILHandle.cs
- MatrixCamera.cs
- CompressedStack.cs
- RoutedUICommand.cs
- SqlConnectionStringBuilder.cs
- HostedHttpContext.cs
- BamlResourceContent.cs
- DbMetaDataColumnNames.cs
- SharedUtils.cs
- RoleServiceManager.cs
- SqlMethodCallConverter.cs
- ThrowHelper.cs
- ServiceThrottlingBehavior.cs
- EventArgs.cs
- ArrayTypeMismatchException.cs
- ShaderEffect.cs
- SqlNodeTypeOperators.cs
- SynchronizationHandlesCodeDomSerializer.cs
- TypeDescriptionProvider.cs
- SchemaTypeEmitter.cs
- GridViewUpdatedEventArgs.cs
- VirtualizingPanel.cs
- DependencyObjectType.cs
- IHttpResponseInternal.cs
- ProxyGenerator.cs
- WindowsListViewItem.cs
- FileIOPermission.cs
- SystemException.cs
- GridLength.cs
- OdbcEnvironment.cs
- ListBoxItemAutomationPeer.cs
- SecurityTokenProvider.cs
- GlyphManager.cs
- SafePEFileHandle.cs
- AuthenticationConfig.cs
- DragEvent.cs
- Sql8ConformanceChecker.cs
- UpdateTranslator.cs
- FutureFactory.cs
- ComboBoxAutomationPeer.cs
- UriSection.cs
- TraceXPathNavigator.cs
- DataSysAttribute.cs
- Select.cs