B.3 diffgr Namespace

The diffgr namespace contains XML attributes used to mark up a DiffGram document with versioning information. Here's how the diffgr namespace is imported in a DiffGram document:

<xs:schema id="DataSetName" xmlns="" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
    xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" >

The diffgr namespace includes several attributes that can be applied to row elements, as described in Table B-9. The values hasChanges can take on are listed in Table B-10.

Table B-9. diffgr row attributes

Attribute

Description

id

Uniquely identifies a row. This pairs the elements in the <diffgr:before> and <diffgr:errors> sections to the current data. This value is generated using the table name and row identifier (for example, diffgr:id="Customers1").

parentId

Used with relationships. Identifies the element that's the parent for the current row, using the parent's diffgr:id attribute.

hasChanges

Flags a row, identifying that is has been modified. This attribute is used only in the <DataInstance> section and can take one of the three values described in Table B-10.

hasErrors

If set to true, the row is flagged as having an error (which is described in the <diffgr:errors> section).

Error

Contains the text of the DataRow.RowError property. This is used only in the <diffgr:errors> section.

Table B-10. Values for hasChanges

Attribute

Description

Inserted

Represents a newly added row.

modified

Represents a row in which at least some data has changed from the data in the <diffgr:before> section. This doesn't include the deleted row, which appears in the <diffgr:before> section but nowhere else.

descent

Identifies an element in which one or more children from a parent-child relationship have been modified.



    Part I: ADO.NET Tutorial
    Part II: ADO.NET Core Classes
    Part III: API Quick Reference