XAttribute.IsNamespaceDeclaration プロパティ


現在の属性が名前空間宣言かどうかを判定します。Determines if this attribute is a namespace declaration.

 property bool IsNamespaceDeclaration { bool get(); };
public bool IsNamespaceDeclaration { get; }
member this.IsNamespaceDeclaration : bool
Public ReadOnly Property IsNamespaceDeclaration As Boolean


現在の属性が名前空間宣言の場合は true。それ以外の場合は falsetrue if this attribute is a namespace declaration; otherwise false.

次の例では、名前空間宣言としてではない属性を作成します。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);  
        Console.WriteLine("{0} is not a namespace declaration", att.Name);  
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  
        Console.WriteLine("{0} is a namespace declaration", att.Name)  
        Console.WriteLine("{0} is not a namespace declaration", att.Name)  
    End If  

この例を実行すると、次の出力が生成されます。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  


厳密に言うと、XML では、名前空間宣言は属性として適切ではありません。Technically, in XML, namespace declarations are not attributes proper. ただし、この区別は通常、ほとんどの XML プログラマによって行われるわけではありません。However, this distinction is not normally made by most XML programmers. 名前空間宣言の構文は属性とまったく同じであるため、ほとんどの XML プログラマは名前空間を属性と見なします。Instead, because namespace declarations have exactly the same syntax as attributes, most XML programmers think of namespaces as attributes. LINQ to XMLLINQ to XMLプログラミングインターフェイスを簡略化するために、名前空間は XML ツリーで属性として表現されます。To simplify the LINQ to XMLLINQ to XML programming interface, namespaces are represented in the XML tree as attributes. このプロパティを使用して、特定LINQ to XMLLINQ to XMLの属性が実際に名前空間宣言であるかどうかを判断できます。You can use this property to determine if a particular LINQ to XMLLINQ to XML attribute is really a namespace declaration.