属性グループのクラス。属性宣言のセットをグループ化し、グループとして複合型定義に組み込むことができるようにします。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 内)