티스토리 뷰
반응형
= devpia 강좌란에서 퍼온 자료임 =
쩝.. 이론.. 하나 강좌를 결국 3개로 쪼개니.. 올라가네여.. 2개로 나눠도 저장하는데.. 계속 에러나구... 결국 3개로 찢을수 밖에 없었습니다. 이해해 주시구요.. 생성된 xml 스키마에 설명에 대한 마지막 입니다. 참고로 본 문서는 MSDN 온라인 컬럼을 참고로 제작하였습니다. 이금우 ========================================== 데이터 형식 dt:type 속성을 가진 열에 데이터 형식을 적용할 수 있습니다. 사용 가능한 XML 유형을 보려면 http://www.w3.org/TR/1998/NOTE-XML-data-0105/#Datatypes 를 참조하십시오. 데이터 형식을 지정하는 방법은 두 가지가 있습니다. 즉, dt:type 속성을 열 정의에 직접 지정하거나 s:datatype 구조를 열 정의의 중첩된 요소로 사용합니다. 예를 들면 다음과 같습니다. < s:AttributeType name="Phone"> < s:datatype dt:type="string"> < /s:AttributeType> 위의 코드는 다음과 동일합니다. < s:AttributeType name="Phone" dt:type="string"> 행 정의에서 dt:type 속성을 생략할 경우 해당 열의 유형은 기본적으로 가변 길이 문자열이 됩니다. 단순히 유형 이름(예: dt:maxLength) 외에도 유형 정보를 많이 지정해야 할 경우에 는 s:datatype 자식 요소를 사용하는 것이 알아보기 쉽습니다. 이것은 관습일 뿐 필 수 사항은 아닙니다. 다음 예제는 스키마에 유형 정보를 포함시키는 방법을 보여 줍니다. < s:AttributeType name="title_id" > < s:AttributeType name="title_id" dt:type="string"> < s:AttributeType name="title_id"> < s:datatype dt:type="string" dt:maxLength="" rs:fixedlength="true"/> < /s:AttributeType> < s:AttributeType name="title_id?gt; < s:datatype dt:type="string" dt:maxLength=""/> < /s:AttributeType> < s:AttributeType name="title_id"dt:type="int"> 두 번째 예제에는 rs:fixedlength 속성의 미묘한 사용법이 나와 있습니다. rs:fixedlength 속성이 TRUE로 설정된 열은 해당 데이터의 길이가 스키마에 정의되 어 있음을 나타냅니다. 이런 경우, "123456"은 TITLE_ID의 유효한 값이지 만 "123"은 길이가 6이 아니라 3이기 때문에 유효하지 않습니다. FixedLength 속성 에 대한 자세한 내용은 OLE DB 사양을 참조하십시오. 널 값 처리 널 값은 rs:maybenull 속성에 의해 처리됩니다. 이 속성이 TRUE로 설정되면 열에 널 값이 포함될 수 있습니다. 또한, 데이터의 행에서 해당 열을 찾을 수 없으면 행 집합에서 데이터를 다시 읽어오는 사용자에게 IRowset::GetData()로부터 널 상태 가 반환됩니다. Shippers 테이블에서 다음 열 정의를 살펴 봅시다. < s:AttributeType name="ShipperID"> < s:datatype dt:type="int"dt:maxLength=""> < /s:AttributeType> < s:AttributeType name="CompanyName"> < s:datatype dt:type="string"dt:maxLength="0" rs:maybenull="true"> < /s:AttributeType> 위의 정의에 따르면 CompanyName에는 널 값을 사용할 수 있지만 ShipperID에는 널 값이 올 수 없습니다. 데이터 섹션에 다음 행이 포함되어 있을 경우 Persistence Provider는 CompanyName 열에 대해 데이터 상태를 DBSTATUS_S_ISNULL로 설정합 니다. < z:row ShipperID=??> 행이 다음과 같이 완전히 비어 있을 경우 Persistence Provider는 ShipperID에 는 DBSTATUS_E_UNAVAILABLE 상태를, CompanyName에는 DBSTATUS_S_ISNULL 상태 를 반환합니다. < z:row/> 길이가 0인 문자열은 널과 다릅니다. < z:row ShipperID="" CompanyName=""/> 위 행의 경우, Persistence Provider는 두 열에 대해 모두 DBSTATUS_S_OK를 반환 합니다. 이 경우 CompanyName은 단순히 ""(길이가 0인 문자열)입니다. OLE DB에 대한 XML 문서의 스키마에서 사용할 수 있는 OLE DB 구조에 대한 설명은 부록 에 포함된 urn:schemas-microsoft-com:rowset 정의와 OLE DB 사양을 참조 하십시오. 데이터 섹션 데이터 섹션은 행 집합의 데이터와 보류 중인 업데이트, 삽입, 삭제를 정의합니다. 데이터 섹션에는 0개 이상의 행이 포함될 수 있으며, 스키마에 의해 정의된 특정 행 집합의 데이터만 포함됩니다. 또한, 위에서 언급한 것처럼 데이터가 없는 열은 삭제 됩니다. 데이터 섹션에 속성이나 하위 요소가 사용되었지만 스키마 섹션에 해당 구조 가 정의되어 있지 않으면 무시됩니다. String 텍스트 데이터에서 예약된 XML 문자는 해당 문자 엔티티로 대체해야 합니다. 예를 들 어, 회사 이름 "Joe"s Garage"에서 작은 따옴표를 엔티티로 대체해야 합니다. 실 제 행은 다음과 같습니다. < z:row CompanyName= ppp Garage> 다음은 XML에서 예약된 문자이므로 해당 문자 엔티티로 대체해야 합니다.{?? &,< ,>}. Binary Binary 데이터는 bin.hex로 인코딩됩니다(4비트당 한 글자씩 1바이트가 두 글자에 대응됨). DateTime 여러 종류의 VT_DATE 형식은 XML 데이터 형식에서 직접 지원되지 않습니다. 데이터 와 시간 구성 요소에 모두 적합한 날짜 형식은 yyyy-mm-ddThh:mm:ss입니다. XML에서 지정된 날짜 형식에 대한 자세한 내용은 http://www.w3.org/TR/1998/NOTE-XML-data-0105/#Datatypes 를 참조하십시오. XML 데이터 사양이 두 개의 동일한 데이터 형식(예: i4 == int)을 정의할 경우, ADO는 쓸 때는 친숙한 이름을 사용하지만 읽을 때는 두 가지 이름을 모두 읽어옵니 다. ===================================================================== 휴 ~ |
반응형
'작업창고' 카테고리의 다른 글
[펌자료 ]초보자를 위한 XML Programming with VB 6.0 #5 (0) | 2010.10.08 |
---|---|
[펌자료]초보자를 위한 XML Programming with VB 6.0 #4 (0) | 2010.10.08 |
[펌자료]초보자를 위한 XML Programming with VB 6.0 #3 (0) | 2010.10.08 |
[펌자료]초보자를 위한 XML Programming with VB 6.0 #2 (0) | 2010.10.08 |
[펌자료]초보자를 위한 XML Programming with VB 6.0 #1 (0) | 2010.10.08 |
댓글
반응형
02-13 19:16
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- XML Programming with VB 6.0
- 플래쉬 게임
- Excel
- brawlstars
- 엑셀
- 고전명작
- 오락실 게임
- 플래쉬
- 플래쉬게임
- 추억의 게임
- SQL
- xml강좌
- 브롤스타즈
- C
- 좀비게임
- 플래시 게임
- 플래시게임
- XML
- 플래시
- J.S Bach
- 틀린그림찾기
- 레트로게임
- MS-SQL
- 오락실게임
- 8비트
- 8비트상성
- 중독성짱게임
- c#
- 고전게임
- 다른그림찾기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함