次の方法で共有


XmlSchemaDatatype クラス

定義

XmlSchemaDatatype クラスは、XML スキーマ定義言語 (XSD: XML Schema Definition Language) 型を共通言語ランタイム (CLR: Common Language Runtime) 型に割り当てるための抽象クラスです。

public ref class XmlSchemaDatatype abstract
public abstract class XmlSchemaDatatype
type XmlSchemaDatatype = class
Public MustInherit Class XmlSchemaDatatype
継承
XmlSchemaDatatype

次の例は、クラスの使用を XmlSchemaDatatype 示しています。

#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()
    {
        XmlTextReader^ xtr = gcnew XmlTextReader("example.xsd");
        XmlSchema^ schema = XmlSchema::Read(xtr, gcnew ValidationEventHandler(ValidationCallbackOne));

        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;
        }

        for each (XmlSchemaObject^ schemaObject in compiledSchema->Items)
        {
            if (schemaObject->GetType() == XmlSchemaSimpleType::typeid)
            {
                XmlSchemaSimpleType^ simpleType = dynamic_cast<XmlSchemaSimpleType^>(schemaObject);
                Console::WriteLine("{0} {1}", simpleType->Name, simpleType->Datatype->ValueType);
            }
            if (schemaObject->GetType() == XmlSchemaComplexType::typeid)
            {
                XmlSchemaComplexType^ complexType = dynamic_cast<XmlSchemaComplexType^>(schemaObject);
                Console::WriteLine("{0} {1}", complexType->Name, complexType->Datatype->ValueType);
            }
        }
        xtr->Close();
    }

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

派生クラスでオーバーライドされると、W3C (World Wide Web Consortium) XML 1.0 仕様で指定された string の型を取得します。

TypeCode

単純型の XmlTypeCode 値を取得します。

ValueType

派生クラスでオーバーライドされた場合、項目の共通言語ランタイム (CLR) 型を取得します。

Variety

単純型の XmlSchemaDatatypeVariety 値を取得します。

メソッド

ChangeType(Object, Type)

型が XmlSchemaDatatype で表された XML スキーマ型の有効な共通言語ランタイム (CLR) 表現の 1 つである指定された値を、指定された CLR 型に変換します。

ChangeType(Object, Type, IXmlNamespaceResolver)

XmlSchemaDatatype が xs:QName 型を表すか、またはそれから派生した型を表す場合に、型が IXmlNamespaceResolver で表された XML スキーマ型の有効な共通言語ランタイム (CLR) 表現の 1 つである指定された値を、XmlSchemaDatatype を使用して指定された CLR 型に変換します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsDerivedFrom(XmlSchemaDatatype)

IsDerivedFrom(XmlSchemaDatatype) メソッドは常に false を返します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

派生クラスでオーバーライドされると、組み込みの単純型またはユーザー定義の単純型に対して指定された string を検証します。

ParseValue(String, XmlNameTable, XmlNamespaceManager)

派生クラスでオーバーライドされると、組み込みの単純型またはユーザー定義の単純型に対して指定された文字列を検証します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象