Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaParticle.cs / 1305376 / 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.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ValidatorCompatibilityHelper.cs
- XamlReader.cs
- PersistenceProviderBehavior.cs
- ValidatingReaderNodeData.cs
- EntityDesignerDataSourceView.cs
- ImpersonateTokenRef.cs
- XmlSchemaType.cs
- CodeTypeOfExpression.cs
- Variable.cs
- PagedDataSource.cs
- ListViewTableRow.cs
- ExeConfigurationFileMap.cs
- QueryInterceptorAttribute.cs
- DeviceOverridableAttribute.cs
- CookielessHelper.cs
- Constants.cs
- UrlPropertyAttribute.cs
- TypeBuilderInstantiation.cs
- WindowsTab.cs
- KeysConverter.cs
- DetailsViewDeleteEventArgs.cs
- SqlMethodTransformer.cs
- ExtenderProviderService.cs
- ScrollBarRenderer.cs
- RtfToXamlLexer.cs
- XmlNamespaceMappingCollection.cs
- MediaTimeline.cs
- DateTimeEditor.cs
- EditingMode.cs
- WebBrowser.cs
- Material.cs
- TableRow.cs
- CompilerCollection.cs
- Int16.cs
- Avt.cs
- CheckoutException.cs
- Subtree.cs
- Size3D.cs
- Timer.cs
- Listbox.cs
- UnSafeCharBuffer.cs
- COAUTHIDENTITY.cs
- ChannelServices.cs
- CodeIdentifiers.cs
- ConfigXmlElement.cs
- HashMembershipCondition.cs
- PasswordTextNavigator.cs
- SmiEventSink_DeferedProcessing.cs
- HttpStreamXmlDictionaryReader.cs
- UserPreferenceChangingEventArgs.cs
- XmlUtil.cs
- ProxyAttribute.cs
- DataTemplateKey.cs
- EntityViewGenerationAttribute.cs
- CodeRemoveEventStatement.cs
- DefaultTextStoreTextComposition.cs
- DictionaryContent.cs
- XmlSchema.cs
- XPathDocumentIterator.cs
- EnumUnknown.cs
- _CookieModule.cs
- Configuration.cs
- Publisher.cs
- DataTableExtensions.cs
- DataGridViewAdvancedBorderStyle.cs
- DataGridViewCellCancelEventArgs.cs
- AspCompat.cs
- FlatButtonAppearance.cs
- CompositionAdorner.cs
- XhtmlBasicLiteralTextAdapter.cs
- WindowsToolbar.cs
- StructuredType.cs
- MemoryPressure.cs
- Int64Converter.cs
- InvokeHandlers.cs
- TripleDES.cs
- RotateTransform3D.cs
- NodeInfo.cs
- XmlDigitalSignatureProcessor.cs
- XmlValueConverter.cs
- TextEditorSelection.cs
- SubclassTypeValidatorAttribute.cs
- XMLDiffLoader.cs
- XmlAttributeAttribute.cs
- Freezable.cs
- MonitoringDescriptionAttribute.cs
- GetPageNumberCompletedEventArgs.cs
- QilInvokeEarlyBound.cs
- NodeFunctions.cs
- UpdatePanel.cs
- RSAOAEPKeyExchangeDeformatter.cs
- SettingsPropertyCollection.cs
- HasCopySemanticsAttribute.cs
- LogEntryDeserializer.cs
- ReverseInheritProperty.cs
- ADConnectionHelper.cs
- UnsafeNetInfoNativeMethods.cs
- ArraySegment.cs
- SqlProvider.cs
- FactoryRecord.cs