XmlSchemaDatatype Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Этот XmlSchemaDatatype класс является абстрактным классом для сопоставления типов языка определения XML-схемы (XSD) с типами CLR.
public ref class XmlSchemaDatatype abstract
public abstract class XmlSchemaDatatype
type XmlSchemaDatatype = class
Public MustInherit Class XmlSchemaDatatype
- Наследование
-
XmlSchemaDatatype
Примеры
В следующем примере показано использование XmlSchemaDatatype класса.
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlTextReader xtr = new XmlTextReader("example.xsd");
XmlSchema schema = XmlSchema.Read(xtr, new ValidationEventHandler(ValidationCallbackOne));
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;
}
foreach (XmlSchemaObject schemaObject in compiledSchema.Items)
{
if (schemaObject.GetType() == typeof(XmlSchemaSimpleType))
{
XmlSchemaSimpleType simpleType = (XmlSchemaSimpleType)schemaObject;
Console.WriteLine("{0} {1}", simpleType.Name, simpleType.Datatype.ValueType);
}
if (schemaObject.GetType() == typeof(XmlSchemaComplexType))
{
XmlSchemaComplexType complexType = (XmlSchemaComplexType)schemaObject;
Console.WriteLine("{0} {1}", complexType.Name, complexType.Datatype.ValueType);
}
}
xtr.Close();
}
public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
{
Console.WriteLine(args.Message);
}
}
Imports System.Xml
Imports System.Xml.Schema
_
Class XMLSchemaExamples
Public Shared Sub Main()
Dim xtr As New XmlTextReader("example.xsd")
Dim schema As XmlSchema = XmlSchema.Read(xtr, New ValidationEventHandler(AddressOf ValidationCallbackOne))
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 schemaObject As XmlSchemaObject
For Each schemaObject In compiledSchema.Items
If schemaObject.GetType() Is GetType(XmlSchemaSimpleType) Then
Dim simpleType As XmlSchemaSimpleType = CType(schemaObject, XmlSchemaSimpleType)
Console.WriteLine("{0} {1}", simpleType.Name, simpleType.Datatype.ValueType)
End If
If schemaObject.GetType() Is GetType(XmlSchemaComplexType) Then
Dim complexType As XmlSchemaComplexType = CType(schemaObject, XmlSchemaComplexType)
Console.WriteLine("{0} {1}", complexType.Name, complexType.Datatype.ValueType)
End If
Next schemaObject
xtr.Close()
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"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="LotteryNumber">
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="99"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Конструкторы
| Имя. | Описание |
|---|---|
| XmlSchemaDatatype() |
Инициализирует новый экземпляр класса XmlSchemaDatatype. |
Свойства
| Имя. | Описание |
|---|---|
| TokenizedType |
При переопределении в производном классе получает тип, |
| TypeCode |
XmlTypeCode Возвращает значение простого типа. |
| ValueType |
При переопределении в производном классе получает тип среды CLR элемента. |
| Variety |
XmlSchemaDatatypeVariety Возвращает значение простого типа. |
Методы
| Имя. | Описание |
|---|---|
| ChangeType(Object, Type, IXmlNamespaceResolver) |
Преобразует указанное значение, тип которого является одним из допустимых представлений среды CLR типа схемы XML, представленного XmlSchemaDatatypeтипом СРЕДЫ CLR, в тип СРЕДЫ CLR, указанный с помощью IXmlNamespaceResolverXmlSchemaDatatype типа xs:QName или типа, производного от него. |
| ChangeType(Object, Type) |
Преобразует указанное значение, тип которого является одним из допустимых представлений среды CLR типа схемы XML, представленного XmlSchemaDatatypeтипом СРЕДЫ CLR, в указанный тип CLR. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsDerivedFrom(XmlSchemaDatatype) |
Метод IsDerivedFrom(XmlSchemaDatatype) всегда возвращается |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ParseValue(String, XmlNameTable, IXmlNamespaceResolver) |
При переопределении в производном классе проверяет |
| ParseValue(String, XmlNameTable, XmlNamespaceManager) |
При переопределении в производном классе проверяет указанную строку на основе встроенного или определяемого пользователем простого типа. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |