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
- CollectionView.cs
- SqlDependency.cs
- AuthenticatingEventArgs.cs
- ScrollProviderWrapper.cs
- AnnotationMap.cs
- SelectionProviderWrapper.cs
- HttpServerVarsCollection.cs
- COM2FontConverter.cs
- X509Certificate2.cs
- ImageAutomationPeer.cs
- CharEnumerator.cs
- CapabilitiesUse.cs
- DbModificationCommandTree.cs
- IDispatchConstantAttribute.cs
- URI.cs
- PerformanceCounterManager.cs
- NullableIntSumAggregationOperator.cs
- OracleInfoMessageEventArgs.cs
- TypeSystem.cs
- Subtree.cs
- WebBrowserDesigner.cs
- DateTimeAutomationPeer.cs
- ObjectDataSource.cs
- CryptoStream.cs
- FormattedText.cs
- ViewManagerAttribute.cs
- StylusPointProperties.cs
- SiteMapNodeItemEventArgs.cs
- LayoutManager.cs
- Attributes.cs
- ToolStripDesignerAvailabilityAttribute.cs
- MetabaseServerConfig.cs
- EditorAttribute.cs
- PropertyChangingEventArgs.cs
- MarshalByRefObject.cs
- CommandManager.cs
- QEncodedStream.cs
- AmbientProperties.cs
- TypeConstant.cs
- TraceSource.cs
- ConnectionsZone.cs
- EditorBrowsableAttribute.cs
- ChunkedMemoryStream.cs
- PersonalizationProvider.cs
- OdbcReferenceCollection.cs
- ChtmlCalendarAdapter.cs
- Enum.cs
- BitmapEffectInputConnector.cs
- ConsoleEntryPoint.cs
- PartBasedPackageProperties.cs
- MergePropertyDescriptor.cs
- GenericXmlSecurityToken.cs
- WebServiceErrorEvent.cs
- IOException.cs
- TableCell.cs
- DataGridCellAutomationPeer.cs
- QueryStringParameter.cs
- ComponentSerializationService.cs
- ConnectionsZone.cs
- RegexBoyerMoore.cs
- GridViewCancelEditEventArgs.cs
- PrivateFontCollection.cs
- PackWebRequestFactory.cs
- FreezableOperations.cs
- _emptywebproxy.cs
- DispatchWrapper.cs
- XmlSignatureManifest.cs
- HtmlTableRowCollection.cs
- GridViewRowPresenter.cs
- elementinformation.cs
- TextPatternIdentifiers.cs
- FlowDocumentView.cs
- login.cs
- CompilationSection.cs
- RtfFormatStack.cs
- CounterCreationData.cs
- TerminatorSinks.cs
- ProxyWebPart.cs
- TypeTypeConverter.cs
- ColorConvertedBitmapExtension.cs
- DescendentsWalkerBase.cs
- TypeUtil.cs
- ProvidePropertyAttribute.cs
- DescendantQuery.cs
- RegexNode.cs
- SerialErrors.cs
- DbProviderManifest.cs
- RightsManagementEncryptionTransform.cs
- EntityViewContainer.cs
- RightsManagementLicense.cs
- Connection.cs
- RowsCopiedEventArgs.cs
- BinaryUtilClasses.cs
- DocumentPageHost.cs
- SqlRowUpdatingEvent.cs
- WindowsContainer.cs
- RectangleGeometry.cs
- AssemblyLoader.cs
- SpanIndex.cs
- BitmapVisualManager.cs