XmlSchemaDatatype Classe

Definizione

La XmlSchemaDatatype classe è una classe astratta per il mapping di tipi XSD (XML Schema Definition Language) a tipi CLR (Common Language Runtime).

public ref class XmlSchemaDatatype abstract
public abstract class XmlSchemaDatatype
type XmlSchemaDatatype = class
Public MustInherit Class XmlSchemaDatatype
Ereditarietà
XmlSchemaDatatype

Esempio

Nell'esempio seguente viene illustrato l'uso della XmlSchemaDatatype classe .

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

Il file XML seguente viene usato per l'esempio di codice precedente.

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

Costruttori

Nome Descrizione
XmlSchemaDatatype()

Inizializza una nuova istanza della classe XmlSchemaDatatype.

Proprietà

Nome Descrizione
TokenizedType

In caso di override in una classe derivata, ottiene il tipo per l'oggetto string come specificato nella specifica W3C (World Wide Web Consortium) XML 1.0.

TypeCode

Ottiene il XmlTypeCode valore per il tipo semplice.

ValueType

In caso di override in una classe derivata, ottiene il tipo CLR (Common Language Runtime) dell'elemento.

Variety

Ottiene il XmlSchemaDatatypeVariety valore per il tipo semplice.

Metodi

Nome Descrizione
ChangeType(Object, Type, IXmlNamespaceResolver)

Converte il valore specificato, il cui tipo è una delle rappresentazioni CLR (Common Language Runtime) valide del tipo xml Schema rappresentato da XmlSchemaDatatype, nel tipo CLR specificato utilizzando IXmlNamespaceResolver se XmlSchemaDatatype rappresenta il tipo xs:QName o un tipo derivato da esso.

ChangeType(Object, Type)

Converte il valore specificato, il cui tipo è una delle rappresentazioni CLR (Common Language Runtime) valide del tipo xml Schema rappresentato da XmlSchemaDatatype, nel tipo CLR specificato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDerivedFrom(XmlSchemaDatatype)

Il IsDerivedFrom(XmlSchemaDatatype) metodo restituisce falsesempre .

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

Quando sottoposto a override in una classe derivata, convalida l'oggetto string specificato in base a un tipo semplice predefinito o definito dall'utente.

ParseValue(String, XmlNameTable, XmlNamespaceManager)

In caso di override in una classe derivata, convalida la stringa specificata rispetto a un tipo semplice predefinito o definito dall'utente.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a