XmlSchemaAny.cs source code in C# .NET

Source code for the .NET framework in C#

                        

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 / XmlSchemaAny.cs / 1 / XmlSchemaAny.cs

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

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

    ///  
    /// 
    ///    [To be supplied.] 
    ///  
    public class XmlSchemaAny : XmlSchemaParticle {
        string ns; 
        XmlSchemaContentProcessing processContents = XmlSchemaContentProcessing.None;
        NamespaceList namespaceList;

        ///  
        /// 
        ///    [To be supplied.] 
        ///  
        [XmlAttribute("namespace")]
        public string Namespace { 
            get { return ns; }
            set { ns = value; }
        }
 
        /// 
        ///  
        ///    [To be supplied.] 
        /// 
        [XmlAttribute("processContents"), DefaultValue(XmlSchemaContentProcessing.None)] 
        public XmlSchemaContentProcessing ProcessContents {
            get { return processContents; }
            set { processContents = value; }
        } 

        [XmlIgnore] 
        internal NamespaceList NamespaceList { 
            get { return namespaceList; }
        } 

        [XmlIgnore]
        internal string ResolvedNamespace {
            get { 
                if (ns == null || ns.Length == 0) {
                    return "##any"; 
                } 
                return ns;
            } 
        }

        [XmlIgnore]
        internal XmlSchemaContentProcessing ProcessContentsCorrect { 
            get { return processContents == XmlSchemaContentProcessing.None ? XmlSchemaContentProcessing.Strict : processContents; }
        } 
 
        internal override string NameString {
            get { 
                switch (namespaceList.Type) {
                    case NamespaceList.ListType.Any:
                        return "##any:*";
 
                    case NamespaceList.ListType.Other:
                        return "##other:*"; 
 
                    case NamespaceList.ListType.Set:
                        StringBuilder sb = new StringBuilder(); 
                        int i = 1;
                        foreach(string wildcardNS in namespaceList.Enumerate) {
                            sb.Append(wildcardNS + ":*");
                            if (i < namespaceList.Enumerate.Count) { 
                                sb.Append(" ");
                            } 
                            i++; 
                        }
                        return sb.ToString(); 

                    default:
                        return string.Empty;
                } 
            }
        } 
 
        internal void BuildNamespaceList(string targetNamespace) {
            if (ns != null) { //If namespace="" default to namespace="##any" 
                namespaceList = new NamespaceList(ns, targetNamespace);
            }
            else {
                namespaceList = new NamespaceList(); 
            }
        } 
 
        internal void BuildNamespaceListV1Compat(string targetNamespace) {
            if (ns != null) { 
                namespaceList = new NamespaceListV1Compat(ns, targetNamespace);
            }
            else {
                namespaceList = new NamespaceList(); //This is only ##any, hence base class is sufficient 
            }
        } 
 
        internal bool Allows(XmlQualifiedName qname) {
            return namespaceList.Allows(qname.Namespace); 
        }

    }
 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// [....] 
//-----------------------------------------------------------------------------
 
namespace System.Xml.Schema { 

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

    ///  
    /// 
    ///    [To be supplied.] 
    ///  
    public class XmlSchemaAny : XmlSchemaParticle {
        string ns; 
        XmlSchemaContentProcessing processContents = XmlSchemaContentProcessing.None;
        NamespaceList namespaceList;

        ///  
        /// 
        ///    [To be supplied.] 
        ///  
        [XmlAttribute("namespace")]
        public string Namespace { 
            get { return ns; }
            set { ns = value; }
        }
 
        /// 
        ///  
        ///    [To be supplied.] 
        /// 
        [XmlAttribute("processContents"), DefaultValue(XmlSchemaContentProcessing.None)] 
        public XmlSchemaContentProcessing ProcessContents {
            get { return processContents; }
            set { processContents = value; }
        } 

        [XmlIgnore] 
        internal NamespaceList NamespaceList { 
            get { return namespaceList; }
        } 

        [XmlIgnore]
        internal string ResolvedNamespace {
            get { 
                if (ns == null || ns.Length == 0) {
                    return "##any"; 
                } 
                return ns;
            } 
        }

        [XmlIgnore]
        internal XmlSchemaContentProcessing ProcessContentsCorrect { 
            get { return processContents == XmlSchemaContentProcessing.None ? XmlSchemaContentProcessing.Strict : processContents; }
        } 
 
        internal override string NameString {
            get { 
                switch (namespaceList.Type) {
                    case NamespaceList.ListType.Any:
                        return "##any:*";
 
                    case NamespaceList.ListType.Other:
                        return "##other:*"; 
 
                    case NamespaceList.ListType.Set:
                        StringBuilder sb = new StringBuilder(); 
                        int i = 1;
                        foreach(string wildcardNS in namespaceList.Enumerate) {
                            sb.Append(wildcardNS + ":*");
                            if (i < namespaceList.Enumerate.Count) { 
                                sb.Append(" ");
                            } 
                            i++; 
                        }
                        return sb.ToString(); 

                    default:
                        return string.Empty;
                } 
            }
        } 
 
        internal void BuildNamespaceList(string targetNamespace) {
            if (ns != null) { //If namespace="" default to namespace="##any" 
                namespaceList = new NamespaceList(ns, targetNamespace);
            }
            else {
                namespaceList = new NamespaceList(); 
            }
        } 
 
        internal void BuildNamespaceListV1Compat(string targetNamespace) {
            if (ns != null) { 
                namespaceList = new NamespaceListV1Compat(ns, targetNamespace);
            }
            else {
                namespaceList = new NamespaceList(); //This is only ##any, hence base class is sufficient 
            }
        } 
 
        internal bool Allows(XmlQualifiedName qname) {
            return namespaceList.Allows(qname.Namespace); 
        }

    }
 
}

// 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