이 항목에서는 알아야 할 몇 가지 구현 세부 정보를 설명합니다.
목록 매핑
IList, ICollection, IEnumerableType[] 및 String 형식은 XSD(XML 스키마 정의 언어) 목록 형식을 나타내는 데 사용됩니다.
유니온 매핑
공용 유형은 XmlAtomicValue 또는 String 유형을 사용하여 표시됩니다. 따라서 원본 형식 또는 대상 형식은 항상 하나 String 또는 XmlAtomicValue.이어야 합니다.
개체가 XmlSchemaDatatype 목록 형식을 나타내는 경우 개체는 입력 문자열 값을 하나 이상의 개체 목록으로 변환합니다. XmlSchemaDatatype 공용 구조체 형식을 나타내는 경우 입력 값을 공용 구조체의 멤버 형식으로 구문 분석하려고 시도합니다. 구문 분석 시도가 실패하면 변환이 성공할 때까지 순차적으로 공용체의 다음 멤버를 사용하여 변환을 시도하며, 변환이 성공하지 않고 시도할 다른 멤버 형식이 남아 있지 않으면 예외가 발생합니다.
CLR과 XML 데이터 형식 간의 차이점
다음은 CLR 형식과 XML 데이터 형식 간에 발생할 수 있는 특정 불일치와 처리 방법에 대해 설명합니다.
비고
xs
접두사는 https://www.w3.org/2001/XMLSchema 및 네임스페이스 URI에 매핑됩니다.
System.TimeSpan 및 xs:duration
형식 xs:duration
는 서로 다르지만 동등한 특정 기간 값이 존재하는 것에서 부분적으로 정렬되어 있습니다. 즉 xs:duration
, 1개월(P1M)과 같은 형식 값의 경우 32일(P32D) 미만, 27일(P27D)보다 크고 28, 29 또는 30일과 같습니다.
클래스는 TimeSpan 이 부분 순서를 지원하지 않습니다. 대신 1년 1개월의 특정 일 수를 선택합니다. 각각 365일과 30일입니다.
형식에 대한 xs:duration
자세한 내용은 W3C XML 스키마 파트 2: 데이터 형식 권장 사항을 참조하세요.
xs:time, Gregorian 날짜 형식 및 System.DateTime
xs:time
값이 DateTime 개체로 매핑될 때, 필드는 MinValue 개체의 날짜 속성을 가능한 가장 작은 DateTime 값으로 초기화하기 위해 사용됩니다 (예: Year, Month, 및 Day).
마찬가지로 xs:gMonth
, xs:gDay
, xs:gYear
, xs:gYearMonth
및 xs:gMonthDay
의 인스턴스도 DateTime 객체에 매핑됩니다.
DateTime 객체의 사용되지 않는 속성은 MinValue의 속성으로 초기화됩니다.
비고
DateTime.Year로 콘텐츠가 입력될 때 xs:gMonthDay
값을 신뢰할 수 없습니다. 이 DateTime.Year 경우 값은 항상 1904로 설정됩니다.
xs:anyURI 및 System.Uri
상대 URI를 나타내는 xs:anyURI
의 인스턴스가 Uri에 매핑될 때, Uri 개체는 기본 URI를 가지지 않습니다.
참고하십시오
.NET