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
- LoginName.cs
- PropertyDescriptorCollection.cs
- MethodExpression.cs
- LogWriteRestartAreaState.cs
- BasicAsyncResult.cs
- RelativeSource.cs
- HTMLTagNameToTypeMapper.cs
- BitmapEncoder.cs
- ThreadStaticAttribute.cs
- RegexFCD.cs
- SchemaCollectionPreprocessor.cs
- ReadContentAsBinaryHelper.cs
- XmlSchemaException.cs
- ValuePattern.cs
- CodeNamespace.cs
- GlobalProxySelection.cs
- NativeBuffer.cs
- AnchoredBlock.cs
- PauseStoryboard.cs
- UrlMappingsSection.cs
- IPHostEntry.cs
- ProbeDuplexCD1AsyncResult.cs
- MetadataLocation.cs
- SecurityCriticalDataForSet.cs
- FloaterBaseParagraph.cs
- StandardOleMarshalObject.cs
- SupportsEventValidationAttribute.cs
- ParallelRangeManager.cs
- PointCollectionValueSerializer.cs
- PolyQuadraticBezierSegment.cs
- GeometryModel3D.cs
- ComplexBindingPropertiesAttribute.cs
- DataGridViewColumn.cs
- Nodes.cs
- ConfigDefinitionUpdates.cs
- DataListItem.cs
- WindowsTitleBar.cs
- SocketCache.cs
- InheritanceAttribute.cs
- MobileListItemCollection.cs
- PersianCalendar.cs
- IndicCharClassifier.cs
- CorrelationResolver.cs
- FlowDocumentPage.cs
- XmlHierarchyData.cs
- TextAction.cs
- StackSpiller.Temps.cs
- CheckBox.cs
- CompilerScopeManager.cs
- TreeNodeEventArgs.cs
- XmlIgnoreAttribute.cs
- WebPartHeaderCloseVerb.cs
- FixUpCollection.cs
- RemoteArgument.cs
- EventlogProvider.cs
- XsltSettings.cs
- WorkflowEnvironment.cs
- WebPartManagerInternals.cs
- PageCatalogPart.cs
- Regex.cs
- CodeCompileUnit.cs
- SimpleType.cs
- StyleXamlTreeBuilder.cs
- OleDbSchemaGuid.cs
- DataServices.cs
- BooleanConverter.cs
- TabPage.cs
- MatrixConverter.cs
- UnhandledExceptionEventArgs.cs
- Constraint.cs
- OdbcUtils.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- ObjectManager.cs
- PersistenceProvider.cs
- CompositionTarget.cs
- QueryableFilterRepeater.cs
- GenericRootAutomationPeer.cs
- FormViewPagerRow.cs
- XPathQueryGenerator.cs
- CompModHelpers.cs
- ChannelServices.cs
- RegexBoyerMoore.cs
- TreeChangeInfo.cs
- FormatConvertedBitmap.cs
- VisualStyleRenderer.cs
- XmlBindingWorker.cs
- CheckableControlBaseAdapter.cs
- XmlSchemaSimpleContentRestriction.cs
- SecurityManager.cs
- Span.cs
- PermissionSetEnumerator.cs
- ProxyHwnd.cs
- SurrogateSelector.cs
- SqlDelegatedTransaction.cs
- Package.cs
- MachineSettingsSection.cs
- PluralizationServiceUtil.cs
- LabelLiteral.cs
- FileVersionInfo.cs
- StorageMappingItemLoader.cs