XmlSchemaAttribute Класс

Определение

attribute Представляет элемент из схемы XML, указанной консорциумом W3C. Атрибуты предоставляют дополнительные сведения для других элементов документа. Тег атрибута вложен между тегами элемента документа для схемы. XML-документ отображает атрибуты в виде именованных элементов в открываемом теге элемента.

public ref class XmlSchemaAttribute : System::Xml::Schema::XmlSchemaAnnotated
public class XmlSchemaAttribute : System.Xml.Schema.XmlSchemaAnnotated
type XmlSchemaAttribute = class
    inherit XmlSchemaAnnotated
Public Class XmlSchemaAttribute
Inherits XmlSchemaAnnotated
Наследование

Примеры

В следующем примере создается attribute элемент.

using System;
using System.Xml;
using System.Xml.Schema;

class XMLSchemaExamples
{
    public static void Main()
    {

        XmlSchema schema = new XmlSchema();

        // <xs:attribute name="mybaseattribute">
        XmlSchemaAttribute attributeBase = new XmlSchemaAttribute();
        schema.Items.Add(attributeBase);
        attributeBase.Name = "mybaseattribute";

        // <xs:simpleType>
        XmlSchemaSimpleType simpleType = new XmlSchemaSimpleType();
        attributeBase.SchemaType = simpleType;

        // <xs:restriction base="integer">
        XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction();
        simpleType.Content = restriction;
        restriction.BaseTypeName = new XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");

        // <xs:maxInclusive value="1000"/>
        XmlSchemaMaxInclusiveFacet maxInclusive = new XmlSchemaMaxInclusiveFacet();
        restriction.Facets.Add(maxInclusive);
        maxInclusive.Value = "1000";

        // <xs:complexType name="myComplexType">
        XmlSchemaComplexType complexType = new XmlSchemaComplexType();
        schema.Items.Add(complexType);
        complexType.Name = "myComplexType";

        // <xs:attribute ref="mybaseattribute"/>
        XmlSchemaAttribute attributeBaseRef = new XmlSchemaAttribute();
        complexType.Attributes.Add(attributeBaseRef);
        attributeBaseRef.RefName = new XmlQualifiedName("mybaseattribute");

        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 Explicit On
Option Strict On

Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples
    Public Shared Sub Main()
        Dim schema As New XmlSchema()

        ' <xs:attribute name="mybaseattribute">
        Dim attributeBase As New XmlSchemaAttribute()
        schema.Items.Add(attributeBase)
        attributeBase.Name = "mybaseattribute"

        ' <xs:simpleType>
        Dim simpleType As New XmlSchemaSimpleType()
        attributeBase.SchemaType = simpleType

        ' <xs:restriction base="integer">
        Dim restriction As New XmlSchemaSimpleTypeRestriction()
        simpleType.Content = restriction
        restriction.BaseTypeName = New XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema")

        ' <xs:maxInclusive value="1000"/>
        Dim maxInclusive As New XmlSchemaMaxInclusiveFacet()
        restriction.Facets.Add(maxInclusive)
        maxInclusive.Value = "1000"

        ' <xs:complexType name="myComplexType">
        Dim complexType As New XmlSchemaComplexType()
        schema.Items.Add(complexType)
        complexType.Name = "myComplexType"

        ' <xs:attribute ref="mybaseattribute"/>
        Dim attributeBaseRef As New XmlSchemaAttribute()
        complexType.Attributes.Add(attributeBaseRef)
        attributeBaseRef.RefName = New XmlQualifiedName("mybaseattribute")

        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:attribute name="mybaseattribute">
        <xs:simpleType>
            <xs:restriction base="xs:integer">
                <xs:maxInclusive value="1000" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:complexType name="myComplexType">
        <xs:attribute ref="mybaseattribute" />
    </xs:complexType>
</xs:schema>

Комментарии

Объявления атрибутов могут присутствовать в виде дочерних элементов элемента (с глобальной schema областью) или в определениях сложных типов. Для сложных типов объявления атрибутов могут присутствовать в виде локальных объявлений или ссылок на атрибуты с глобальной областью. Как глобальные, так и локальные объявления атрибутов имеют необязательный атрибут типа, который относится к существующему простому типу. Если атрибут необязательного типа не используется, объявление атрибута (глобальное или локальное) должно определить локальный простой тип.

Конструкторы

Имя Описание
XmlSchemaAttribute()

Инициализирует новый экземпляр класса XmlSchemaAttribute.

Свойства

Имя Описание
Annotation

Возвращает или задает annotation свойство.

(Унаследовано от XmlSchemaAnnotated)
AttributeSchemaType

XmlSchemaSimpleType Возвращает объект, представляющий тип атрибута на SchemaType основе атрибута или SchemaTypeName атрибута.

AttributeType
Устаревшие..
Устаревшие..
Устаревшие..

Возвращает объект среды CLR на SchemaType основе атрибута SchemaTypeName , который содержит значение AttributeType свойства после компиляции.

DefaultValue

Возвращает или задает значение по умолчанию для атрибута.

FixedValue

Возвращает или задает фиксированное значение атрибута.

Form

Возвращает или задает форму для атрибута.

Id

Возвращает или задает идентификатор строки.

(Унаследовано от XmlSchemaAnnotated)
LineNumber

Возвращает или задает номер строки в файле, к которому schema ссылается элемент.

(Унаследовано от XmlSchemaObject)
LinePosition

Получает или задает позицию строки в файле, к которому schema ссылается элемент.

(Унаследовано от XmlSchemaObject)
Name

Возвращает или задает имя атрибута.

Namespaces

Возвращает или задает XmlSerializerNamespaces для использования с этим объектом схемы.

(Унаследовано от XmlSchemaObject)
Parent

Возвращает или задает родительский элемент этого XmlSchemaObjectэлемента.

(Унаследовано от XmlSchemaObject)
QualifiedName

Возвращает полное имя атрибута.

RefName

Возвращает или задает имя атрибута, объявленного в этой схеме (или другую схему, указанную указанным пространством имен).

SchemaType

Возвращает или задает тип атрибута простым типом.

SchemaTypeName

Возвращает или задает имя простого типа, определенного в этой схеме (или другую схему, указанную указанным пространством имен).

SourceUri

Возвращает или задает исходное расположение файла, загруженного схемой.

(Унаследовано от XmlSchemaObject)
UnhandledAttributes

Возвращает или задает квалифицированные атрибуты, которые не принадлежат целевому пространству имен текущей схемы.

(Унаследовано от XmlSchemaAnnotated)
Use

Возвращает или задает сведения об использовании атрибута.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к