Format de persistance XML
ADO utilise l’encodage UTF-8 pour le flux XML qu’il conserve.
Le format XML ADO est divisé en deux sections, une section de schéma suivie de la section de données. Voici un exemple de fichier XML pour la table Shippers de la base de données Northwind. Les différentes parties du XML sont abordées à la suite de l'exemple.
Notes
<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>
Le schéma affiche les déclarations d’espaces de noms, la section de schéma et la section de données. La section de schéma contient des définitions pour row, ShipperID, CompanyName et Phone.
Les définitions de schéma sont conformes à la Spécification XML-Data W3C et peuvent être entièrement validées (bien que la validation ne se produise pas dans Internet Explorer 5). XML-Data est actuellement le seul format de schéma pris en charge pour la persistance de Recordset.
La section de données compte trois lignes contenant des informations sur les expéditeurs. Pour un ensemble de lignes vide, la section de données peut être vide, mais les balises <rs:data> doivent être présentes. Sans données, vous pourriez écrire la balise en raccourci simplement sous la forme <rs:data/>. Le préfixe « rs » devant toute balise indique que celle-ci se trouve dans l’espace de noms défini par urn:schemas-microsoft-com:rowset.