Udostępnij za pośrednictwem


XmlSchemaAttributeGroup Klasa

Definicja

attributeGroup Reprezentuje element ze schematu XML określonego przez World Wide Web Consortium (W3C). AttributesGroups udostępnia mechanizm grupowania zestawu deklaracji atrybutów, dzięki czemu można je włączyć jako grupę do złożonych definicji typów.

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
Dziedziczenie
XmlSchemaAttributeGroup

Przykłady

Poniższy przykład tworzy attributeGroup element.

#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

Poniższy plik XML jest generowany dla poprzedniego przykładu kodu.


<?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>

Uwagi

Grupę atrybutów można zdefiniować tylko jako element podrzędny schema elementu. W takim przypadku name atrybut musi być obecny i zawierać attributeelementy , attributeGrouplub anyAttribute tworzące grupę atrybutów. Gdy element complexType lub attributeGroup zawiera grupę atrybutów, ref atrybut musi być obecny, a name atrybut jest niedozwolony.

Konstruktory

XmlSchemaAttributeGroup()

Inicjuje nowe wystąpienie klasy XmlSchemaAttributeGroup.

Właściwości

Annotation

Pobiera lub ustawia annotation właściwość.

(Odziedziczone po XmlSchemaAnnotated)
AnyAttribute

Pobiera lub ustawia XmlSchemaAnyAttribute składnik grupy atrybutów.

Attributes

Pobiera kolekcję atrybutów dla grupy atrybutów. Zawiera XmlSchemaAttribute i XmlSchemaAttributeGroupRef elementy.

Id

Pobiera lub ustawia identyfikator ciągu.

(Odziedziczone po XmlSchemaAnnotated)
LineNumber

Pobiera lub ustawia numer wiersza w pliku, do którego schema odwołuje się element.

(Odziedziczone po XmlSchemaObject)
LinePosition

Pobiera lub ustawia położenie wiersza w pliku, do którego schema odwołuje się element.

(Odziedziczone po XmlSchemaObject)
Name

Pobiera lub ustawia nazwę grupy atrybutów.

Namespaces

Pobiera lub ustawia XmlSerializerNamespaces obiekt do użycia z tym obiektem schematu.

(Odziedziczone po XmlSchemaObject)
Parent

Pobiera lub ustawia element nadrzędny tego XmlSchemaObjectobiektu .

(Odziedziczone po XmlSchemaObject)
QualifiedName

Pobiera kwalifikowaną nazwę grupy atrybutów.

RedefinedAttributeGroup

Pobiera ponownie zdefiniowaną właściwość grupy atrybutów ze schematu XML.

SourceUri

Pobiera lub ustawia lokalizację źródłową pliku, który załadował schemat.

(Odziedziczone po XmlSchemaObject)
UnhandledAttributes

Pobiera lub ustawia kwalifikowane atrybuty, które nie należą do docelowej przestrzeni nazw bieżącego schematu.

(Odziedziczone po XmlSchemaAnnotated)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy