Compartir a través de


XmlSchemaAttributeGroup Clase

Definición

Representa el elemento attributeGroup del esquema XML, tal y como lo especifica el consorcio World Wide Web (W3C). AttributesGroups proporciona un mecanismo para agrupar un conjunto de declaraciones de atributos de forma que puedan incorporarse como un grupo en definiciones de tipos complejos.

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

Ejemplos

En el ejemplo siguiente se crea el attributeGroup elemento .

#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

El siguiente archivo XML se genera para el ejemplo de código anterior.


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

Comentarios

Un grupo de atributos solo se puede definir como elemento secundario del schema elemento. En este caso, el name atributo debe estar presente y contener los attributeelementos , attributeGroupo anyAttribute que componen el grupo de atributos. Cuando un complexType elemento o un attributeGroup elemento incluye un grupo de atributos, el ref atributo debe estar presente y el name atributo no está permitido.

Constructores

XmlSchemaAttributeGroup()

Inicializa una nueva instancia de la clase XmlSchemaAttributeGroup.

Propiedades

Annotation

Obtiene o establece la propiedad annotation.

(Heredado de XmlSchemaAnnotated)
AnyAttribute

Obtiene o establece el componente XmlSchemaAnyAttribute del grupo de atributos.

Attributes

Obtiene la colección de atributos del grupo de atributos. Contiene los elementos XmlSchemaAttribute y XmlSchemaAttributeGroupRef.

Id

Obtiene o establece el identificador de cadena.

(Heredado de XmlSchemaAnnotated)
LineNumber

Obtiene o establece el número de línea del archivo al que hace referencia el elemento schema.

(Heredado de XmlSchemaObject)
LinePosition

Obtiene o establece la posición de la línea en el archivo al que hace referencia el elemento schema.

(Heredado de XmlSchemaObject)
Name

Obtiene o establece el nombre del grupo de atributos.

Namespaces

Obtiene o establece el objeto XmlSerializerNamespaces que se va a utilizar con este objeto de esquema.

(Heredado de XmlSchemaObject)
Parent

Obtiene o establece el elemento primario de este XmlSchemaObject.

(Heredado de XmlSchemaObject)
QualifiedName

Obtiene el nombre completo del grupo de atributos.

RedefinedAttributeGroup

Obtiene la propiedad de grupo del atributo redefinido del esquema XML.

SourceUri

Obtiene o establece la ubicación de origen del archivo que cargó el esquema.

(Heredado de XmlSchemaObject)
UnhandledAttributes

Obtiene o establece los atributos calificados que no pertenecen al espacio de nombres de destino del esquema actual.

(Heredado de XmlSchemaAnnotated)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a