This documentation is archived and is not being maintained.

XAttribute.IsNamespaceDeclaration Property

Determines if this attribute is a namespace declaration.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

public bool IsNamespaceDeclaration { get; }

Property Value

Type: System.Boolean
true if this attribute is a namespace declaration; otherwise false.

Technically, in XML, namespace declarations are not attributes proper. However, this distinction is not normally made by most XML programmers. Instead, because namespace declarations have exactly the same syntax as attributes, most XML programmers think of namespaces as attributes. To simplify the LINQ to XML programming interface, namespaces are represented in the XML tree as attributes. You can use this property to determine if a particular LINQ to XML attribute is really a namespace declaration.

The following example creates an attribute that is a namespace declaration and an attribute that is not. It then uses this property to display whether each attribute is a namespace declaration or not.

XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),
    new XAttribute(aw + "Att", "content")
);

foreach (XAttribute att in root.Attributes()) {
    if (att.IsNamespaceDeclaration)
        Console.WriteLine("{0} is a namespace declaration", att.Name);
    else
        Console.WriteLine("{0} is not a namespace declaration", att.Name);
}

This example produces the following output:

{http://www.w3.org/2000/xmlns/}aw is a namespace declaration
{http://www.adventure-works.com}Att is not a namespace declaration

.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: