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