XML 지속성 형식
ADO는 유지하는 XML 스트림에 UTF-8 인코딩을 사용합니다.
ADO XML 형식은 스키마 섹션과 데이터 섹션으로 나뉩니다. 다음은 Northwind 데이터베이스의 Shippers 테이블에 대한 예제 XML 파일입니다. 이 예제에 이어 XML의 여러 부분에 대해 설명합니다.
설명
<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema">
<s:Schema id="RowsetSchema">
<s:ElementType name="row" content="eltOnly" rs:updatable="true">
<s:AttributeType name="ShipperID" rs:number="1"
rs:basetable="shippers" rs:basecolumn="ShipperID"
rs:keycolumn="true">
<s:datatype dt:type="int" dt:maxLength="4" rs:precision="10"
rs:fixedlength="true" rs:maybenull="false"/>
</s:AttributeType>
<s:AttributeType name="CompanyName" rs:number="2"
rs:nullable="true" rs:write="true" rs:basetable="shippers"
rs:basecolumn="CompanyName">
<s:datatype dt:type="string" dt:maxLength="40" />
</s:AttributeType>
<s:AttributeType name="Phone" rs:number="3" rs:nullable="true"
rs:write="true" rs:basetable="shippers"
rs:basecolumn="Phone">
<s:datatype dt:type="string" dt:maxLength="24"/>
</s:AttributeType>
<s:extends type="rs:rowbase"/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row ShipperID="1" CompanyName="Speedy Express"
Phone="(503) 555-9831"/>
<z:row ShipperID="2" CompanyName="United Package"
Phone="(503) 555-3199"/>
<z:row ShipperID="3" CompanyName="Federal Shipping"
Phone="(503) 555-9931"/>
</rs:data>
</xml>
스키마는 네임스페이스, 스키마 섹션 및 데이터 섹션의 선언을 보여 줍니다. 스키마 섹션에는 행, ShipperID, CompanyName 및 Phone에 대한 정의가 포함되어 있습니다.
스키마 정의는 W3C XML-Data 사양을 준수하며 완전하게 유효성을 검사할 수 있습니다(Internet Explorer 5에서는 유효성 검사가 수행되지 않음). XML-Data는 현재 레코드 집합 지속성에 대해 지원되는 유일한 스키마 형식입니다.
데이터 섹션에는 운송업체에 대한 정보가 포함된 세 개의 행이 있습니다. 빈 행 집합의 경우 데이터 섹션이 비어 있을 수 있지만 <rs:data> 태그가 있어야 합니다. 데이터가 없으면 단순히 <rs:data/>로 약식 태그를 작성할 수 있습니다. "rs" 접두사가 있는 태그는 urn:schemas-microsoft-com:rowset에 의해 정의된 네임스페이스에 있음을 나타냅니다.