/// <summary>
        /// Verify the requirements of the complex type DataDefinition.
        /// </summary>
        /// <param name="data">The actual DataDefinition complex type.</param>
        private void VerifyDataDefinition(DataDefinition data)
        {
            // Verify R1296
            // The response have been received successfully, then the following requirement can be captured.
            // If the response is not received and parsed successfully, the test case will fail before this requirement is captured 
            Site.CaptureRequirement(
                1296,
                @"[DataDefinition]Specifies items contained within a list.");

            // Verify R1297
            // The response have been received successfully, then the following requirement can be captured.
            // If the response is not received and parsed successfully, the test case will fail before this requirement is captured 
            Site.CaptureRequirement(
                1297,
                @"[The schema of DataDefinition is defined as:] "
                + @"<s:complexType name=""DataDefinition"" mixed=""true"">"
                + @"  <s:sequence>"
                + @"    <s:any minOccurs=""0"" maxOccurs=""unbounded""/>"
                + @"  </s:sequence>"
                + @" <s:attribute name=""ItemCount"" type=""s:string"" use=""required"" />"
                + @" <s:attribute name=""ListItemCollectionPositionNext"" type =""s:string"" use=""optional""/>"
                + @"</s:complexType>");

            Site.Assert.IsNotNull(data, "The data cannot be null");

            // Verify R1298
            // The response have been received successfully, then the following requirement can be captured.
            // If the response is not received and parsed successfully, the test case will fail before this requirement is captured 
            Site.CaptureRequirement(
                1298,
                @"[DataDefinition]The DataDefinition element contains a required ItemCount "
                + "attribute and an optional ListItemCollectionPositionNext attribute.");

            // Verify MS-LISTSWS requirement: MS-LISTSWS_R1299
            // If the ItemCount can be parsed to a UInt32 and the value equal to the
            // count of the row in the element, then the following requirement can be captured.
            uint itemCountValue = 0;
            this.Site.Assert.IsTrue(
                uint.TryParse(data.ItemCount, out itemCountValue),
                "The value of ItemCount[{0}] should be a valid uint32 value.",
                string.IsNullOrEmpty(data.ItemCount) ? "Null" : data.ItemCount);

            if (itemCountValue.Equals(0))
            {
                // if the item count equal to 0, there should be no any row data, then capture R1299
                Site.CaptureRequirementIfIsNull(
                 data.Any,
                 1299,
                 @"[DataDefinition]The ItemCount attribute is an unsigned 32-bit integer that "
                 + "specifies the number of list items that are included in the response.");
            }
            else
            {
                // if the item count does not equal to 0, the number of row items should be equal to the itemCount, then capture R1299
                this.Site.Assert.IsNotNull(data.Any, "The row data should not be null, if the item[{0}] does not equal to Zero", itemCountValue);
                Site.CaptureRequirementIfAreEqual(
                 itemCountValue,
                 (uint)data.Any.Length,
                 1299,
                 @"[DataDefinition]The ItemCount attribute is an unsigned 32-bit integer that "
                 + "specifies the number of list items that are included in the response.");
            }

            // Verify R1300
            // The response have been received successfully, then the following requirement can be captured.
            // If the response is not received and parsed successfully, the test case will fail before this requirement is captured 
            Site.CaptureRequirement(
                1300,
                @"[DataDefinition]ListItemCollectionPositionNext is used "
                + "by protocol server methods that support paging of results "
                + "and it[ListItemCollectionPositionNext] is an opaque string returned by the protocol server "
                + "that allows the protocol client to pass in a subsequent call to get the next page of data.");

            // Verify R1301
            if (int.Parse(data.ItemCount) > 0)
            {
                // Verify MS-LISTSWS requirement: MS-LISTSWS_R1301
                Site.CaptureRequirementIfAreEqual<int>(
                    int.Parse(data.ItemCount),
                    data.Any.Length,
                    1301,
                    @"[DataDefinition]The DataDefinition element further contains a number of z:row "
                    + "elements equal to the value of the ItemCount attribute.");
            }

            // Verify R2392
            // The response have been received successfully, then the following requirement can be captured.
            // If the response is not received and parsed successfully, the test case will fail before this requirement is captured 
            Site.CaptureRequirement(
                2392,
                @"data: Within the data element, zero or more 'z:row' sub-elements are "
                + @"present, denoting ""rows"" of the tabular data.");

            // Verify R2255
            // The response have been received successfully, then the following requirement can be captured.
            // If the response is not received and parsed successfully, the test case will fail before this requirement is captured 
            Site.CaptureRequirement(
                2255,
                @"[DataDefinition]Each z:row element describes a single list item.");

            // Verify R1302
            // The response have been received successfully, then the following requirement can be captured.
            // If the response is not received and parsed successfully, the test case will fail before this requirement is captured 
            Site.CaptureRequirement(
                1302,
                @"[DataDefinition]z is equal to #RowsetSchema in the Microsoft ADO 2.6 "
                + "Persistence format (as specified in  [MS-PRSTFR]).");

            // Verify R1202
            // If all the above requirements are verified, then the requirement can be 
            // captured.
            Site.CaptureRequirement(
                1202,
                @"[In Complex Types]The Complex type DataDefinition is used Specifies items "
                + "contained within a list.");
        }