Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaParticle.cs / 2 / 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
- Assert.cs
- TraceUtility.cs
- CookieProtection.cs
- SqlDataSourceEnumerator.cs
- SelectingProviderEventArgs.cs
- BaseAppDomainProtocolHandler.cs
- DataColumnPropertyDescriptor.cs
- cache.cs
- ProtocolReflector.cs
- MessageTransmitTraceRecord.cs
- TextHidden.cs
- XmlTypeAttribute.cs
- FullTextState.cs
- WebPartDisplayModeCollection.cs
- _HeaderInfoTable.cs
- SingleConverter.cs
- SessionViewState.cs
- ItemMap.cs
- FontSizeConverter.cs
- ParagraphVisual.cs
- Substitution.cs
- CalendarAutoFormatDialog.cs
- ClockController.cs
- EDesignUtil.cs
- TableMethodGenerator.cs
- EmptyControlCollection.cs
- AuthStoreRoleProvider.cs
- CacheSection.cs
- GAC.cs
- FlowDocumentFormatter.cs
- StorageRoot.cs
- ElementNotEnabledException.cs
- PageWrapper.cs
- CodeSnippetTypeMember.cs
- DetailsViewInsertedEventArgs.cs
- ObjectToken.cs
- Decorator.cs
- DateTimeStorage.cs
- PropagatorResult.cs
- GridViewDesigner.cs
- ToolStripGrip.cs
- CqlLexer.cs
- OracleBinary.cs
- Selector.cs
- LogLogRecord.cs
- basenumberconverter.cs
- XPathScanner.cs
- XmlMapping.cs
- SimpleApplicationHost.cs
- Compilation.cs
- ClientApiGenerator.cs
- StandardCommands.cs
- SQLInt64Storage.cs
- DefaultSection.cs
- XamlTreeBuilderBamlRecordWriter.cs
- Message.cs
- BehaviorEditorPart.cs
- XmlSchemaParticle.cs
- TabControlCancelEvent.cs
- translator.cs
- Evidence.cs
- Win32Exception.cs
- HostProtectionException.cs
- HtmlInputText.cs
- TableLayoutSettingsTypeConverter.cs
- RegexCompilationInfo.cs
- PathFigure.cs
- StringFormat.cs
- Annotation.cs
- WebPartsPersonalizationAuthorization.cs
- ActivityInstanceMap.cs
- DecimalConverter.cs
- CompileLiteralTextParser.cs
- NamespaceMapping.cs
- NegotiateStream.cs
- TextPointer.cs
- EditorPartChrome.cs
- XPathExpr.cs
- InteropBitmapSource.cs
- XamlDebuggerXmlReader.cs
- Tag.cs
- ToolStripDropTargetManager.cs
- ClrProviderManifest.cs
- ListViewDeletedEventArgs.cs
- PagerSettings.cs
- RtfToXamlLexer.cs
- VisualStyleElement.cs
- MenuItem.cs
- TypeCollectionDesigner.xaml.cs
- RootBrowserWindow.cs
- prompt.cs
- ChangeInterceptorAttribute.cs
- SizeIndependentAnimationStorage.cs
- PerformanceCountersElement.cs
- IdnMapping.cs
- TextRangeAdaptor.cs
- ResourceAttributes.cs
- Vars.cs
- MD5.cs
- ButtonBaseAdapter.cs