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. | |