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
- COM2Enum.cs
- ArraySegment.cs
- PagesSection.cs
- CompiledQueryCacheKey.cs
- SelectionProcessor.cs
- SortExpressionBuilder.cs
- MDIWindowDialog.cs
- XsltSettings.cs
- DoubleAnimationBase.cs
- WinFormsUtils.cs
- ZoomPercentageConverter.cs
- AnnotationResourceCollection.cs
- ObjectListCommandCollection.cs
- RenderData.cs
- ChtmlPageAdapter.cs
- SatelliteContractVersionAttribute.cs
- CanonicalFormWriter.cs
- CancelEventArgs.cs
- TextDecorationCollection.cs
- InfoCardAsymmetricCrypto.cs
- ZipIOExtraFieldElement.cs
- CallbackCorrelationInitializer.cs
- ListViewGroupConverter.cs
- _SSPISessionCache.cs
- ToolStripStatusLabel.cs
- TransactionCache.cs
- SelectManyQueryOperator.cs
- XmlCharacterData.cs
- CodeConstructor.cs
- RemotingSurrogateSelector.cs
- LoadWorkflowAsyncResult.cs
- AsymmetricSignatureFormatter.cs
- CFStream.cs
- DataGridItemCollection.cs
- ExplicitDiscriminatorMap.cs
- EncryptedKey.cs
- CodeAttachEventStatement.cs
- TargetPerspective.cs
- CodeIterationStatement.cs
- RegexCode.cs
- XmlILStorageConverter.cs
- BitmapEffectvisualstate.cs
- RijndaelManagedTransform.cs
- CredentialCache.cs
- FontNamesConverter.cs
- dbenumerator.cs
- AccessDataSourceView.cs
- DebugView.cs
- RegexRunner.cs
- AuthorizationRule.cs
- RIPEMD160Managed.cs
- ModulesEntry.cs
- SiteMapHierarchicalDataSourceView.cs
- WebEventTraceProvider.cs
- IsolationInterop.cs
- JavaScriptObjectDeserializer.cs
- UnicastIPAddressInformationCollection.cs
- SqlProfileProvider.cs
- ColorPalette.cs
- DataSourceHelper.cs
- ContractHandle.cs
- CFStream.cs
- Stack.cs
- _SecureChannel.cs
- GroupBox.cs
- StringSorter.cs
- RemotingConfigParser.cs
- AuthenticationModuleElementCollection.cs
- RegexCapture.cs
- TimeoutHelper.cs
- TagPrefixAttribute.cs
- SeverityFilter.cs
- DataObjectMethodAttribute.cs
- SerializerWriterEventHandlers.cs
- ItemCollection.cs
- DbDeleteCommandTree.cs
- SemaphoreFullException.cs
- StreamUpgradeBindingElement.cs
- TakeQueryOptionExpression.cs
- AnimationStorage.cs
- Baml2006SchemaContext.cs
- XmlBaseReader.cs
- ChannelFactory.cs
- StrongNamePublicKeyBlob.cs
- ReferentialConstraint.cs
- SecurityTokenRequirement.cs
- MaskedTextBoxTextEditorDropDown.cs
- PropertyTabAttribute.cs
- SimpleFileLog.cs
- ReachSerializationUtils.cs
- Mouse.cs
- QueryActivatableWorkflowsCommand.cs
- ResourceAttributes.cs
- DocumentPageViewAutomationPeer.cs
- GifBitmapDecoder.cs
- CodeBinaryOperatorExpression.cs
- ResXBuildProvider.cs
- LoadedOrUnloadedOperation.cs
- XmlNamespaceMapping.cs
- ComContractElementCollection.cs