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
- OdbcCommand.cs
- ClosureBinding.cs
- KeyToListMap.cs
- CodeCatchClauseCollection.cs
- ImageSource.cs
- FilterQuery.cs
- DashStyles.cs
- QualifiedId.cs
- Opcode.cs
- HandlerFactoryWrapper.cs
- MetadataException.cs
- MarkupObject.cs
- Point3DCollectionValueSerializer.cs
- GcHandle.cs
- NameValueConfigurationCollection.cs
- WebPartTransformerCollection.cs
- CacheEntry.cs
- ApplicationId.cs
- GroupAggregateExpr.cs
- Classification.cs
- PageThemeParser.cs
- EntityProxyFactory.cs
- Operator.cs
- SqlDeflator.cs
- IsolatedStorageFile.cs
- DataBoundControlHelper.cs
- DesignerVerbCollection.cs
- ObjectSecurity.cs
- SurrogateEncoder.cs
- IntPtr.cs
- HtmlWindowCollection.cs
- SBCSCodePageEncoding.cs
- FileRecordSequence.cs
- DelegateOutArgument.cs
- NullableFloatMinMaxAggregationOperator.cs
- XhtmlBasicCommandAdapter.cs
- SmiGettersStream.cs
- ListViewGroup.cs
- PerformanceCounter.cs
- Array.cs
- CodePropertyReferenceExpression.cs
- Point3DCollectionValueSerializer.cs
- StreamWriter.cs
- CardSpacePolicyElement.cs
- HashRepartitionStream.cs
- StickyNote.cs
- EndpointPerformanceCounters.cs
- GridSplitter.cs
- MethodExpr.cs
- AsymmetricSignatureDeformatter.cs
- XPathNavigatorKeyComparer.cs
- RequestTimeoutManager.cs
- UInt32.cs
- TextBox.cs
- ByteAnimation.cs
- HttpPostedFile.cs
- CodeValidator.cs
- AmbientLight.cs
- TypeExtension.cs
- IndexedEnumerable.cs
- RSAPKCS1KeyExchangeFormatter.cs
- UnauthorizedWebPart.cs
- TypeReference.cs
- UnsafeNativeMethods.cs
- ScriptServiceAttribute.cs
- BinaryMethodMessage.cs
- SafeArrayRankMismatchException.cs
- Panel.cs
- XmlSchemaException.cs
- Module.cs
- ListViewCancelEventArgs.cs
- InternalPermissions.cs
- XmlSchemaCollection.cs
- StylusPointPropertyInfoDefaults.cs
- TextViewSelectionProcessor.cs
- NameValueConfigurationElement.cs
- TypeSource.cs
- CodeMemberField.cs
- DefaultBindingPropertyAttribute.cs
- MD5.cs
- ItemChangedEventArgs.cs
- SqlInternalConnection.cs
- IRCollection.cs
- LayoutTable.cs
- OdbcReferenceCollection.cs
- LZCodec.cs
- UTF8Encoding.cs
- NavigationPropertyAccessor.cs
- Inline.cs
- Graph.cs
- DropAnimation.xaml.cs
- DbSourceParameterCollection.cs
- Cell.cs
- RuntimeHelpers.cs
- ReachSerializationUtils.cs
- StartFileNameEditor.cs
- Formatter.cs
- Permission.cs
- WaitHandleCannotBeOpenedException.cs
- DecoderNLS.cs