XmlSchemaFacet.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaFacet.cs / 1305376 / XmlSchemaFacet.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// [....] 
//-----------------------------------------------------------------------------
 
namespace System.Xml.Schema { 

    using System.ComponentModel; 
    using System.Xml.Serialization;

    internal enum FacetType {
        None, 
        Length,
        MinLength, 
        MaxLength, 
        Pattern,
        Whitespace, 
        Enumeration,
        MinExclusive,
        MinInclusive,
        MaxExclusive, 
        MaxInclusive,
        TotalDigits, 
        FractionDigits, 
    }
 
    /// 
    public abstract class XmlSchemaFacet : XmlSchemaAnnotated {
        string value;
        bool isFixed; 
        FacetType facetType;
 
        ///  
        [XmlAttribute("value")]
        public string Value { 
            get { return this.value; }
            set { this.value = value; }
        }
 
        /// 
        [XmlAttribute("fixed"), DefaultValue(false)] 
        public virtual bool IsFixed { 
            get { return isFixed; }
            set { 
                if (!(this is XmlSchemaEnumerationFacet) && !(this is XmlSchemaPatternFacet)) {
                    isFixed = value;
                }
            } 
        }
 
        internal FacetType FacetType { 
            get {
                return facetType; 
            }
            set {
                facetType = value;
            } 
        }
    } 
 
    /// 
    public abstract class XmlSchemaNumericFacet : XmlSchemaFacet { } 

    /// 
    public class XmlSchemaLengthFacet : XmlSchemaNumericFacet {
        public XmlSchemaLengthFacet() { 
            FacetType = FacetType.Length;
        } 
    } 

    ///  
    public class XmlSchemaMinLengthFacet : XmlSchemaNumericFacet {
        public XmlSchemaMinLengthFacet() {
            FacetType = FacetType.MinLength;
        } 
    }
 
    ///  
    public class XmlSchemaMaxLengthFacet : XmlSchemaNumericFacet {
        public XmlSchemaMaxLengthFacet() { 
            FacetType = FacetType.MaxLength;
        }
    }
 
    /// 
    public class XmlSchemaPatternFacet : XmlSchemaFacet { 
        public XmlSchemaPatternFacet() { 
            FacetType = FacetType.Pattern;
        } 
    }

    /// 
    public class XmlSchemaEnumerationFacet : XmlSchemaFacet { 
        public XmlSchemaEnumerationFacet() {
            FacetType = FacetType.Enumeration; 
        } 
    }
 
    /// 
    public class XmlSchemaMinExclusiveFacet : XmlSchemaFacet {
        public XmlSchemaMinExclusiveFacet() {
            FacetType = FacetType.MinExclusive; 
        }
    } 
 
    /// 
    public class XmlSchemaMinInclusiveFacet : XmlSchemaFacet { 
        public XmlSchemaMinInclusiveFacet() {
            FacetType = FacetType.MinInclusive;
        }
    } 

    ///  
    public class XmlSchemaMaxExclusiveFacet : XmlSchemaFacet { 
        public XmlSchemaMaxExclusiveFacet() {
            FacetType = FacetType.MaxExclusive; 
        }
    }

    ///  
    public class XmlSchemaMaxInclusiveFacet : XmlSchemaFacet {
        public XmlSchemaMaxInclusiveFacet() { 
            FacetType = FacetType.MaxInclusive; 
        }
    } 

    /// 
    public class XmlSchemaTotalDigitsFacet : XmlSchemaNumericFacet {
        public XmlSchemaTotalDigitsFacet() { 
            FacetType = FacetType.TotalDigits;
        } 
    } 

    ///  
    public class XmlSchemaFractionDigitsFacet : XmlSchemaNumericFacet {
        public XmlSchemaFractionDigitsFacet() {
            FacetType = FacetType.FractionDigits;
        } 
    }
 
    ///  
    public class XmlSchemaWhiteSpaceFacet : XmlSchemaFacet {
        public XmlSchemaWhiteSpaceFacet() { 
            FacetType = FacetType.Whitespace;
        }
    }
 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK