XmlSchemaAttributeGroup Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент attributeGroup
из схемы XML, определенной консорциумом World Wide Web Consortium (W3C). 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
- Наследование
Примеры
В следующем примере создается 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
атрибут должен присутствовать и содержать attribute
элементы , attributeGroup
или anyAttribute
, составляющие группу атрибутов.
complexType
Если элемент или attributeGroup
включает группу атрибутовref
, атрибут должен присутствовать, а name
атрибут запрещен.
Конструкторы
XmlSchemaAttributeGroup() |
Инициализирует новый экземпляр класса XmlSchemaAttributeGroup. |
Свойства
Annotation |
Возвращает или задает свойство |
AnyAttribute |
Получает или задает компонент XmlSchemaAnyAttribute группы атрибутов. |
Attributes |
Возвращает коллекцию атрибутов для группы атрибутов. Содержит элементы |
Id |
Получает или задает идентификатор строки. (Унаследовано от XmlSchemaAnnotated) |
LineNumber |
Получает или задает номер строки в файле, на которую ссылается элемент |
LinePosition |
Получает или задает позицию в строке файла, на которую ссылается элемент |
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) |