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 ReadOnly Property IsNamespaceDeclaration As Boolean
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.

Dim output As New StringBuilder
Dim root As XElement = <aw:Root xmlns:aw='http://www.adventure-works.com'

For Each att As XAttribute In root.Attributes()
    If (att.IsNamespaceDeclaration) Then
        output.Append(String.Format("{0} is a namespace declaration", att.Name))
        output.Append(String.Format("{0} is not a namespace declaration", att.Name))
    End If

OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
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)
        output.Append(att.Name + " is a namespace declaration" + Environment.NewLine);
        output.Append(att.Name + " is not a namespace declaration" + Environment.NewLine);

OutputTextBlock.Text = output.ToString();

Version Information


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.