Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- AnonymousIdentificationSection.cs
- WebControlToolBoxItem.cs
- ADMembershipProvider.cs
- SubordinateTransaction.cs
- DbDataReader.cs
- PackWebResponse.cs
- XsltConvert.cs
- Parser.cs
- EditorPart.cs
- EventListener.cs
- QueryLifecycle.cs
- PostBackTrigger.cs
- KeyedCollection.cs
- TypedRowHandler.cs
- LoginViewDesigner.cs
- ManifestResourceInfo.cs
- SelectedPathEditor.cs
- SolidColorBrush.cs
- CollectionExtensions.cs
- SourceFileInfo.cs
- ArgumentException.cs
- NativeMethods.cs
- StreamGeometry.cs
- AesManaged.cs
- InputDevice.cs
- _Events.cs
- LoadRetryAsyncResult.cs
- EntityTypeEmitter.cs
- FormViewInsertedEventArgs.cs
- ReadOnlyMetadataCollection.cs
- Int16AnimationUsingKeyFrames.cs
- TableRowCollection.cs
- AuthenticatingEventArgs.cs
- EntityTemplateUserControl.cs
- CompositeClientFormatter.cs
- HideDisabledControlAdapter.cs
- WSHttpBinding.cs
- formatter.cs
- EndpointPerformanceCounters.cs
- ResourceContainer.cs
- Stroke2.cs
- ValidateNames.cs
- SlotInfo.cs
- ICollection.cs
- SqlComparer.cs
- GeometryDrawing.cs
- PassportIdentity.cs
- MsmqHostedTransportManager.cs
- PointAnimationClockResource.cs
- TdsParserStaticMethods.cs
- UnknownBitmapEncoder.cs
- NavigationWindowAutomationPeer.cs
- NativeMethodsCLR.cs
- Accessible.cs
- HideDisabledControlAdapter.cs
- ProviderMetadata.cs
- NTAccount.cs
- VisualCollection.cs
- ConfigurationSection.cs
- CollectionContainer.cs
- SqlCacheDependency.cs
- ProfilePropertySettingsCollection.cs
- CodeRegionDirective.cs
- Compress.cs
- BinaryNegotiation.cs
- RTLAwareMessageBox.cs
- AliasGenerator.cs
- DependencyPropertyKey.cs
- DataSourceGeneratorException.cs
- iisPickupDirectory.cs
- Drawing.cs
- HttpApplicationFactory.cs
- ColumnCollection.cs
- SpellerHighlightLayer.cs
- RangeValidator.cs
- XmlSchemaSimpleTypeRestriction.cs
- CqlWriter.cs
- DecimalConstantAttribute.cs
- WebPartEditorApplyVerb.cs
- CompilationLock.cs
- SqlClientWrapperSmiStreamChars.cs
- FragmentNavigationEventArgs.cs
- TemplateField.cs
- ModelChangedEventArgsImpl.cs
- WebPartsPersonalization.cs
- SocketAddress.cs
- Win32NamedPipes.cs
- SharedPersonalizationStateInfo.cs
- TextStore.cs
- SiteMapSection.cs
- MarkupExtensionSerializer.cs
- FrameworkReadOnlyPropertyMetadata.cs
- Model3D.cs
- DrawingCollection.cs
- BrowserCapabilitiesFactoryBase.cs
- BuildManagerHost.cs
- BamlCollectionHolder.cs
- BulletedList.cs
- WriteLine.cs
- Point.cs