次の方法で共有


XmlSchemaAttributeGroup クラス

属性グループのクラス。属性宣言のセットをグループ化し、グループとして複合型定義に組み込むことができるようにします。W3C (World Wide Web Consortium) attributeGroup 要素を表します。

この型のすべてのメンバの一覧については、XmlSchemaAttributeGroup メンバ を参照してください。

System.Object
   System.Xml.Schema.XmlSchemaObject
      System.Xml.Schema.XmlSchemaAnnotated
         System.Xml.Schema.XmlSchemaAttributeGroup

Public Class XmlSchemaAttributeGroup
   Inherits XmlSchemaAnnotated
[C#]
public class XmlSchemaAttributeGroup : XmlSchemaAnnotated
[C++]
public __gc class XmlSchemaAttributeGroup : public
   XmlSchemaAnnotated
[JScript]
public class XmlSchemaAttributeGroup extends XmlSchemaAnnotated

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

属性グループは、schema 要素の子としてだけ定義できます。この場合は、name 属性が存在し、属性グループを構成する attribute、 attributeGroup 、または anyAttribute の各要素を格納している必要があります。complexType 要素または attributeGroup 要素に属性グループが含まれている場合は、 ref 属性が存在している必要があり、name 属性は許可されません。

使用例

[Visual Basic, C#, C++] attributeGroup 要素を作成する例を次に示します。

 
Option Strict
Option Explicit

Imports System
Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples
    Public Shared Sub Main()
        Dim schema As New XmlSchema()
        
        ' <xs:attributeGroup name="myAttributeGroup">
        Dim myAttributeGroup As New XmlSchemaAttributeGroup()
        schema.Items.Add(myAttributeGroup)
        myAttributeGroup.Name = "myAttributeGroup"
        
        ' <xs:attribute name="someattribute1" type="xs:integer"/>
        Dim someattribute1 As New XmlSchemaAttribute()
        myAttributeGroup.Attributes.Add(someattribute1)
        someattribute1.Name = "someattribute1"
        someattribute1.SchemaTypeName = New XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema")
        
        ' <xs:attribute name="someattribute2" type="xs:string"/>
        Dim someattribute2 As New XmlSchemaAttribute()
        myAttributeGroup.Attributes.Add(someattribute2)
        someattribute2.Name = "someattribute2"
        someattribute2.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
        
        ' <xs:complexType name="myElementType">
        Dim myElementType As New XmlSchemaComplexType()
        schema.Items.Add(myElementType)
        myElementType.Name = "myElementType"
        
        ' <xs:attributeGroup ref="myAttributeGroup"/>
        Dim myAttributeGroupRef As New XmlSchemaAttributeGroupRef()
        myElementType.Attributes.Add(myAttributeGroupRef)
        myAttributeGroupRef.RefName = New XmlQualifiedName("myAttributeGroup")
        
        ' <xs:attributeGroup name="myAttributeGroupA">
        Dim myAttributeGroupA As New XmlSchemaAttributeGroup()
        schema.Items.Add(myAttributeGroupA)
        myAttributeGroupA.Name = "myAttributeGroupA"
        
        ' <xs:attribute name="someattribute10" type="xs:integer"/>
        Dim someattribute10 As New XmlSchemaAttribute()
        myAttributeGroupA.Attributes.Add(someattribute10)
        someattribute10.Name = "someattribute10"
        someattribute10.SchemaTypeName = New XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema")
        
        ' <xs:attribute name="someattribute11" type="xs:string"/>
        Dim someattribute11 As New XmlSchemaAttribute()
        myAttributeGroupA.Attributes.Add(someattribute11)
        someattribute11.Name = "someattribute11"
        someattribute11.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
        
        ' <xs:attributeGroup name="myAttributeGroupB">
        Dim myAttributeGroupB As New XmlSchemaAttributeGroup()
        schema.Items.Add(myAttributeGroupB)
        myAttributeGroupB.Name = "myAttributeGroupB"
        
        ' <xs:attribute name="someattribute20" type="xs:date"/>
        Dim someattribute20 As New XmlSchemaAttribute()
        myAttributeGroupB.Attributes.Add(someattribute20)
        someattribute20.Name = "someattribute20"
        someattribute20.SchemaTypeName = New XmlQualifiedName("date", "http://www.w3.org/2001/XMLSchema")
        
        ' <xs:attributeGroup ref="myAttributeGroupA"/>
        Dim myAttributeGroupRefA As New XmlSchemaAttributeGroupRef()
        myAttributeGroupB.Attributes.Add(myAttributeGroupRefA)
        myAttributeGroupRefA.RefName = New XmlQualifiedName("myAttributeGroupA")
        
        schema.Compile(AddressOf ValidationCallbackOne)
        Dim nsmgr As New XmlNamespaceManager(New NameTable())
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
        schema.Write(Console.Out, nsmgr)
    End Sub 'Main
    
    
    Public Shared Sub ValidationCallbackOne(sender As Object, args As ValidationEventArgs)

        Console.WriteLine(args.Message)
    End Sub 'ValidationCallbackOne
End Class 'XMLSchemaExamples

[C#] 
using System;
using System.Xml;  
using System.Xml.Schema;

class XMLSchemaExamples {
    public static void Main() {
 
        XmlSchema schema = new XmlSchema();

        // <xs:attributeGroup name="myAttributeGroup">
        XmlSchemaAttributeGroup myAttributeGroup = new XmlSchemaAttributeGroup();
        schema.Items.Add(myAttributeGroup);
        myAttributeGroup.Name = "myAttributeGroup";
        
        // <xs:attribute name="someattribute1" type="xs:integer"/>
        XmlSchemaAttribute someattribute1 = new XmlSchemaAttribute();
        myAttributeGroup.Attributes.Add(someattribute1);
        someattribute1.Name = "someattribute1";
        someattribute1.SchemaTypeName = new XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");
        
        
        // <xs:attribute name="someattribute2" type="xs:string"/>
        XmlSchemaAttribute someattribute2 = new XmlSchemaAttribute();
        myAttributeGroup.Attributes.Add(someattribute2);
        someattribute2.Name = "someattribute2";
        someattribute2.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        
        // <xs:complexType name="myElementType">
        XmlSchemaComplexType myElementType = new XmlSchemaComplexType();
        schema.Items.Add(myElementType);
        myElementType.Name = "myElementType";
        
        // <xs:attributeGroup ref="myAttributeGroup"/>
        XmlSchemaAttributeGroupRef myAttributeGroupRef = new XmlSchemaAttributeGroupRef();
        myElementType.Attributes.Add(myAttributeGroupRef);
        myAttributeGroupRef.RefName = new XmlQualifiedName("myAttributeGroup");
        
        // <xs:attributeGroup name="myAttributeGroupA">
        XmlSchemaAttributeGroup myAttributeGroupA = new XmlSchemaAttributeGroup();
        schema.Items.Add(myAttributeGroupA);
        myAttributeGroupA.Name = "myAttributeGroupA";
        
        // <xs:attribute name="someattribute10" type="xs:integer"/>
        XmlSchemaAttribute someattribute10 = new XmlSchemaAttribute();
        myAttributeGroupA.Attributes.Add(someattribute10);
        someattribute10.Name = "someattribute10";
        someattribute10.SchemaTypeName = new XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");

        // <xs:attribute name="someattribute11" type="xs:string"/>
        XmlSchemaAttribute someattribute11 = new XmlSchemaAttribute();
        myAttributeGroupA.Attributes.Add(someattribute11);
        someattribute11.Name = "someattribute11";
        someattribute11.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:attributeGroup name="myAttributeGroupB">
        XmlSchemaAttributeGroup myAttributeGroupB = new XmlSchemaAttributeGroup();
        schema.Items.Add(myAttributeGroupB);
        myAttributeGroupB.Name = "myAttributeGroupB";

        // <xs:attribute name="someattribute20" type="xs:date"/>
        XmlSchemaAttribute someattribute20 = new XmlSchemaAttribute();
        myAttributeGroupB.Attributes.Add(someattribute20);
        someattribute20.Name = "someattribute20";
        someattribute20.SchemaTypeName = new XmlQualifiedName("date", "http://www.w3.org/2001/XMLSchema");

        // <xs:attributeGroup ref="myAttributeGroupA"/>
        XmlSchemaAttributeGroupRef myAttributeGroupRefA = new XmlSchemaAttributeGroupRef();
        myAttributeGroupB.Attributes.Add(myAttributeGroupRefA);
        myAttributeGroupRefA.RefName = new XmlQualifiedName("myAttributeGroupA");

        schema.Compile(new ValidationEventHandler(ValidationCallbackOne));
     XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
        schema.Write(Console.Out, nsmgr);
    }

    public static void ValidationCallbackOne(object sender, ValidationEventArgs args) {

        Console.WriteLine(args.Message);
    }
}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;  
using namespace System::Xml::Schema;

__gc class XMLSchemaExamples {
public:
    static void main() {
 
        XmlSchema* schema = new XmlSchema();

        // <xs:attributeGroup name="myAttributeGroup">
        XmlSchemaAttributeGroup* myAttributeGroup = new XmlSchemaAttributeGroup();
        schema->Items->Add(myAttributeGroup);
        myAttributeGroup->Name = S"myAttributeGroup";
        
        // <xs:attribute name="someattribute1" type="xs:integer"/>
        XmlSchemaAttribute* someattribute1 = new XmlSchemaAttribute();
        myAttributeGroup->Attributes->Add(someattribute1);
        someattribute1->Name = S"someattribute1";
        someattribute1->SchemaTypeName = new XmlQualifiedName(S"integer", S"http://www.w3.org/2001/XMLSchema");
        
        
        // <xs:attribute name="someattribute2" type="xs:string"/>
        XmlSchemaAttribute* someattribute2 = new XmlSchemaAttribute();
        myAttributeGroup->Attributes->Add(someattribute2);
        someattribute2->Name = S"someattribute2";
        someattribute2->SchemaTypeName = new XmlQualifiedName(S"string", S"http://www.w3.org/2001/XMLSchema");
        
        // <xs:complexType name="myElementType">
        XmlSchemaComplexType* myElementType = new XmlSchemaComplexType();
        schema->Items->Add(myElementType);
        myElementType->Name = S"myElementType";
        
        // <xs:attributeGroup ref="myAttributeGroup"/>
        XmlSchemaAttributeGroupRef* myAttributeGroupRef = new XmlSchemaAttributeGroupRef();
        myElementType->Attributes->Add(myAttributeGroupRef);
        myAttributeGroupRef->RefName = new XmlQualifiedName(S"myAttributeGroup");
        
        // <xs:attributeGroup name="myAttributeGroupA">
        XmlSchemaAttributeGroup* myAttributeGroupA = new XmlSchemaAttributeGroup();
        schema->Items->Add(myAttributeGroupA);
        myAttributeGroupA->Name = S"myAttributeGroupA";
        
        // <xs:attribute name="someattribute10" type="xs:integer"/>
        XmlSchemaAttribute* someattribute10 = new XmlSchemaAttribute();
        myAttributeGroupA->Attributes->Add(someattribute10);
        someattribute10->Name = S"someattribute10";
        someattribute10->SchemaTypeName = new XmlQualifiedName(S"integer", S"http://www.w3.org/2001/XMLSchema");

        // <xs:attribute name="someattribute11" type="xs:string"/>
        XmlSchemaAttribute* someattribute11 = new XmlSchemaAttribute();
        myAttributeGroupA->Attributes->Add(someattribute11);
        someattribute11->Name = S"someattribute11";
        someattribute11->SchemaTypeName = new XmlQualifiedName(S"string", S"http://www.w3.org/2001/XMLSchema");

        // <xs:attributeGroup name="myAttributeGroupB">
        XmlSchemaAttributeGroup* myAttributeGroupB = new XmlSchemaAttributeGroup();
        schema->Items->Add(myAttributeGroupB);
        myAttributeGroupB->Name = S"myAttributeGroupB";

        // <xs:attribute name="someattribute20" type="xs:date"/>
        XmlSchemaAttribute* someattribute20 = new XmlSchemaAttribute();
        myAttributeGroupB->Attributes->Add(someattribute20);
        someattribute20->Name = S"someattribute20";
        someattribute20->SchemaTypeName = new XmlQualifiedName(S"date", S"http://www.w3.org/2001/XMLSchema");

        // <xs:attributeGroup ref="myAttributeGroupA"/>
        XmlSchemaAttributeGroupRef* myAttributeGroupRefA = new XmlSchemaAttributeGroupRef();
        myAttributeGroupB->Attributes->Add(myAttributeGroupRefA);
        myAttributeGroupRefA->RefName = new XmlQualifiedName(S"myAttributeGroupA");

        schema->Compile(new ValidationEventHandler(0, ValidationCallbackOne));
     XmlNamespaceManager* nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr->AddNamespace(S"xs", S"http://www.w3.org/2001/XMLSchema");
        schema->Write(Console::Out,nsmgr);
    }

    static void ValidationCallbackOne(Object* /*sender*/, ValidationEventArgs* args) {

        Console::WriteLine(args->Message);
    }
};

int main()
{
    XMLSchemaExamples::main();
}

[Visual Basic, C#, C++] 前述のコード例に対して生成される XML ファイルを次に示します。

<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:attributeGroup name="myAttributeGroup">
        <xs:attribute name="someattribute1" type="xs:integer"/>
        <xs:attribute name="someattribute2" type="xs:string"/>
    </xs:attributeGroup>

    <xs:complexType name="myElementType">
        <xs:attributeGroup ref="myAttributeGroup"/>
    </xs:complexType>

    <xs:attributeGroup name="myAttributeGroupA">
        <xs:attribute name="someattribute10" type="xs:integer"/>
        <xs:attribute name="someattribute11" type="xs:string"/>
    </xs:attributeGroup>

    <xs:attributeGroup name="myAttributeGroupB">
        <xs:attribute name="someattribute20" type="xs:date"/>
        <xs:attributeGroup ref="myAttributeGroupA"/>
    </xs:attributeGroup>
</xs:schema>

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Xml.Schema

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Xml (System.Xml.dll 内)

参照

XmlSchemaAttributeGroup メンバ | System.Xml.Schema 名前空間