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
- SafeThreadHandle.cs
- KnownIds.cs
- NumericUpDownAcceleration.cs
- CatalogPartCollection.cs
- ObjectDataSourceMethodEventArgs.cs
- RestHandler.cs
- StreamUpdate.cs
- SetterBaseCollection.cs
- Invariant.cs
- DataListItem.cs
- CodeSubDirectory.cs
- XmlCharType.cs
- WrapPanel.cs
- BuildResult.cs
- IntSecurity.cs
- CollectionViewGroup.cs
- SoapAttributeAttribute.cs
- ScriptingRoleServiceSection.cs
- SqlConnectionStringBuilder.cs
- CompiledXpathExpr.cs
- SqlBooleanMismatchVisitor.cs
- MapPathBasedVirtualPathProvider.cs
- TraceSection.cs
- UserUseLicenseDictionaryLoader.cs
- LineUtil.cs
- BooleanExpr.cs
- ReadOnlyNameValueCollection.cs
- CqlLexer.cs
- IncrementalReadDecoders.cs
- ConfigXmlComment.cs
- LinqDataSourceDisposeEventArgs.cs
- Tracer.cs
- PasswordPropertyTextAttribute.cs
- MethodCallExpression.cs
- Transactions.cs
- DbModificationClause.cs
- WebPartsPersonalizationAuthorization.cs
- WindowsComboBox.cs
- BitStack.cs
- Reference.cs
- DataBindingCollection.cs
- DbExpressionRules.cs
- MemoryPressure.cs
- HtmlMobileTextWriter.cs
- TemplateControl.cs
- SQlBooleanStorage.cs
- GAC.cs
- HealthMonitoringSectionHelper.cs
- CacheForPrimitiveTypes.cs
- sqlstateclientmanager.cs
- DataGrid.cs
- KeyedCollection.cs
- CustomAssemblyResolver.cs
- DbModificationClause.cs
- QilScopedVisitor.cs
- MonitoringDescriptionAttribute.cs
- ApplicationSecurityInfo.cs
- Action.cs
- StaticTextPointer.cs
- XPathPatternBuilder.cs
- SmtpNetworkElement.cs
- XmlAttributeCollection.cs
- DataProtection.cs
- ClassicBorderDecorator.cs
- RC2CryptoServiceProvider.cs
- CalendarTable.cs
- BinaryCommonClasses.cs
- NegotiateStream.cs
- XPathExpr.cs
- Splitter.cs
- JsonStringDataContract.cs
- ProtocolElement.cs
- DesignerView.Commands.cs
- PeerFlooder.cs
- OutputCache.cs
- ThicknessAnimationBase.cs
- AffineTransform3D.cs
- Currency.cs
- CfgSemanticTag.cs
- TimeZone.cs
- RedistVersionInfo.cs
- File.cs
- MenuEventArgs.cs
- DataGridViewCellStyle.cs
- URIFormatException.cs
- SqlTypesSchemaImporter.cs
- Control.cs
- PageBuildProvider.cs
- VersionPair.cs
- ColumnMapVisitor.cs
- RSAPKCS1KeyExchangeFormatter.cs
- XmlMtomWriter.cs
- Reference.cs
- SchemaReference.cs
- DeviceSpecificChoice.cs
- PtsPage.cs
- ActionMessageFilterTable.cs
- SubMenuStyleCollectionEditor.cs
- DesignColumn.cs
- DebugInfoExpression.cs