XmlSchemaAttributeGroup 类

定义

按万维网联合会 (W3C) 指定的方式表示来自 XML 架构的 attributeGroup 元素。 AttributesGroups 提供将一组特性声明归为一组的机制,以便将它们作为一个组并入到复杂类型定义中。

public ref class XmlSchemaAttributeGroup : System::Xml::Schema::XmlSchemaAnnotated
public class XmlSchemaAttributeGroup : System.Xml.Schema.XmlSchemaAnnotated
type XmlSchemaAttributeGroup = class
    inherit XmlSchemaAnnotated
Public Class XmlSchemaAttributeGroup
Inherits XmlSchemaAnnotated
继承
XmlSchemaAttributeGroup

示例

以下示例创建 attributeGroup 元素。

#using <mscorlib.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;

class XmlSchemaExamples
{
public:
    
    static void Main()
    {
        XmlSchema^ schema = gcnew XmlSchema();

        // <xs:attributeGroup name="myAttributeGroup">
        XmlSchemaAttributeGroup^ myAttributeGroup = gcnew XmlSchemaAttributeGroup();
        schema->Items->Add(myAttributeGroup);
        myAttributeGroup->Name = "myAttributeGroup";

        // <xs:attribute name="someattribute1" type="xs:integer"/>
        XmlSchemaAttribute^ someattribute1 = gcnew XmlSchemaAttribute();
        myAttributeGroup->Attributes->Add(someattribute1);
        someattribute1->Name = "someattribute1";
        someattribute1->SchemaTypeName = gcnew XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");


        // <xs:attribute name="someattribute2" type="xs:string"/>
        XmlSchemaAttribute^ someattribute2 = gcnew XmlSchemaAttribute();
        myAttributeGroup->Attributes->Add(someattribute2);
        someattribute2->Name = "someattribute2";
        someattribute2->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:complexType name="myElementType">
        XmlSchemaComplexType^ myElementType = gcnew XmlSchemaComplexType();
        schema->Items->Add(myElementType);
        myElementType->Name = "myElementType";

        // <xs:attributeGroup ref="myAttributeGroup"/>
        XmlSchemaAttributeGroupRef^ myAttributeGroupRef = gcnew XmlSchemaAttributeGroupRef();
        myElementType->Attributes->Add(myAttributeGroupRef);
        myAttributeGroupRef->RefName = gcnew XmlQualifiedName("myAttributeGroup");

        // <xs:attributeGroup name="myAttributeGroupA">
        XmlSchemaAttributeGroup^ myAttributeGroupA = gcnew XmlSchemaAttributeGroup();
        schema->Items->Add(myAttributeGroupA);
        myAttributeGroupA->Name = "myAttributeGroupA";

        // <xs:attribute name="someattribute10" type="xs:integer"/>
        XmlSchemaAttribute^ someattribute10 = gcnew XmlSchemaAttribute();
        myAttributeGroupA->Attributes->Add(someattribute10);
        someattribute10->Name = "someattribute10";
        someattribute10->SchemaTypeName = gcnew XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");

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

        // <xs:attributeGroup name="myAttributeGroupB">
        XmlSchemaAttributeGroup^ myAttributeGroupB = gcnew XmlSchemaAttributeGroup();
        schema->Items->Add(myAttributeGroupB);
        myAttributeGroupB->Name = "myAttributeGroupB";

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

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

        XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
        schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
        schemaSet->Add(schema);
        schemaSet->Compile();

        XmlSchema^ compiledSchema;

        for each (XmlSchema^ schema1 in schemaSet->Schemas())
        {
            compiledSchema = schema1;
        }

        XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable());
        nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
        compiledSchema->Write(Console::Out, nsmgr);
    }

    static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
    {
        Console::WriteLine(args->Message);
    }
};

int main()
{
    XmlSchemaExamples::Main();
    return 0;
};
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");

        XmlSchemaSet schemaSet = new XmlSchemaSet();
        schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne);
        schemaSet.Add(schema);
        schemaSet.Compile();

        XmlSchema compiledSchema = null;

        foreach (XmlSchema schema1 in schemaSet.Schemas())
        {
            compiledSchema = schema1;
        }

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

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

        Console.WriteLine(args.Message);
    }
}
Option Strict On
Option Explicit On

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")

        Dim schemaSet As New XmlSchemaSet()
        AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne

        schemaSet.Add(schema)
        schemaSet.Compile()

        Dim compiledSchema As XmlSchema = Nothing

        For Each schema1 As XmlSchema In schemaSet.Schemas()
            compiledSchema = schema1
        Next

        Dim nsmgr As New XmlNamespaceManager(New NameTable())
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
        compiledSchema.Write(Console.Out, nsmgr)
    End Sub


    Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)

        Console.WriteLine(args.Message)
    End Sub
End Class

为前面的代码示例生成以下 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>

注解

特性组只能定义为 元素的 schema 子元素。 在这种情况下, name 属性必须存在并包含构成属性组的 attributeattributeGroupanyAttribute 元素。 complexType当 或 attributeGroup 元素包含属性组时ref,必须存在 特性,name并且不允许该特性。

构造函数

XmlSchemaAttributeGroup()

初始化 XmlSchemaAttributeGroup 类的新实例。

属性

Annotation

获取或设置 annotation 属性。

(继承自 XmlSchemaAnnotated)
AnyAttribute

获取或设置特性组的 XmlSchemaAnyAttribute 组件。

Attributes

获取属性组的属性的集合。 包含 XmlSchemaAttributeXmlSchemaAttributeGroupRef 元素。

Id

获取或设置字符串 ID。

(继承自 XmlSchemaAnnotated)
LineNumber

获取或设置 schema 元素引用的文件中的行号。

(继承自 XmlSchemaObject)
LinePosition

获取或设置 schema 元素引用的文件中的行位置。

(继承自 XmlSchemaObject)
Name

获取或设置属性组的名称。

Namespaces

获取或设置用于此架构对象的 XmlSerializerNamespaces

(继承自 XmlSchemaObject)
Parent

获取或设置此 XmlSchemaObject 的父级。

(继承自 XmlSchemaObject)
QualifiedName

获取属性组的限定名称。

RedefinedAttributeGroup

从 XML 架构中获取重新定义的属性组属性。

SourceUri

获取或设置加载了架构的文件的源位置。

(继承自 XmlSchemaObject)
UnhandledAttributes

获取或设置不属于当前架构目标命名空间的限定特性。

(继承自 XmlSchemaAnnotated)

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于