Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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;
///
///
/// [To be supplied.]
///
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.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Schema {
using System.Xml.Serialization;
///
///
/// [To be supplied.]
///
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataBindEngine.cs
- XmlnsDictionary.cs
- WebPartRestoreVerb.cs
- ToolStripRendererSwitcher.cs
- QilGeneratorEnv.cs
- RenderDataDrawingContext.cs
- Control.cs
- ComboBox.cs
- HttpWriter.cs
- ActivityExecutorSurrogate.cs
- Stopwatch.cs
- Operators.cs
- TrackBar.cs
- isolationinterop.cs
- CharKeyFrameCollection.cs
- CompiledRegexRunner.cs
- TypeExtensionSerializer.cs
- SpecialFolderEnumConverter.cs
- XmlIgnoreAttribute.cs
- NullRuntimeConfig.cs
- IisTraceListener.cs
- Convert.cs
- GridViewUpdateEventArgs.cs
- WindowsFormsHelpers.cs
- ActiveXSite.cs
- Crc32.cs
- SwitchLevelAttribute.cs
- ObjectSet.cs
- RepeatInfo.cs
- HttpCachePolicy.cs
- BitmapEffectOutputConnector.cs
- IdleTimeoutMonitor.cs
- ElapsedEventArgs.cs
- DataSourceConverter.cs
- HtmlControlAdapter.cs
- OdbcException.cs
- UnsafeNativeMethods.cs
- ElapsedEventArgs.cs
- ListBoxAutomationPeer.cs
- LinearQuaternionKeyFrame.cs
- SchemaEntity.cs
- BamlLocalizer.cs
- FieldTemplateFactory.cs
- LicFileLicenseProvider.cs
- NativeWrapper.cs
- XsltLoader.cs
- QilInvoke.cs
- AsmxEndpointPickerExtension.cs
- DbConnectionPoolIdentity.cs
- DataGridPageChangedEventArgs.cs
- DataSourceProvider.cs
- IndexedGlyphRun.cs
- UidPropertyAttribute.cs
- XmlAnyElementAttribute.cs
- SchemaExporter.cs
- CategoryNameCollection.cs
- WindowsToolbarItemAsMenuItem.cs
- MetadataArtifactLoaderResource.cs
- ForEachDesigner.xaml.cs
- DataBinding.cs
- BatchParser.cs
- SynchronizedInputAdaptor.cs
- Int64KeyFrameCollection.cs
- SimpleExpression.cs
- SystemPens.cs
- ReadOnlyObservableCollection.cs
- DbConvert.cs
- CalendarDateRange.cs
- MimeTypePropertyAttribute.cs
- OdbcParameterCollection.cs
- ArrayConverter.cs
- EventListenerClientSide.cs
- ApplicationDirectory.cs
- EventMemberCodeDomSerializer.cs
- CalendarDay.cs
- SqlCommand.cs
- ConsoleTraceListener.cs
- StylusPointPropertyUnit.cs
- TextHintingModeValidation.cs
- OdbcErrorCollection.cs
- DropSourceBehavior.cs
- AutomationPattern.cs
- CompareValidator.cs
- HijriCalendar.cs
- ScrollContentPresenter.cs
- PasswordRecovery.cs
- ButtonBaseAdapter.cs
- XmlQueryTypeFactory.cs
- MulticastNotSupportedException.cs
- Internal.cs
- ButtonColumn.cs
- ZipIOCentralDirectoryBlock.cs
- EasingKeyFrames.cs
- KeyValuePair.cs
- VersionPair.cs
- HttpConfigurationSystem.cs
- ServiceEndpointCollection.cs
- PersonalizationProviderCollection.cs
- SecurityTokenValidationException.cs
- ClientBuildManagerCallback.cs