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
- KeyValueConfigurationCollection.cs
- GregorianCalendarHelper.cs
- InvokeMethodDesigner.xaml.cs
- BitConverter.cs
- OleDbReferenceCollection.cs
- ShaderEffect.cs
- SettingsAttributeDictionary.cs
- EffectiveValueEntry.cs
- TabPage.cs
- AccessText.cs
- LinqMaximalSubtreeNominator.cs
- BinaryFormatter.cs
- SqlDataSourceQueryConverter.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ToolBarButtonClickEvent.cs
- GridViewRowPresenterBase.cs
- XmlSchemaDocumentation.cs
- Menu.cs
- Hash.cs
- AudioLevelUpdatedEventArgs.cs
- PolyLineSegment.cs
- DataListItemEventArgs.cs
- InplaceBitmapMetadataWriter.cs
- EpmAttributeNameBuilder.cs
- SerializerDescriptor.cs
- BooleanKeyFrameCollection.cs
- ThreadInterruptedException.cs
- WorkerProcess.cs
- NativeCppClassAttribute.cs
- SimpleTextLine.cs
- AppDomainUnloadedException.cs
- DataSourceIDConverter.cs
- DecimalStorage.cs
- Collection.cs
- PenCursorManager.cs
- ControlCollection.cs
- DrawingContext.cs
- ValueTypeFixupInfo.cs
- Transform3D.cs
- FontCacheLogic.cs
- ParallelRangeManager.cs
- FunctionMappingTranslator.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- CompensatableSequenceActivity.cs
- DataGridViewAccessibleObject.cs
- XmlSignatureProperties.cs
- METAHEADER.cs
- PingReply.cs
- KeyedCollection.cs
- Subtree.cs
- HttpCookieCollection.cs
- _ProxyChain.cs
- SafeSerializationManager.cs
- AssemblyName.cs
- AdCreatedEventArgs.cs
- sqlmetadatafactory.cs
- TimeZone.cs
- _NetworkingPerfCounters.cs
- FormViewInsertEventArgs.cs
- BooleanProjectedSlot.cs
- ExpressionList.cs
- InvalidCastException.cs
- NetStream.cs
- HierarchicalDataSourceConverter.cs
- LongValidatorAttribute.cs
- Metadata.cs
- XmlWellformedWriter.cs
- BitmapPalette.cs
- XmlDataLoader.cs
- NamespaceDecl.cs
- EntityDataSourceContextCreatingEventArgs.cs
- TableParagraph.cs
- NetDataContractSerializer.cs
- StretchValidation.cs
- ObjectAssociationEndMapping.cs
- HttpHandlerAction.cs
- RelationshipFixer.cs
- MergePropertyDescriptor.cs
- TextBlockAutomationPeer.cs
- RequiredArgumentAttribute.cs
- Utils.cs
- NativeMethods.cs
- AssociationEndMember.cs
- SecurityRuntime.cs
- GeneralTransform3DTo2D.cs
- DrawListViewSubItemEventArgs.cs
- IFlowDocumentViewer.cs
- DefaultValueAttribute.cs
- XmlEventCache.cs
- MemberDescriptor.cs
- IApplicationTrustManager.cs
- BufferBuilder.cs
- JsonClassDataContract.cs
- ElementsClipboardData.cs
- CryptoStream.cs
- WindowsButton.cs
- StreamingContext.cs
- SymDocumentType.cs
- CodeBlockBuilder.cs
- ErrorFormatterPage.cs