XmlSchemaDatatype.ParseValue XmlSchemaDatatype.ParseValue XmlSchemaDatatype.ParseValue XmlSchemaDatatype.ParseValue Method

定義

オーバーロード

ParseValue(String, XmlNameTable, IXmlNamespaceResolver) ParseValue(String, XmlNameTable, IXmlNamespaceResolver) ParseValue(String, XmlNameTable, IXmlNamespaceResolver) ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

派生クラスでオーバーライドされると、組み込みの単純型またはユーザー定義の単純型に対して指定された string を検証します。When overridden in a derived class, validates the string specified against a built-in or user-defined simple type.

ParseValue(String, XmlNameTable, XmlNamespaceManager) ParseValue(String, XmlNameTable, XmlNamespaceManager) ParseValue(String, XmlNameTable, XmlNamespaceManager) ParseValue(String, XmlNameTable, XmlNamespaceManager)

派生クラスでオーバーライドされると、組み込みの単純型またはユーザー定義の単純型に対して指定された文字列を検証します。When overridden in a derived class, validates the specified string against a built-in or user-defined simple type.

ParseValue(String, XmlNameTable, IXmlNamespaceResolver) ParseValue(String, XmlNameTable, IXmlNamespaceResolver) ParseValue(String, XmlNameTable, IXmlNamespaceResolver) ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

派生クラスでオーバーライドされると、組み込みの単純型またはユーザー定義の単純型に対して指定された string を検証します。When overridden in a derived class, validates the string specified against a built-in or user-defined simple type.

public:
 abstract System::Object ^ ParseValue(System::String ^ s, System::Xml::XmlNameTable ^ nameTable, System::Xml::IXmlNamespaceResolver ^ nsmgr);
public abstract object ParseValue (string s, System.Xml.XmlNameTable nameTable, System.Xml.IXmlNamespaceResolver nsmgr);
abstract member ParseValue : string * System.Xml.XmlNameTable * System.Xml.IXmlNamespaceResolver -> obj
Public MustOverride Function ParseValue (s As String, nameTable As XmlNameTable, nsmgr As IXmlNamespaceResolver) As Object

パラメーター

s
String String String String

単純型に対して検証する stringThe string to validate against the simple type.

nameTable
XmlNameTable XmlNameTable XmlNameTable XmlNameTable

この XmlNameTable オブジェクトが xs:NCName 型を表す場合に、string の解析時に最小単位に分割するために使用する XmlSchemaDatatypeThe XmlNameTable to use for atomization while parsing the string if this XmlSchemaDatatype object represents the xs:NCName type.

nsmgr
IXmlNamespaceResolver IXmlNamespaceResolver IXmlNamespaceResolver IXmlNamespaceResolver

この IXmlNamespaceResolver オブジェクトが xs:QName 型を表す場合に、string の解析時に使用する XmlSchemaDatatype オブジェクト。The IXmlNamespaceResolver object to use while parsing the string if this XmlSchemaDatatype object represents the xs:QName type.

戻り値

Object プロパティで返される型に安全にキャストできる ValueTypeAn Object that can be cast safely to the type returned by the ValueType property.

例外

入力値は、この W3C XML スキーマ型の有効なインスタンスではありません。The input value is not a valid instance of this W3C XML Schema type.

解析する値を null にすることはできません。The value to parse cannot be null.

次の例では、取得、LotteryNumberとして example.xsd ファイルからの単純型、XmlSchemaSimpleTypeし検証します、 string @property`5`を使用して、ParseValueメソッド。The following example retrieves the LotteryNumber simple type from the example.xsd file as an XmlSchemaSimpleType and then validates the string value of 5 using the ParseValue method.

#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
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 'Main


    Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
        Console.WriteLine(args.Message)
    End Sub 'ValidationCallbackOne
End Class 'XMLSchemaExamples

上記のコード例では、次の XML ファイルは使用されます。The following XML file is used for the preceding code example.

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

注釈

ParseValueメソッドは、検証、string組み込みまたはユーザー定義の単純型に対して指定されています。The ParseValue method validates the string specified against a built-in or user-defined simple type. たとえば、この場合XmlSchemaDatatypeし、型 xs:date のインスタンスを表すDateTimeが返されます。For example, if this XmlSchemaDatatype represents the type xs:date, then an instance of DateTime is returned.

中に実行される手順を次に、ParseValueメソッドの検証プロセス。The following are the steps performed during the ParseValue method's validation process.

  1. として指定された値を変換、stringへの対応する共通言語ランタイム (CLR) を入力します。Convert the value specified as a string to its corresponding Common Language Runtime (CLR) type.

  2. 値に単純型に対して定義されているすべてのファセットに違反していないことを確認します。Verify that the value does not violate any facets defined for the simple type.

変換後の値として返されます、Objectによって返される型に安全にキャストできると、ValueTypeプロパティ。The converted value is then returned as an Object and can be cast safely to the type returned by the ValueType property.

ときに、XmlSchemaDatatypeオブジェクトは、入力リストの種類を表しますstring値が 1 つまたは複数のオブジェクトの一覧に変換されます。When the XmlSchemaDatatype object represents a list type, the input string value is converted to a list of one or more objects. ときに、XmlSchemaDatatypeオブジェクトがリスト型を表す、共用体のメンバーの種類として、入力値を解析する試行します。When the XmlSchemaDatatype object represents a list type, an attempt is made to parse the input value as a member type of the union. 解析に失敗した場合、共用体の次のメンバーに変換が試行まで解析が成功したかを解析するその他のメンバーの種類がありません。If the parse attempt fails, then the conversion is attempted with the next member of the union until the parse is successful or there are no other member types to parse. 解析が成功しなかった場合、例外がスローされます。If the parse is unsuccessful, an exception is thrown.

ParseValue(String, XmlNameTable, XmlNamespaceManager) ParseValue(String, XmlNameTable, XmlNamespaceManager) ParseValue(String, XmlNameTable, XmlNamespaceManager) ParseValue(String, XmlNameTable, XmlNamespaceManager)

派生クラスでオーバーライドされると、組み込みの単純型またはユーザー定義の単純型に対して指定された文字列を検証します。When overridden in a derived class, validates the specified string against a built-in or user-defined simple type.

public:
 abstract System::Object ^ ParseValue(System::String ^ s, System::Xml::XmlNameTable ^ nameTable, System::Xml::XmlNamespaceManager ^ nsmgr);
public abstract object ParseValue (string s, System.Xml.XmlNameTable nameTable, System.Xml.XmlNamespaceManager nsmgr);
abstract member ParseValue : string * System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager -> obj
Public MustOverride Function ParseValue (s As String, nameTable As XmlNameTable, nsmgr As XmlNamespaceManager) As Object

パラメーター

s
String String String String

単純型に対して検証する文字列。The string to validate against the simple type.

nameTable
XmlNameTable XmlNameTable XmlNameTable XmlNameTable

この XmlSchemaDatatype オブジェクトが xs:NCName 型を表す場合に、文字列の解析時に最小単位に分割するために使用する XmlNameTableThe XmlNameTable to use for atomization while parsing the string if this XmlSchemaDatatype object represents the xs:NCName type.

nsmgr
XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager

この XmlSchemaDatatype オブジェクトが xs:QName 型を表す場合に、文字列の解析時に使用する XmlNamespaceManager オブジェクト。The XmlNamespaceManager object to use while parsing the string if this XmlSchemaDatatype object represents the xs:QName type.

戻り値

Object プロパティで返される型に安全にキャストできる ValueTypeAn Object that can be safely cast to the type that is returned by the ValueType property.

例外

入力値は、この W3C XML スキーマ型の有効なインスタンスではありません。The input value is not a valid instance of this W3C XML Schema type.

解析対象の値を null (Visual Basic では Nothing) にすることはできません。The value to parse cannot be null (Nothing in Visual Basic).

注釈

ParseValueメソッドは、組み込みまたはユーザー定義の単純型に対して指定した文字列を検証します。The ParseValue method validates the specified string against a built-in or user-defined simple type. たとえば、この場合XmlSchemaDatatypeし、型 xs:date のインスタンスを表すDateTimeが返されます。For example, if this XmlSchemaDatatype represents the type xs:date, then an instance of DateTime is returned.

中に実行される手順を次に、ParseValueメソッドの検証プロセス。The following are the steps performed during the ParseValue method's validation process.

  1. 指定した文字列を対応する共通言語ランタイム (CLR) 型に変換します。Convert the specified string to its corresponding Common Language Runtime (CLR) type.

  2. 値に単純型に対して定義されているすべてのファセットに違反していないことを確認します。Verify that the value does not violate any facets that are defined for the simple type.

変換後の値として返されます、Objectによって返される型に安全にキャストできると、ValueTypeプロパティ。The converted value is then returned as an Object and can be cast safely to the type that is returned by the ValueType property.

ときに、XmlSchemaDatatypeオブジェクトがリスト型を表す、入力文字列の値が 1 つまたは複数のオブジェクトの一覧に変換されます。When the XmlSchemaDatatype object represents a list type, the input string value is converted to a list of one or more objects. ときに、XmlSchemaDatatypeオブジェクトがリスト型を表す、共用体のメンバーの種類として、入力値を解析する試行します。When the XmlSchemaDatatype object represents a list type, an attempt is made to parse the input value as a member type of the union. 解析に失敗した場合、共用体の次のメンバーに変換が試行まで解析が成功したかを解析するその他のメンバーの種類がありません。If the parse attempt fails, then the conversion is attempted with the next member of the union until the parse is successful or there are no other member types to parse. 解析が成功しなかった場合、例外がスローされます。If the parse is unsuccessful, an exception is thrown.

適用対象