System.Xml.Xsl.IlGen.XmlILElementAnalyzer.CheckAttributeNamespaceConstruct C# (CSharp) Method

CheckAttributeNamespaceConstruct() private method

If type might contain attributes or namespaces, set appropriate parent element flags.
private CheckAttributeNamespaceConstruct ( XmlQueryType typ ) : void
typ XmlQueryType
return void
        private void CheckAttributeNamespaceConstruct(XmlQueryType typ) {
            // If content might contain attributes,
            if ((typ.NodeKinds & XmlNodeKindFlags.Attribute) != XmlNodeKindFlags.None) {
                // Mark element as possibly having attributes and duplicate attributes (since we don't know the names)
                this.parentInfo.MightHaveAttributes = true;
                this.parentInfo.MightHaveDuplicateAttributes = true;

                // Attribute namespaces might be declared
                this.parentInfo.MightHaveNamespaces = true;
            }

            // If content might contain namespaces,
            if ((typ.NodeKinds & XmlNodeKindFlags.Namespace) != XmlNodeKindFlags.None) {
                // Then element might have namespaces,
                this.parentInfo.MightHaveNamespaces = true;

                // If attributes might already have been constructed,
                if (this.parentInfo.MightHaveAttributes) {
                    // Then attributes might precede namespace declarations
                    this.parentInfo.MightHaveNamespacesAfterAttributes = true;
                }
            }
        }
    }