XmlSchemaAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент attribute
из схемы XML, определенной консорциумом World Wide Web Consortium (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 <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:attribute name="mybaseattribute">
XmlSchemaAttribute^ attributeBase = gcnew XmlSchemaAttribute();
schema->Items->Add(attributeBase);
attributeBase->Name = "mybaseattribute";
// <xs:simpleType>
XmlSchemaSimpleType^ simpleType = gcnew XmlSchemaSimpleType();
attributeBase->SchemaType = simpleType;
// <xs:restriction base="integer">
XmlSchemaSimpleTypeRestriction^ restriction = gcnew XmlSchemaSimpleTypeRestriction();
simpleType->Content = restriction;
restriction->BaseTypeName = gcnew XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");
// <xs:maxInclusive value="1000"/>
XmlSchemaMaxInclusiveFacet^ maxInclusive = gcnew XmlSchemaMaxInclusiveFacet();
restriction->Facets->Add(maxInclusive);
maxInclusive->Value = "1000";
// <xs:complexType name="myComplexType">
XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
schema->Items->Add(complexType);
complexType->Name = "myComplexType";
// <xs:attribute ref="mybaseattribute"/>
XmlSchemaAttribute^ attributeBaseRef = gcnew XmlSchemaAttribute();
complexType->Attributes->Add(attributeBaseRef);
attributeBaseRef->RefName = gcnew XmlQualifiedName("mybaseattribute");
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: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 |
Возвращает или задает свойство |
AttributeSchemaType |
Получение объекта XmlSchemaSimpleType, представляющего тип атрибута на основе SchemaType или SchemaTypeName атрибута. |
AttributeType |
Является устаревшей.
Является устаревшей.
Является устаревшей.
Получение объекта CLR на основе SchemaType или SchemaTypeName атрибута, который содержит значение после компиляции свойства |
DefaultValue |
Возвращает или задает значение по умолчанию для атрибута. |
FixedValue |
Возвращает или задает фиксированное значение атрибута. |
Form |
Возвращает или задает форму для атрибута. |
Id |
Получает или задает идентификатор строки. (Унаследовано от XmlSchemaAnnotated) |
LineNumber |
Получает или задает номер строки в файле, на которую ссылается элемент |
LinePosition |
Получает или задает позицию в строке файла, на которую ссылается элемент |
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) |