XmlSchemaDatatype.ParseValue 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
ParseValue(String, XmlNameTable, IXmlNamespaceResolver) |
파생 클래스에서 재정의된 경우 기본 제공되거나 사용자 정의된 단순 형식에 대해 지정한 |
ParseValue(String, XmlNameTable, XmlNamespaceManager) |
파생 클래스에서 재정의된 경우 기본 제공되거나 사용자 정의된 단순 형식에 대해 지정된 문자열의 유효성을 검사합니다. |
ParseValue(String, XmlNameTable, IXmlNamespaceResolver)
파생 클래스에서 재정의된 경우 기본 제공되거나 사용자 정의된 단순 형식에 대해 지정한 string
의 유효성을 검사합니다.
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);
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
입니다.
- nameTable
- XmlNameTable
이 XmlNameTable 개체가 xs:NCName 형식을 나타내는 경우 string
을 구문 분석하는 동안 원자화에 사용할 XmlSchemaDatatype입니다.
- nsmgr
- IXmlNamespaceResolver
이 IXmlNamespaceResolver 개체가 xs:QName 형식을 나타내는 경우 string
을 구문 분석하는 동안 사용할 XmlSchemaDatatype 개체입니다.
반환
Object 속성에서 반환하는 형식으로 안전하게 캐스팅할 수 있는 ValueType입니다.
예외
입력 값이 이 W3C XML 스키마 형식의 올바른 인스턴스가 아닌 경우
구문 분석할 값이 null
인 경우
예제
다음 예제 LotteryNumber
에서는 example.xsd 파일에서 단순 형식을 검색한 XmlSchemaSimpleType 다음 메서드 사용 ParseValue 값의 5
유효성을 검사합니다string
.
#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>
설명
메서드는 ParseValue 기본 제공 또는 사용자 정의 단순 형식에 대해 지정된 유효성을 검사 string
합니다. 예를 들어 xs XmlSchemaDatatype :date 형식을 나타내는 경우 인스턴스 DateTime 가 반환됩니다.
다음은 메서드의 유효성 검사 프로세스 중에 ParseValue 수행되는 단계입니다.
지정된 값을 해당 CLR(공용 언어 런타임) 형식으로
string
변환합니다.값이 단순 형식에 대해 정의된 패싯을 위반하지 않는지 확인합니다.
변환된 값은 다음으로 Object 반환 되 고 속성에서 반환 ValueType 된 형식에 안전 하 게 캐스팅할 수 있습니다.
개체가 XmlSchemaDatatype 목록 형식을 나타내는 경우 입력 string
값은 하나 이상의 개체 목록으로 변환됩니다. 개체가 XmlSchemaDatatype 목록 형식을 나타내는 경우 입력 값을 공용 구조체의 멤버 형식으로 구문 분석하려고 시도합니다. 구문 분석 시도가 실패하면 구문 분석이 성공하거나 구문 분석할 다른 멤버 형식이 없을 때까지 공용 구조체의 다음 멤버와 함께 변환을 시도합니다. 구문 분석이 실패하면 예외가 throw됩니다.
적용 대상
ParseValue(String, XmlNameTable, XmlNamespaceManager)
파생 클래스에서 재정의된 경우 기본 제공되거나 사용자 정의된 단순 형식에 대해 지정된 문자열의 유효성을 검사합니다.
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
단순 형식에 대해 유효성을 검사할 문자열입니다.
- nameTable
- XmlNameTable
이 XmlSchemaDatatype 개체가 xs:NCName 형식을 나타내는 경우 문자열을 구문 분석하는 동안 원자화에 사용할 XmlNameTable입니다.
- nsmgr
- XmlNamespaceManager
이 XmlSchemaDatatype 개체가 xs:QName 형식을 나타내는 경우 문자열을 구문 분석하는 동안 사용할 XmlNamespaceManager 개체입니다.
반환
Object 속성에서 반환하는 형식으로 안전하게 캐스팅할 수 있는 ValueType입니다.
예외
입력 값이 이 W3C XML 스키마 형식의 올바른 인스턴스가 아닌 경우
구문 분석할 값은 null(Visual Basic에서는 Nothing)일 수 없습니다.
설명
이 메서드는 ParseValue 기본 제공 또는 사용자 정의 단순 형식에 대해 지정된 문자열의 유효성을 검사합니다. 예를 들어 xs XmlSchemaDatatype :date 형식을 나타내는 경우 인스턴스 DateTime 가 반환됩니다.
다음은 메서드의 유효성 검사 프로세스 중에 ParseValue 수행되는 단계입니다.
지정된 문자열을 해당 CLR(공용 언어 런타임) 형식으로 변환합니다.
값이 단순 형식에 대해 정의된 패싯을 위반하지 않는지 확인합니다.
변환된 값은 다음으로 Object 반환 되 고 속성에서 반환 ValueType 되는 형식에 안전 하 게 캐스팅할 수 있습니다.
개체가 XmlSchemaDatatype 목록 형식을 나타내는 경우 입력 문자열 값은 하나 이상의 개체 목록으로 변환됩니다. 개체가 XmlSchemaDatatype 목록 형식을 나타내는 경우 입력 값을 공용 구조체의 멤버 형식으로 구문 분석하려고 시도합니다. 구문 분석 시도가 실패하면 구문 분석이 성공하거나 구문 분석할 다른 멤버 형식이 없을 때까지 공용 구조체의 다음 멤버와 함께 변환을 시도합니다. 구문 분석이 실패하면 예외가 throw됩니다.