XmlSchemaInference 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XML 문서에서 XSD(XML 스키마 정의 언어) 스키마를 유추합니다. XmlSchemaInference 클래스는 상속될 수 없습니다.
public ref class XmlSchemaInference sealed
public sealed class XmlSchemaInference
type XmlSchemaInference = class
Public NotInheritable Class XmlSchemaInference
- 상속
-
XmlSchemaInference
예제
이 예제에서는 XML 파일을 입력으로 사용하고 예제 XML의 유효성을 검사할 수 있는 스키마를 생성합니다.
XmlReader^ reader = XmlReader::Create("contosoBooks.xml");
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
XmlSchemaInference^ schema = gcnew XmlSchemaInference();
schemaSet = schema->InferSchema(reader);
for each (XmlSchema^ s in schemaSet->Schemas())
{
s->Write(Console::Out);
}
XmlReader reader = XmlReader.Create("contosoBooks.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();
schemaSet = schema.InferSchema(reader);
foreach (XmlSchema s in schemaSet.Schemas())
{
s.Write(Console.Out);
}
Dim reader As XmlReader = XmlReader.Create("contosoBooks.xml")
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
Dim schema As XmlSchemaInference = New XmlSchemaInference()
schemaSet = schema.InferSchema(reader)
For Each s As XmlSchema In schemaSet.Schemas()
s.Write(Console.Out)
Next
다음은 입력 XML 파일입니다.
<bookstore xmlns="http://www.contoso.com/books">
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
다음은 XML 문서에서 유추된 스키마입니다.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="bookstore">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" />
<xs:element name="author">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="first-name" type="xs:string" />
<xs:element minOccurs="0" name="last-name" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="price" type="xs:decimal" />
</xs:sequence>
<xs:attribute name="genre" type="xs:string" use="required" />
<xs:attribute name="publicationdate" type="xs:date" use="required" />
<xs:attribute name="ISBN" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
설명
중요
- 알 수 없거나 신뢰할 수 없는 출처 또는 위치에서 스키마를 사용 하지 마세요. 이렇게 하면 코드의 보안이 손상 됩니다.
- XML 스키마 (인라인 스키마 포함)는 서비스 거부 공격;에 기본적으로 취약 이러한 신뢰할 수 없는 시나리오에서 허용 하지 않습니다.
- 스키마 유효성 검사 오류 메시지 및 예외 콘텐츠 모델 또는 스키마 파일에 URI 경로 대 한 중요 한 정보를 노출할 수 있습니다. 신뢰할 수 없는 호출자에 게이 정보를 노출 하지 않도록 주의 해야 합니다.
XmlSchemaInference 네임스페이스의 System.Xml.Schema 클래스를 사용하면 XML 문서의 구조에서 XSD(XML 스키마 정의 언어) 스키마를 유추할 수 있습니다. XmlSchemaInference 클래스는 XML 문서의 유효성을 검사할 수 있는 XML 스키마를 출력합니다.
클래스는 XmlSchemaInference W3C XML 및 XML 스키마 표준을 지원합니다. 새 스키마를 유추하거나 기존 스키마를 구체화하는 데 사용할 수 있습니다.
생성자
XmlSchemaInference() |
XmlSchemaInference 클래스의 새 인스턴스를 초기화합니다. |
속성
Occurrence |
XML 문서에서 유추되는 스키마 발생 선언에 영향을 주는 XmlSchemaInference.InferenceOption 값을 가져오거나 설정합니다. |
TypeInference |
XML 문서에서 유추되는 형식에 영향을 주는 XmlSchemaInference.InferenceOption 값을 가져오거나 설정합니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
InferSchema(XmlReader) |
지정된 XmlReader 개체에 포함된 XML 문서에서 XSD(XML 스키마 정의 언어) 스키마를 유추합니다. |
InferSchema(XmlReader, XmlSchemaSet) |
지정된 XmlReader 개체에 포함된 XML 문서에서 XSD(XML 스키마 정의 언어) 스키마를 유추한 후 이 스키마를 XmlSchemaSet 개체에서 대상 네임스페이스가 같은 기존 스키마를 사용하여 구체화합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET