Integrated some basic XML tests (from samples)

--- UnitTests/Xml/XmlSamples.cs
+++ UnitTests/Xml/XmlSamples.cs
@@ -487,7 +487,407 @@
   </aw:Items>
 </aw:PurchaseOrder>");

-            //TODO
+            var documentawPurchaseOrder0 = document.ChildNodes[0];
+            Assert.AreEqual(9, documentawPurchaseOrder0.ChildNodes.Length);
+            Assert.AreEqual(3, documentawPurchaseOrder0.Attributes.Length);
+            Assert.AreEqual("aw:PurchaseOrder", documentawPurchaseOrder0.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrder0.Attributes["aw:PurchaseOrderNumber"]);
+            Assert.AreEqual("aw:PurchaseOrderNumber", documentawPurchaseOrder0.Attributes["aw:PurchaseOrderNumber"].Name);
+            Assert.AreEqual("99503", documentawPurchaseOrder0.Attributes["aw:PurchaseOrderNumber"].Value);
+
+            Assert.IsNotNull(documentawPurchaseOrder0.Attributes["aw:OrderDate"]);
+            Assert.AreEqual("aw:OrderDate", documentawPurchaseOrder0.Attributes["aw:OrderDate"].Name);
+            Assert.AreEqual("1999-10-20", documentawPurchaseOrder0.Attributes["aw:OrderDate"].Value);
+
+            Assert.IsNotNull(documentawPurchaseOrder0.Attributes["xmlns:aw"]);
+            Assert.AreEqual("xmlns:aw", documentawPurchaseOrder0.Attributes["xmlns:aw"].Name);
+            Assert.AreEqual("http://www.adventure-works.com", documentawPurchaseOrder0.Attributes["xmlns:aw"].Value);
+
+            var documentawPurchaseOrder0Text0 = documentawPurchaseOrder0.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0Text0.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrder0Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1 = documentawPurchaseOrder0.ChildNodes[1];
+            Assert.AreEqual(13, documentawPurchaseOrder0awAddress1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress1.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrder0awAddress1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrder0awAddress1.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrder0awAddress1.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Shipping", documentawPurchaseOrder0awAddress1.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrder0awAddress1Text0 = documentawPurchaseOrder0awAddress1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1Text0.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress1Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1awName1 = documentawPurchaseOrder0awAddress1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress1awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress1awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrder0awAddress1awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress1awName1.NodeType);
+
+            var documentawPurchaseOrder0awAddress1awName1Text0 = documentawPurchaseOrder0awAddress1awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1awName1Text0.NodeType);
+            Assert.AreEqual("Ellen Adams", documentawPurchaseOrder0awAddress1awName1Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1Text2 = documentawPurchaseOrder0awAddress1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1Text2.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress1Text2.TextContent);
+
+            var documentawPurchaseOrder0awAddress1awStreet3 = documentawPurchaseOrder0awAddress1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress1awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress1awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrder0awAddress1awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress1awStreet3.NodeType);
+
+            var documentawPurchaseOrder0awAddress1awStreet3Text0 = documentawPurchaseOrder0awAddress1awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1awStreet3Text0.NodeType);
+            Assert.AreEqual("123 Maple Street", documentawPurchaseOrder0awAddress1awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1Text4 = documentawPurchaseOrder0awAddress1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1Text4.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress1Text4.TextContent);
+
+            var documentawPurchaseOrder0awAddress1awCity5 = documentawPurchaseOrder0awAddress1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress1awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress1awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrder0awAddress1awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress1awCity5.NodeType);
+
+            var documentawPurchaseOrder0awAddress1awCity5Text0 = documentawPurchaseOrder0awAddress1awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1awCity5Text0.NodeType);
+            Assert.AreEqual("Mill Valley", documentawPurchaseOrder0awAddress1awCity5Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1Text6 = documentawPurchaseOrder0awAddress1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1Text6.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress1Text6.TextContent);
+
+            var documentawPurchaseOrder0awAddress1awState7 = documentawPurchaseOrder0awAddress1.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress1awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress1awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrder0awAddress1awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress1awState7.NodeType);
+
+            var documentawPurchaseOrder0awAddress1awState7Text0 = documentawPurchaseOrder0awAddress1awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1awState7Text0.NodeType);
+            Assert.AreEqual("CA", documentawPurchaseOrder0awAddress1awState7Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1Text8 = documentawPurchaseOrder0awAddress1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1Text8.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress1Text8.TextContent);
+
+            var documentawPurchaseOrder0awAddress1awZip9 = documentawPurchaseOrder0awAddress1.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress1awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress1awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrder0awAddress1awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress1awZip9.NodeType);
+
+            var documentawPurchaseOrder0awAddress1awZip9Text0 = documentawPurchaseOrder0awAddress1awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1awZip9Text0.NodeType);
+            Assert.AreEqual("10999", documentawPurchaseOrder0awAddress1awZip9Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1Text10 = documentawPurchaseOrder0awAddress1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1Text10.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress1Text10.TextContent);
+
+            var documentawPurchaseOrder0awAddress1awCountry11 = documentawPurchaseOrder0awAddress1.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress1awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress1awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrder0awAddress1awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress1awCountry11.NodeType);
+
+            var documentawPurchaseOrder0awAddress1awCountry11Text0 = documentawPurchaseOrder0awAddress1awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrder0awAddress1awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress1Text12 = documentawPurchaseOrder0awAddress1.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress1Text12.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrder0awAddress1Text12.TextContent);
+
+            var documentawPurchaseOrder0Text2 = documentawPurchaseOrder0.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0Text2.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrder0Text2.TextContent);
+
+            var documentawPurchaseOrder0awAddress3 = documentawPurchaseOrder0.ChildNodes[3];
+            Assert.AreEqual(13, documentawPurchaseOrder0awAddress3.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress3.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrder0awAddress3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrder0awAddress3.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrder0awAddress3.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Billing", documentawPurchaseOrder0awAddress3.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrder0awAddress3Text0 = documentawPurchaseOrder0awAddress3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3Text0.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress3Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress3awName1 = documentawPurchaseOrder0awAddress3.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress3awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress3awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrder0awAddress3awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress3awName1.NodeType);
+
+            var documentawPurchaseOrder0awAddress3awName1Text0 = documentawPurchaseOrder0awAddress3awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3awName1Text0.NodeType);
+            Assert.AreEqual("Tai Yee", documentawPurchaseOrder0awAddress3awName1Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress3Text2 = documentawPurchaseOrder0awAddress3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3Text2.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress3Text2.TextContent);
+
+            var documentawPurchaseOrder0awAddress3awStreet3 = documentawPurchaseOrder0awAddress3.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress3awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress3awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrder0awAddress3awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress3awStreet3.NodeType);
+
+            var documentawPurchaseOrder0awAddress3awStreet3Text0 = documentawPurchaseOrder0awAddress3awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3awStreet3Text0.NodeType);
+            Assert.AreEqual("8 Oak Avenue", documentawPurchaseOrder0awAddress3awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress3Text4 = documentawPurchaseOrder0awAddress3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3Text4.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress3Text4.TextContent);
+
+            var documentawPurchaseOrder0awAddress3awCity5 = documentawPurchaseOrder0awAddress3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress3awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress3awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrder0awAddress3awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress3awCity5.NodeType);
+
+            var documentawPurchaseOrder0awAddress3awCity5Text0 = documentawPurchaseOrder0awAddress3awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3awCity5Text0.NodeType);
+            Assert.AreEqual("Old Town", documentawPurchaseOrder0awAddress3awCity5Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress3Text6 = documentawPurchaseOrder0awAddress3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3Text6.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress3Text6.TextContent);
+
+            var documentawPurchaseOrder0awAddress3awState7 = documentawPurchaseOrder0awAddress3.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress3awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress3awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrder0awAddress3awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress3awState7.NodeType);
+
+            var documentawPurchaseOrder0awAddress3awState7Text0 = documentawPurchaseOrder0awAddress3awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3awState7Text0.NodeType);
+            Assert.AreEqual("PA", documentawPurchaseOrder0awAddress3awState7Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress3Text8 = documentawPurchaseOrder0awAddress3.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3Text8.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress3Text8.TextContent);
+
+            var documentawPurchaseOrder0awAddress3awZip9 = documentawPurchaseOrder0awAddress3.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress3awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress3awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrder0awAddress3awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress3awZip9.NodeType);
+
+            var documentawPurchaseOrder0awAddress3awZip9Text0 = documentawPurchaseOrder0awAddress3awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3awZip9Text0.NodeType);
+            Assert.AreEqual("95819", documentawPurchaseOrder0awAddress3awZip9Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress3Text10 = documentawPurchaseOrder0awAddress3.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3Text10.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awAddress3Text10.TextContent);
+
+            var documentawPurchaseOrder0awAddress3awCountry11 = documentawPurchaseOrder0awAddress3.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrder0awAddress3awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awAddress3awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrder0awAddress3awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awAddress3awCountry11.NodeType);
+
+            var documentawPurchaseOrder0awAddress3awCountry11Text0 = documentawPurchaseOrder0awAddress3awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrder0awAddress3awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrder0awAddress3Text12 = documentawPurchaseOrder0awAddress3.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awAddress3Text12.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrder0awAddress3Text12.TextContent);
+
+            var documentawPurchaseOrder0Text4 = documentawPurchaseOrder0.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0Text4.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrder0Text4.TextContent);
+
+            var documentawPurchaseOrder0awDeliveryNotes5 = documentawPurchaseOrder0.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrder0awDeliveryNotes5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awDeliveryNotes5.Attributes.Length);
+            Assert.AreEqual("aw:DeliveryNotes", documentawPurchaseOrder0awDeliveryNotes5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awDeliveryNotes5.NodeType);
+
+            var documentawPurchaseOrder0awDeliveryNotes5Text0 = documentawPurchaseOrder0awDeliveryNotes5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awDeliveryNotes5Text0.NodeType);
+            Assert.AreEqual("Please leave packages in shed by driveway.", documentawPurchaseOrder0awDeliveryNotes5Text0.TextContent);
+
+            var documentawPurchaseOrder0Text6 = documentawPurchaseOrder0.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0Text6.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrder0Text6.TextContent);
+
+            var documentawPurchaseOrder0awItems7 = documentawPurchaseOrder0.ChildNodes[7];
+            Assert.AreEqual(5, documentawPurchaseOrder0awItems7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7.Attributes.Length);
+            Assert.AreEqual("aw:Items", documentawPurchaseOrder0awItems7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7.NodeType);
+
+            var documentawPurchaseOrder0awItems7Text0 = documentawPurchaseOrder0awItems7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7Text0.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awItems7Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1 = documentawPurchaseOrder0awItems7.ChildNodes[1];
+            Assert.AreEqual(9, documentawPurchaseOrder0awItems7awItem1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem1.Attributes.Length);
+            Assert.AreEqual("aw:Item", documentawPurchaseOrder0awItems7awItem1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrder0awItems7awItem1.Attributes["aw:PartNumber"]);
+            Assert.AreEqual("aw:PartNumber", documentawPurchaseOrder0awItems7awItem1.Attributes["aw:PartNumber"].Name);
+            Assert.AreEqual("872-AA", documentawPurchaseOrder0awItems7awItem1.Attributes["aw:PartNumber"].Value);
+
+            var documentawPurchaseOrder0awItems7awItem1Text0 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem1Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1awProductName1 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem1awProductName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem1awProductName1.Attributes.Length);
+            Assert.AreEqual("aw:ProductName", documentawPurchaseOrder0awItems7awItem1awProductName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem1awProductName1.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem1awProductName1Text0 = documentawPurchaseOrder0awItems7awItem1awProductName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1awProductName1Text0.NodeType);
+            Assert.AreEqual("Lawnmower", documentawPurchaseOrder0awItems7awItem1awProductName1Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1Text2 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem1Text2.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1awQuantity3 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem1awQuantity3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem1awQuantity3.Attributes.Length);
+            Assert.AreEqual("aw:Quantity", documentawPurchaseOrder0awItems7awItem1awQuantity3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem1awQuantity3.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem1awQuantity3Text0 = documentawPurchaseOrder0awItems7awItem1awQuantity3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1awQuantity3Text0.NodeType);
+            Assert.AreEqual("1", documentawPurchaseOrder0awItems7awItem1awQuantity3Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1Text4 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem1Text4.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1awUSPrice5 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem1awUSPrice5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem1awUSPrice5.Attributes.Length);
+            Assert.AreEqual("aw:USPrice", documentawPurchaseOrder0awItems7awItem1awUSPrice5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem1awUSPrice5.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem1awUSPrice5Text0 = documentawPurchaseOrder0awItems7awItem1awUSPrice5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1awUSPrice5Text0.NodeType);
+            Assert.AreEqual("148.95", documentawPurchaseOrder0awItems7awItem1awUSPrice5Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1Text6 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem1Text6.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1awComment7 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem1awComment7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem1awComment7.Attributes.Length);
+            Assert.AreEqual("aw:Comment", documentawPurchaseOrder0awItems7awItem1awComment7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem1awComment7.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem1awComment7Text0 = documentawPurchaseOrder0awItems7awItem1awComment7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1awComment7Text0.NodeType);
+            Assert.AreEqual("Confirm this is electric", documentawPurchaseOrder0awItems7awItem1awComment7Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem1Text8 = documentawPurchaseOrder0awItems7awItem1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem1Text8.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awItems7awItem1Text8.TextContent);
+
+            var documentawPurchaseOrder0awItems7Text2 = documentawPurchaseOrder0awItems7.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7Text2.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awItems7Text2.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3 = documentawPurchaseOrder0awItems7.ChildNodes[3];
+            Assert.AreEqual(9, documentawPurchaseOrder0awItems7awItem3.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem3.Attributes.Length);
+            Assert.AreEqual("aw:Item", documentawPurchaseOrder0awItems7awItem3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrder0awItems7awItem3.Attributes["aw:PartNumber"]);
+            Assert.AreEqual("aw:PartNumber", documentawPurchaseOrder0awItems7awItem3.Attributes["aw:PartNumber"].Name);
+            Assert.AreEqual("926-AA", documentawPurchaseOrder0awItems7awItem3.Attributes["aw:PartNumber"].Value);
+
+            var documentawPurchaseOrder0awItems7awItem3Text0 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem3Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3awProductName1 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem3awProductName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem3awProductName1.Attributes.Length);
+            Assert.AreEqual("aw:ProductName", documentawPurchaseOrder0awItems7awItem3awProductName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem3awProductName1.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem3awProductName1Text0 = documentawPurchaseOrder0awItems7awItem3awProductName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3awProductName1Text0.NodeType);
+            Assert.AreEqual("Baby Monitor", documentawPurchaseOrder0awItems7awItem3awProductName1Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3Text2 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem3Text2.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3awQuantity3 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem3awQuantity3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem3awQuantity3.Attributes.Length);
+            Assert.AreEqual("aw:Quantity", documentawPurchaseOrder0awItems7awItem3awQuantity3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem3awQuantity3.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem3awQuantity3Text0 = documentawPurchaseOrder0awItems7awItem3awQuantity3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3awQuantity3Text0.NodeType);
+            Assert.AreEqual("2", documentawPurchaseOrder0awItems7awItem3awQuantity3Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3Text4 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem3Text4.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3awUSPrice5 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem3awUSPrice5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem3awUSPrice5.Attributes.Length);
+            Assert.AreEqual("aw:USPrice", documentawPurchaseOrder0awItems7awItem3awUSPrice5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem3awUSPrice5.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem3awUSPrice5Text0 = documentawPurchaseOrder0awItems7awItem3awUSPrice5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3awUSPrice5Text0.NodeType);
+            Assert.AreEqual("39.98", documentawPurchaseOrder0awItems7awItem3awUSPrice5Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3Text6 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrder0awItems7awItem3Text6.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3awShipDate7 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrder0awItems7awItem3awShipDate7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrder0awItems7awItem3awShipDate7.Attributes.Length);
+            Assert.AreEqual("aw:ShipDate", documentawPurchaseOrder0awItems7awItem3awShipDate7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrder0awItems7awItem3awShipDate7.NodeType);
+
+            var documentawPurchaseOrder0awItems7awItem3awShipDate7Text0 = documentawPurchaseOrder0awItems7awItem3awShipDate7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3awShipDate7Text0.NodeType);
+            Assert.AreEqual("1999-05-21", documentawPurchaseOrder0awItems7awItem3awShipDate7Text0.TextContent);
+
+            var documentawPurchaseOrder0awItems7awItem3Text8 = documentawPurchaseOrder0awItems7awItem3.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7awItem3Text8.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrder0awItems7awItem3Text8.TextContent);
+
+            var documentawPurchaseOrder0awItems7Text4 = documentawPurchaseOrder0awItems7.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0awItems7Text4.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrder0awItems7Text4.TextContent);
+
+            var documentawPurchaseOrder0Text8 = documentawPurchaseOrder0.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrder0Text8.NodeType);
+            Assert.AreEqual("\n", documentawPurchaseOrder0Text8.TextContent);
         }

         [TestMethod]
@@ -1754,7 +2154,1095 @@
   </aw:PurchaseOrder>
 </aw:PurchaseOrders>");

-            //TODO
+            var documentawPurchaseOrders0 = document.ChildNodes[0];
+            Assert.AreEqual(7, documentawPurchaseOrders0.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0.Attributes.Length);
+            Assert.AreEqual("aw:PurchaseOrders", documentawPurchaseOrders0.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0.Attributes["xmlns:aw"]);
+            Assert.AreEqual("xmlns:aw", documentawPurchaseOrders0.Attributes["xmlns:aw"].Name);
+            Assert.AreEqual("http://www.adventure-works.com", documentawPurchaseOrders0.Attributes["xmlns:aw"].Value);
+
+            var documentawPurchaseOrders0Text0 = documentawPurchaseOrders0.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0Text0.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrders0Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1 = documentawPurchaseOrders0.ChildNodes[1];
+            Assert.AreEqual(9, documentawPurchaseOrders0awPurchaseOrder1.ChildNodes.Length);
+            Assert.AreEqual(2, documentawPurchaseOrders0awPurchaseOrder1.Attributes.Length);
+            Assert.AreEqual("aw:PurchaseOrder", documentawPurchaseOrders0awPurchaseOrder1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder1.Attributes["aw:PurchaseOrderNumber"]);
+            Assert.AreEqual("aw:PurchaseOrderNumber", documentawPurchaseOrders0awPurchaseOrder1.Attributes["aw:PurchaseOrderNumber"].Name);
+            Assert.AreEqual("99503", documentawPurchaseOrders0awPurchaseOrder1.Attributes["aw:PurchaseOrderNumber"].Value);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder1.Attributes["aw:OrderDate"]);
+            Assert.AreEqual("aw:OrderDate", documentawPurchaseOrders0awPurchaseOrder1.Attributes["aw:OrderDate"].Name);
+            Assert.AreEqual("1999-10-20", documentawPurchaseOrders0awPurchaseOrder1.Attributes["aw:OrderDate"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder1Text0 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1Text0.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[1];
+            Assert.AreEqual(13, documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress1.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrders0awPurchaseOrder1awAddress1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder1awAddress1.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrders0awPurchaseOrder1awAddress1.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Shipping", documentawPurchaseOrders0awPurchaseOrder1awAddress1.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1Text0.NodeType);
+            Assert.AreEqual("Ellen Adams", documentawPurchaseOrders0awPurchaseOrder1awAddress1awName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1Text2 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress1Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3Text0.NodeType);
+            Assert.AreEqual("123 Maple Street", documentawPurchaseOrders0awPurchaseOrder1awAddress1awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1Text4 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress1Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5Text0.NodeType);
+            Assert.AreEqual("Mill Valley", documentawPurchaseOrders0awPurchaseOrder1awAddress1awCity5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1Text6 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress1Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7Text0.NodeType);
+            Assert.AreEqual("CA", documentawPurchaseOrders0awPurchaseOrder1awAddress1awState7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1Text8 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress1Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9Text0.NodeType);
+            Assert.AreEqual("10999", documentawPurchaseOrders0awPurchaseOrder1awAddress1awZip9Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1Text10 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1Text10.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress1Text10.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrders0awPurchaseOrder1awAddress1awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress1Text12 = documentawPurchaseOrders0awPurchaseOrder1awAddress1.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress1Text12.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder1awAddress1Text12.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1Text2 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1Text2.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder1Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[3];
+            Assert.AreEqual(13, documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress3.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrders0awPurchaseOrder1awAddress3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder1awAddress3.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrders0awPurchaseOrder1awAddress3.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Billing", documentawPurchaseOrders0awPurchaseOrder1awAddress3.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1Text0.NodeType);
+            Assert.AreEqual("Tai Yee", documentawPurchaseOrders0awPurchaseOrder1awAddress3awName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3Text2 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress3Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3Text0.NodeType);
+            Assert.AreEqual("8 Oak Avenue", documentawPurchaseOrders0awPurchaseOrder1awAddress3awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3Text4 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress3Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5Text0.NodeType);
+            Assert.AreEqual("Old Town", documentawPurchaseOrders0awPurchaseOrder1awAddress3awCity5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3Text6 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress3Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7Text0.NodeType);
+            Assert.AreEqual("PA", documentawPurchaseOrders0awPurchaseOrder1awAddress3awState7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3Text8 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress3Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9Text0.NodeType);
+            Assert.AreEqual("95819", documentawPurchaseOrders0awPurchaseOrder1awAddress3awZip9Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3Text10 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3Text10.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awAddress3Text10.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11Text0 = documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrders0awPurchaseOrder1awAddress3awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awAddress3Text12 = documentawPurchaseOrders0awPurchaseOrder1awAddress3.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awAddress3Text12.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder1awAddress3Text12.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1Text4 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1Text4.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder1Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5.Attributes.Length);
+            Assert.AreEqual("aw:DeliveryNotes", documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5Text0 = documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5Text0.NodeType);
+            Assert.AreEqual("Please leave packages in shed by driveway.", documentawPurchaseOrders0awPurchaseOrder1awDeliveryNotes5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1Text6 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1Text6.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder1Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[7];
+            Assert.AreEqual(5, documentawPurchaseOrders0awPurchaseOrder1awItems7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7.Attributes.Length);
+            Assert.AreEqual("aw:Items", documentawPurchaseOrders0awPurchaseOrder1awItems7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awItems7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1 = documentawPurchaseOrders0awPurchaseOrder1awItems7.ChildNodes[1];
+            Assert.AreEqual(9, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.Attributes.Length);
+            Assert.AreEqual("aw:Item", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.Attributes["aw:PartNumber"]);
+            Assert.AreEqual("aw:PartNumber", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.Attributes["aw:PartNumber"].Name);
+            Assert.AreEqual("872-AA", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.Attributes["aw:PartNumber"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text0.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1.Attributes.Length);
+            Assert.AreEqual("aw:ProductName", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1Text0.NodeType);
+            Assert.AreEqual("Lawnmower", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awProductName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text2 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text2.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3.Attributes.Length);
+            Assert.AreEqual("aw:Quantity", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3Text0.NodeType);
+            Assert.AreEqual("1", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awQuantity3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text4 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text4.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5.Attributes.Length);
+            Assert.AreEqual("aw:USPrice", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5Text0.NodeType);
+            Assert.AreEqual("148.95", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awUSPrice5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text6 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text6.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7.Attributes.Length);
+            Assert.AreEqual("aw:Comment", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7Text0.NodeType);
+            Assert.AreEqual("Confirm this is electric", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1awComment7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text8 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem1Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7Text2 = documentawPurchaseOrders0awPurchaseOrder1awItems7.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awItems7Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3 = documentawPurchaseOrders0awPurchaseOrder1awItems7.ChildNodes[3];
+            Assert.AreEqual(9, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.Attributes.Length);
+            Assert.AreEqual("aw:Item", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.Attributes["aw:PartNumber"]);
+            Assert.AreEqual("aw:PartNumber", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.Attributes["aw:PartNumber"].Name);
+            Assert.AreEqual("926-AA", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.Attributes["aw:PartNumber"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text0.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1.Attributes.Length);
+            Assert.AreEqual("aw:ProductName", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1Text0.NodeType);
+            Assert.AreEqual("Baby Monitor", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awProductName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text2 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text2.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3.Attributes.Length);
+            Assert.AreEqual("aw:Quantity", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3Text0.NodeType);
+            Assert.AreEqual("2", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awQuantity3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text4 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text4.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5.Attributes.Length);
+            Assert.AreEqual("aw:USPrice", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5Text0.NodeType);
+            Assert.AreEqual("39.98", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awUSPrice5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text6 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text6.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7.Attributes.Length);
+            Assert.AreEqual("aw:ShipDate", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7Text0 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7Text0.NodeType);
+            Assert.AreEqual("1999-05-21", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3awShipDate7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text8 = documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder1awItems7awItem3Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1awItems7Text4 = documentawPurchaseOrders0awPurchaseOrder1awItems7.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1awItems7Text4.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder1awItems7Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder1Text8 = documentawPurchaseOrders0awPurchaseOrder1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder1Text8.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrders0awPurchaseOrder1Text8.TextContent);
+
+            var documentawPurchaseOrders0Text2 = documentawPurchaseOrders0.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0Text2.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrders0Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3 = documentawPurchaseOrders0.ChildNodes[3];
+            Assert.AreEqual(9, documentawPurchaseOrders0awPurchaseOrder3.ChildNodes.Length);
+            Assert.AreEqual(2, documentawPurchaseOrders0awPurchaseOrder3.Attributes.Length);
+            Assert.AreEqual("aw:PurchaseOrder", documentawPurchaseOrders0awPurchaseOrder3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder3.Attributes["aw:PurchaseOrderNumber"]);
+            Assert.AreEqual("aw:PurchaseOrderNumber", documentawPurchaseOrders0awPurchaseOrder3.Attributes["aw:PurchaseOrderNumber"].Name);
+            Assert.AreEqual("99505", documentawPurchaseOrders0awPurchaseOrder3.Attributes["aw:PurchaseOrderNumber"].Value);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder3.Attributes["aw:OrderDate"]);
+            Assert.AreEqual("aw:OrderDate", documentawPurchaseOrders0awPurchaseOrder3.Attributes["aw:OrderDate"].Name);
+            Assert.AreEqual("1999-10-22", documentawPurchaseOrders0awPurchaseOrder3.Attributes["aw:OrderDate"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder3Text0 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3Text0.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[1];
+            Assert.AreEqual(13, documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress1.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrders0awPurchaseOrder3awAddress1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder3awAddress1.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrders0awPurchaseOrder3awAddress1.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Shipping", documentawPurchaseOrders0awPurchaseOrder3awAddress1.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1Text0.NodeType);
+            Assert.AreEqual("Cristian Osorio", documentawPurchaseOrders0awPurchaseOrder3awAddress1awName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1Text2 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress1Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3Text0.NodeType);
+            Assert.AreEqual("456 Main Street", documentawPurchaseOrders0awPurchaseOrder3awAddress1awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1Text4 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress1Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5Text0.NodeType);
+            Assert.AreEqual("Buffalo", documentawPurchaseOrders0awPurchaseOrder3awAddress1awCity5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1Text6 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress1Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7Text0.NodeType);
+            Assert.AreEqual("NY", documentawPurchaseOrders0awPurchaseOrder3awAddress1awState7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1Text8 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress1Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9Text0.NodeType);
+            Assert.AreEqual("98112", documentawPurchaseOrders0awPurchaseOrder3awAddress1awZip9Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1Text10 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1Text10.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress1Text10.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrders0awPurchaseOrder3awAddress1awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress1Text12 = documentawPurchaseOrders0awPurchaseOrder3awAddress1.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress1Text12.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder3awAddress1Text12.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3Text2 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3Text2.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder3Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[3];
+            Assert.AreEqual(13, documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress3.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrders0awPurchaseOrder3awAddress3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder3awAddress3.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrders0awPurchaseOrder3awAddress3.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Billing", documentawPurchaseOrders0awPurchaseOrder3awAddress3.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1Text0.NodeType);
+            Assert.AreEqual("Cristian Osorio", documentawPurchaseOrders0awPurchaseOrder3awAddress3awName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3Text2 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress3Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3Text0.NodeType);
+            Assert.AreEqual("456 Main Street", documentawPurchaseOrders0awPurchaseOrder3awAddress3awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3Text4 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress3Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5Text0.NodeType);
+            Assert.AreEqual("Buffalo", documentawPurchaseOrders0awPurchaseOrder3awAddress3awCity5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3Text6 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress3Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7Text0.NodeType);
+            Assert.AreEqual("NY", documentawPurchaseOrders0awPurchaseOrder3awAddress3awState7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3Text8 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress3Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9Text0.NodeType);
+            Assert.AreEqual("98112", documentawPurchaseOrders0awPurchaseOrder3awAddress3awZip9Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3Text10 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3Text10.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awAddress3Text10.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11Text0 = documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrders0awPurchaseOrder3awAddress3awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awAddress3Text12 = documentawPurchaseOrders0awPurchaseOrder3awAddress3.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awAddress3Text12.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder3awAddress3Text12.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3Text4 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3Text4.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder3Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5.Attributes.Length);
+            Assert.AreEqual("aw:DeliveryNotes", documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5Text0 = documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5Text0.NodeType);
+            Assert.AreEqual("Please notify me before shipping.", documentawPurchaseOrders0awPurchaseOrder3awDeliveryNotes5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3Text6 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3Text6.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder3Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[7];
+            Assert.AreEqual(3, documentawPurchaseOrders0awPurchaseOrder3awItems7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awItems7.Attributes.Length);
+            Assert.AreEqual("aw:Items", documentawPurchaseOrders0awPurchaseOrder3awItems7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awItems7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7Text0 = documentawPurchaseOrders0awPurchaseOrder3awItems7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awItems7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1 = documentawPurchaseOrders0awPurchaseOrder3awItems7.ChildNodes[1];
+            Assert.AreEqual(7, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.Attributes.Length);
+            Assert.AreEqual("aw:Item", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.Attributes["aw:PartNumber"]);
+            Assert.AreEqual("aw:PartNumber", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.Attributes["aw:PartNumber"].Name);
+            Assert.AreEqual("456-NM", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.Attributes["aw:PartNumber"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text0 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text0.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1.Attributes.Length);
+            Assert.AreEqual("aw:ProductName", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1Text0 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1Text0.NodeType);
+            Assert.AreEqual("Power Supply", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awProductName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text2 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text2.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3.Attributes.Length);
+            Assert.AreEqual("aw:Quantity", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3Text0 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3Text0.NodeType);
+            Assert.AreEqual("1", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awQuantity3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text4 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text4.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5.Attributes.Length);
+            Assert.AreEqual("aw:USPrice", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5Text0 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5Text0.NodeType);
+            Assert.AreEqual("45.99", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1awUSPrice5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text6 = documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder3awItems7awItem1Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3awItems7Text2 = documentawPurchaseOrders0awPurchaseOrder3awItems7.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3awItems7Text2.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder3awItems7Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder3Text8 = documentawPurchaseOrders0awPurchaseOrder3.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder3Text8.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrders0awPurchaseOrder3Text8.TextContent);
+
+            var documentawPurchaseOrders0Text4 = documentawPurchaseOrders0.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0Text4.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrders0Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5 = documentawPurchaseOrders0.ChildNodes[5];
+            Assert.AreEqual(7, documentawPurchaseOrders0awPurchaseOrder5.ChildNodes.Length);
+            Assert.AreEqual(2, documentawPurchaseOrders0awPurchaseOrder5.Attributes.Length);
+            Assert.AreEqual("aw:PurchaseOrder", documentawPurchaseOrders0awPurchaseOrder5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder5.Attributes["aw:PurchaseOrderNumber"]);
+            Assert.AreEqual("aw:PurchaseOrderNumber", documentawPurchaseOrders0awPurchaseOrder5.Attributes["aw:PurchaseOrderNumber"].Name);
+            Assert.AreEqual("99504", documentawPurchaseOrders0awPurchaseOrder5.Attributes["aw:PurchaseOrderNumber"].Value);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder5.Attributes["aw:OrderDate"]);
+            Assert.AreEqual("aw:OrderDate", documentawPurchaseOrders0awPurchaseOrder5.Attributes["aw:OrderDate"].Name);
+            Assert.AreEqual("1999-10-22", documentawPurchaseOrders0awPurchaseOrder5.Attributes["aw:OrderDate"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder5Text0 = documentawPurchaseOrders0awPurchaseOrder5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5Text0.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1 = documentawPurchaseOrders0awPurchaseOrder5.ChildNodes[1];
+            Assert.AreEqual(13, documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress1.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrders0awPurchaseOrder5awAddress1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder5awAddress1.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrders0awPurchaseOrder5awAddress1.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Shipping", documentawPurchaseOrders0awPurchaseOrder5awAddress1.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1Text0.NodeType);
+            Assert.AreEqual("Jessica Arnold", documentawPurchaseOrders0awPurchaseOrder5awAddress1awName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1Text2 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress1Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3Text0.NodeType);
+            Assert.AreEqual("4055 Madison Ave", documentawPurchaseOrders0awPurchaseOrder5awAddress1awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1Text4 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress1Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5Text0.NodeType);
+            Assert.AreEqual("Seattle", documentawPurchaseOrders0awPurchaseOrder5awAddress1awCity5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1Text6 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress1Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7Text0.NodeType);
+            Assert.AreEqual("WA", documentawPurchaseOrders0awPurchaseOrder5awAddress1awState7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1Text8 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress1Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9Text0.NodeType);
+            Assert.AreEqual("98112", documentawPurchaseOrders0awPurchaseOrder5awAddress1awZip9Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1Text10 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1Text10.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress1Text10.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrders0awPurchaseOrder5awAddress1awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress1Text12 = documentawPurchaseOrders0awPurchaseOrder5awAddress1.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress1Text12.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder5awAddress1Text12.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5Text2 = documentawPurchaseOrders0awPurchaseOrder5.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5Text2.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder5Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3 = documentawPurchaseOrders0awPurchaseOrder5.ChildNodes[3];
+            Assert.AreEqual(13, documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress3.Attributes.Length);
+            Assert.AreEqual("aw:Address", documentawPurchaseOrders0awPurchaseOrder5awAddress3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder5awAddress3.Attributes["aw:Type"]);
+            Assert.AreEqual("aw:Type", documentawPurchaseOrders0awPurchaseOrder5awAddress3.Attributes["aw:Type"].Name);
+            Assert.AreEqual("Billing", documentawPurchaseOrders0awPurchaseOrder5awAddress3.Attributes["aw:Type"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1.Attributes.Length);
+            Assert.AreEqual("aw:Name", documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1Text0.NodeType);
+            Assert.AreEqual("Jessica Arnold", documentawPurchaseOrders0awPurchaseOrder5awAddress3awName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3Text2 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress3Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3.Attributes.Length);
+            Assert.AreEqual("aw:Street", documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3Text0.NodeType);
+            Assert.AreEqual("4055 Madison Ave", documentawPurchaseOrders0awPurchaseOrder5awAddress3awStreet3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3Text4 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3Text4.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress3Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5.Attributes.Length);
+            Assert.AreEqual("aw:City", documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5Text0.NodeType);
+            Assert.AreEqual("Buffalo", documentawPurchaseOrders0awPurchaseOrder5awAddress3awCity5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3Text6 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress3Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[7];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7.Attributes.Length);
+            Assert.AreEqual("aw:State", documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7Text0.NodeType);
+            Assert.AreEqual("NY", documentawPurchaseOrders0awPurchaseOrder5awAddress3awState7Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3Text8 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3Text8.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress3Text8.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[9];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9.Attributes.Length);
+            Assert.AreEqual("aw:Zip", documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9Text0.NodeType);
+            Assert.AreEqual("98112", documentawPurchaseOrders0awPurchaseOrder5awAddress3awZip9Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3Text10 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3Text10.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awAddress3Text10.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[11];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11.Attributes.Length);
+            Assert.AreEqual("aw:Country", documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11Text0 = documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11Text0.NodeType);
+            Assert.AreEqual("USA", documentawPurchaseOrders0awPurchaseOrder5awAddress3awCountry11Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awAddress3Text12 = documentawPurchaseOrders0awPurchaseOrder5awAddress3.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awAddress3Text12.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder5awAddress3Text12.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5Text4 = documentawPurchaseOrders0awPurchaseOrder5.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5Text4.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder5Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5 = documentawPurchaseOrders0awPurchaseOrder5.ChildNodes[5];
+            Assert.AreEqual(5, documentawPurchaseOrders0awPurchaseOrder5awItems5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awItems5.Attributes.Length);
+            Assert.AreEqual("aw:Items", documentawPurchaseOrders0awPurchaseOrder5awItems5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5Text0.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awItems5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1 = documentawPurchaseOrders0awPurchaseOrder5awItems5.ChildNodes[1];
+            Assert.AreEqual(7, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.Attributes.Length);
+            Assert.AreEqual("aw:Item", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.Attributes["aw:PartNumber"]);
+            Assert.AreEqual("aw:PartNumber", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.Attributes["aw:PartNumber"].Name);
+            Assert.AreEqual("898-AZ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.Attributes["aw:PartNumber"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text0.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1.Attributes.Length);
+            Assert.AreEqual("aw:ProductName", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1Text0.NodeType);
+            Assert.AreEqual("Computer Keyboard", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awProductName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text2 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text2.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3.Attributes.Length);
+            Assert.AreEqual("aw:Quantity", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3Text0.NodeType);
+            Assert.AreEqual("1", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awQuantity3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text4 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text4.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5.Attributes.Length);
+            Assert.AreEqual("aw:USPrice", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5Text0.NodeType);
+            Assert.AreEqual("29.99", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1awUSPrice5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text6 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem1Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5Text2 = documentawPurchaseOrders0awPurchaseOrder5awItems5.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5Text2.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awItems5Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3 = documentawPurchaseOrders0awPurchaseOrder5awItems5.ChildNodes[3];
+            Assert.AreEqual(7, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes.Length);
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.Attributes.Length);
+            Assert.AreEqual("aw:Item", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.NodeType);
+
+            Assert.IsNotNull(documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.Attributes["aw:PartNumber"]);
+            Assert.AreEqual("aw:PartNumber", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.Attributes["aw:PartNumber"].Name);
+            Assert.AreEqual("898-AM", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.Attributes["aw:PartNumber"].Value);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text0.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes[1];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1.Attributes.Length);
+            Assert.AreEqual("aw:ProductName", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1Text0.NodeType);
+            Assert.AreEqual("Wireless Mouse", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awProductName1Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text2 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text2.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text2.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes[3];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3.Attributes.Length);
+            Assert.AreEqual("aw:Quantity", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3Text0.NodeType);
+            Assert.AreEqual("1", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awQuantity3Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text4 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text4.NodeType);
+            Assert.AreEqual("\n        ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes[5];
+            Assert.AreEqual(1, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5.ChildNodes.Length);
+            Assert.AreEqual(0, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5.Attributes.Length);
+            Assert.AreEqual("aw:USPrice", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5.NodeType);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5Text0 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5Text0.NodeType);
+            Assert.AreEqual("14.99", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3awUSPrice5Text0.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text6 = documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text6.NodeType);
+            Assert.AreEqual("\n      ", documentawPurchaseOrders0awPurchaseOrder5awItems5awItem3Text6.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5awItems5Text4 = documentawPurchaseOrders0awPurchaseOrder5awItems5.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5awItems5Text4.NodeType);
+            Assert.AreEqual("\n    ", documentawPurchaseOrders0awPurchaseOrder5awItems5Text4.TextContent);
+
+            var documentawPurchaseOrders0awPurchaseOrder5Text6 = documentawPurchaseOrders0awPurchaseOrder5.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0awPurchaseOrder5Text6.NodeType);
+            Assert.AreEqual("\n  ", documentawPurchaseOrders0awPurchaseOrder5Text6.TextContent);
+
+            var documentawPurchaseOrders0Text6 = documentawPurchaseOrders0.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentawPurchaseOrders0Text6.NodeType);
+            Assert.AreEqual("\n", documentawPurchaseOrders0Text6.TextContent);
         }

         [TestMethod]
@@ -2344,8 +3832,923 @@
     <xs:attribute name='ShippedDate' type='xs:dateTime'/>
   </xs:complexType>
 </xs:schema>");
-
-            //TODO
+            var documentxsschema0 = document.ChildNodes[0];
+            Assert.AreEqual(11, documentxsschema0.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0.Attributes.Length);
+            Assert.AreEqual("xs:schema", documentxsschema0.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0.NodeType);
+
+            Assert.IsNotNull(documentxsschema0.Attributes["xmlns:xs"]);
+            Assert.AreEqual("xmlns:xs", documentxsschema0.Attributes["xmlns:xs"].Name);
+            Assert.AreEqual("http://www.w3.org/2001/XMLSchema", documentxsschema0.Attributes["xmlns:xs"].Value);
+
+            var documentxsschema0Text0 = documentxsschema0.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0Text0.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0Text0.TextContent);
+
+            var documentxsschema0xselement1 = documentxsschema0.ChildNodes[1];
+            Assert.AreEqual(7, documentxsschema0xselement1.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xselement1.Attributes["name"].Name);
+            Assert.AreEqual("Root", documentxsschema0xselement1.Attributes["name"].Value);
+
+            var documentxsschema0xselement1Text0 = documentxsschema0xselement1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1Text0.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xselement1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1 = documentxsschema0xselement1.ChildNodes[1];
+            Assert.AreEqual(3, documentxsschema0xselement1xscomplexType1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1.Attributes.Length);
+            Assert.AreEqual("xs:complexType", documentxsschema0xselement1xscomplexType1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1.NodeType);
+
+            var documentxsschema0xselement1xscomplexType1Text0 = documentxsschema0xselement1xscomplexType1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xselement1xscomplexType1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1 = documentxsschema0xselement1xscomplexType1.ChildNodes[1];
+            Assert.AreEqual(5, documentxsschema0xselement1xscomplexType1xssequence1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1xssequence1.Attributes.Length);
+            Assert.AreEqual("xs:sequence", documentxsschema0xselement1xscomplexType1xssequence1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1.NodeType);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1Text0 = documentxsschema0xselement1xscomplexType1xssequence1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1Text0.NodeType);
+            Assert.AreEqual("\n        ", documentxsschema0xselement1xscomplexType1xssequence1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1 = documentxsschema0xselement1xscomplexType1xssequence1.ChildNodes[1];
+            Assert.AreEqual(3, documentxsschema0xselement1xscomplexType1xssequence1xselement1.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1xscomplexType1xssequence1xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xselement1xscomplexType1xssequence1xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xselement1xscomplexType1xssequence1xselement1.Attributes["name"].Name);
+            Assert.AreEqual("Customers", documentxsschema0xselement1xscomplexType1xssequence1xselement1.Attributes["name"].Value);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1Text0 = documentxsschema0xselement1xscomplexType1xssequence1xselement1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement1Text0.NodeType);
+            Assert.AreEqual("\n          ", documentxsschema0xselement1xscomplexType1xssequence1xselement1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1 = documentxsschema0xselement1xscomplexType1xssequence1xselement1.ChildNodes[1];
+            Assert.AreEqual(3, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1.Attributes.Length);
+            Assert.AreEqual("xs:complexType", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1.NodeType);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1Text0 = documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1Text0.NodeType);
+            Assert.AreEqual("\n            ", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1 = documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1.ChildNodes[1];
+            Assert.AreEqual(3, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1.Attributes.Length);
+            Assert.AreEqual("xs:sequence", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1.NodeType);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1Text0 = documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1Text0.NodeType);
+            Assert.AreEqual("\n              ", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1 = documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.ChildNodes.Length);
+            Assert.AreEqual(4, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["name"].Name);
+            Assert.AreEqual("Customer", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["type"].Name);
+            Assert.AreEqual("CustomerType", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["type"].Value);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["minOccurs"]);
+            Assert.AreEqual("minOccurs", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["minOccurs"].Name);
+            Assert.AreEqual("0", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["minOccurs"].Value);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["maxOccurs"]);
+            Assert.AreEqual("maxOccurs", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["maxOccurs"].Name);
+            Assert.AreEqual("unbounded", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1xselement1.Attributes["maxOccurs"].Value);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1Text2 = documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1Text2.NodeType);
+            Assert.AreEqual("\n            ", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1xssequence1Text2.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1Text2 = documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1Text2.NodeType);
+            Assert.AreEqual("\n          ", documentxsschema0xselement1xscomplexType1xssequence1xselement1xscomplexType1Text2.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement1Text2 = documentxsschema0xselement1xscomplexType1xssequence1xselement1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement1Text2.NodeType);
+            Assert.AreEqual("\n        ", documentxsschema0xselement1xscomplexType1xssequence1xselement1Text2.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1Text2 = documentxsschema0xselement1xscomplexType1xssequence1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1Text2.NodeType);
+            Assert.AreEqual("\n        ", documentxsschema0xselement1xscomplexType1xssequence1Text2.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3 = documentxsschema0xselement1xscomplexType1xssequence1.ChildNodes[3];
+            Assert.AreEqual(3, documentxsschema0xselement1xscomplexType1xssequence1xselement3.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1xscomplexType1xssequence1xselement3.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xselement1xscomplexType1xssequence1xselement3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xselement1xscomplexType1xssequence1xselement3.Attributes["name"].Name);
+            Assert.AreEqual("Orders", documentxsschema0xselement1xscomplexType1xssequence1xselement3.Attributes["name"].Value);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3Text0 = documentxsschema0xselement1xscomplexType1xssequence1xselement3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement3Text0.NodeType);
+            Assert.AreEqual("\n          ", documentxsschema0xselement1xscomplexType1xssequence1xselement3Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1 = documentxsschema0xselement1xscomplexType1xssequence1xselement3.ChildNodes[1];
+            Assert.AreEqual(3, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1.Attributes.Length);
+            Assert.AreEqual("xs:complexType", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1.NodeType);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1Text0 = documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1Text0.NodeType);
+            Assert.AreEqual("\n            ", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1 = documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1.ChildNodes[1];
+            Assert.AreEqual(3, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1.Attributes.Length);
+            Assert.AreEqual("xs:sequence", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1.NodeType);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1Text0 = documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1Text0.NodeType);
+            Assert.AreEqual("\n              ", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1Text0.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1 = documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.ChildNodes.Length);
+            Assert.AreEqual(4, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["name"].Name);
+            Assert.AreEqual("Order", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["type"].Name);
+            Assert.AreEqual("OrderType", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["type"].Value);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["minOccurs"]);
+            Assert.AreEqual("minOccurs", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["minOccurs"].Name);
+            Assert.AreEqual("0", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["minOccurs"].Value);
+
+            Assert.IsNotNull(documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["maxOccurs"]);
+            Assert.AreEqual("maxOccurs", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["maxOccurs"].Name);
+            Assert.AreEqual("unbounded", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1xselement1.Attributes["maxOccurs"].Value);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1Text2 = documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1Text2.NodeType);
+            Assert.AreEqual("\n            ", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1xssequence1Text2.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1Text2 = documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1Text2.NodeType);
+            Assert.AreEqual("\n          ", documentxsschema0xselement1xscomplexType1xssequence1xselement3xscomplexType1Text2.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1xselement3Text2 = documentxsschema0xselement1xscomplexType1xssequence1xselement3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1xselement3Text2.NodeType);
+            Assert.AreEqual("\n        ", documentxsschema0xselement1xscomplexType1xssequence1xselement3Text2.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1xssequence1Text4 = documentxsschema0xselement1xscomplexType1xssequence1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1xssequence1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xselement1xscomplexType1xssequence1Text4.TextContent);
+
+            var documentxsschema0xselement1xscomplexType1Text2 = documentxsschema0xselement1xscomplexType1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xscomplexType1Text2.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xselement1xscomplexType1Text2.TextContent);
+
+            var documentxsschema0xselement1Text2 = documentxsschema0xselement1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1Text2.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xselement1Text2.TextContent);
+
+            var documentxsschema0xselement1xskey3 = documentxsschema0xselement1.ChildNodes[3];
+            Assert.AreEqual(5, documentxsschema0xselement1xskey3.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1xskey3.Attributes.Length);
+            Assert.AreEqual("xs:key", documentxsschema0xselement1xskey3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xskey3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xskey3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xselement1xskey3.Attributes["name"].Name);
+            Assert.AreEqual("CustomerIDKey", documentxsschema0xselement1xskey3.Attributes["name"].Value);
+
+            var documentxsschema0xselement1xskey3Text0 = documentxsschema0xselement1xskey3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xskey3Text0.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xselement1xskey3Text0.TextContent);
+
+            var documentxsschema0xselement1xskey3xsselector1 = documentxsschema0xselement1xskey3.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xselement1xskey3xsselector1.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1xskey3xsselector1.Attributes.Length);
+            Assert.AreEqual("xs:selector", documentxsschema0xselement1xskey3xsselector1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xskey3xsselector1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xskey3xsselector1.Attributes["xpath"]);
+            Assert.AreEqual("xpath", documentxsschema0xselement1xskey3xsselector1.Attributes["xpath"].Name);
+            Assert.AreEqual("Customers/Customer", documentxsschema0xselement1xskey3xsselector1.Attributes["xpath"].Value);
+
+            var documentxsschema0xselement1xskey3Text2 = documentxsschema0xselement1xskey3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xskey3Text2.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xselement1xskey3Text2.TextContent);
+
+            var documentxsschema0xselement1xskey3xsfield3 = documentxsschema0xselement1xskey3.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xselement1xskey3xsfield3.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1xskey3xsfield3.Attributes.Length);
+            Assert.AreEqual("xs:field", documentxsschema0xselement1xskey3xsfield3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xskey3xsfield3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xskey3xsfield3.Attributes["xpath"]);
+            Assert.AreEqual("xpath", documentxsschema0xselement1xskey3xsfield3.Attributes["xpath"].Name);
+            Assert.AreEqual("@CustomerID", documentxsschema0xselement1xskey3xsfield3.Attributes["xpath"].Value);
+
+            var documentxsschema0xselement1xskey3Text4 = documentxsschema0xselement1xskey3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xskey3Text4.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xselement1xskey3Text4.TextContent);
+
+            var documentxsschema0xselement1Text4 = documentxsschema0xselement1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1Text4.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xselement1Text4.TextContent);
+
+            var documentxsschema0xselement1xskeyref5 = documentxsschema0xselement1.ChildNodes[5];
+            Assert.AreEqual(5, documentxsschema0xselement1xskeyref5.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xselement1xskeyref5.Attributes.Length);
+            Assert.AreEqual("xs:keyref", documentxsschema0xselement1xskeyref5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xskeyref5.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xskeyref5.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xselement1xskeyref5.Attributes["name"].Name);
+            Assert.AreEqual("CustomerIDKeyRef", documentxsschema0xselement1xskeyref5.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xselement1xskeyref5.Attributes["refer"]);
+            Assert.AreEqual("refer", documentxsschema0xselement1xskeyref5.Attributes["refer"].Name);
+            Assert.AreEqual("CustomerIDKey", documentxsschema0xselement1xskeyref5.Attributes["refer"].Value);
+
+            var documentxsschema0xselement1xskeyref5Text0 = documentxsschema0xselement1xskeyref5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xskeyref5Text0.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xselement1xskeyref5Text0.TextContent);
+
+            var documentxsschema0xselement1xskeyref5xsselector1 = documentxsschema0xselement1xskeyref5.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xselement1xskeyref5xsselector1.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1xskeyref5xsselector1.Attributes.Length);
+            Assert.AreEqual("xs:selector", documentxsschema0xselement1xskeyref5xsselector1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xskeyref5xsselector1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xskeyref5xsselector1.Attributes["xpath"]);
+            Assert.AreEqual("xpath", documentxsschema0xselement1xskeyref5xsselector1.Attributes["xpath"].Name);
+            Assert.AreEqual("Orders/Order", documentxsschema0xselement1xskeyref5xsselector1.Attributes["xpath"].Value);
+
+            var documentxsschema0xselement1xskeyref5Text2 = documentxsschema0xselement1xskeyref5.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xskeyref5Text2.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xselement1xskeyref5Text2.TextContent);
+
+            var documentxsschema0xselement1xskeyref5xsfield3 = documentxsschema0xselement1xskeyref5.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xselement1xskeyref5xsfield3.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xselement1xskeyref5xsfield3.Attributes.Length);
+            Assert.AreEqual("xs:field", documentxsschema0xselement1xskeyref5xsfield3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xselement1xskeyref5xsfield3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xselement1xskeyref5xsfield3.Attributes["xpath"]);
+            Assert.AreEqual("xpath", documentxsschema0xselement1xskeyref5xsfield3.Attributes["xpath"].Name);
+            Assert.AreEqual("CustomerID", documentxsschema0xselement1xskeyref5xsfield3.Attributes["xpath"].Value);
+
+            var documentxsschema0xselement1xskeyref5Text4 = documentxsschema0xselement1xskeyref5.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1xskeyref5Text4.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xselement1xskeyref5Text4.TextContent);
+
+            var documentxsschema0xselement1Text6 = documentxsschema0xselement1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xselement1Text6.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0xselement1Text6.TextContent);
+
+            var documentxsschema0Text2 = documentxsschema0.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0Text2.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0Text2.TextContent);
+
+            var documentxsschema0xscomplexType3 = documentxsschema0.ChildNodes[3];
+            Assert.AreEqual(5, documentxsschema0xscomplexType3.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xscomplexType3.Attributes.Length);
+            Assert.AreEqual("xs:complexType", documentxsschema0xscomplexType3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3.Attributes["name"].Name);
+            Assert.AreEqual("CustomerType", documentxsschema0xscomplexType3.Attributes["name"].Value);
+
+            var documentxsschema0xscomplexType3Text0 = documentxsschema0xscomplexType3.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3Text0.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType3Text0.TextContent);
+
+            var documentxsschema0xscomplexType3xssequence1 = documentxsschema0xscomplexType3.ChildNodes[1];
+            Assert.AreEqual(13, documentxsschema0xscomplexType3xssequence1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xssequence1.Attributes.Length);
+            Assert.AreEqual("xs:sequence", documentxsschema0xscomplexType3xssequence1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xssequence1.NodeType);
+
+            var documentxsschema0xscomplexType3xssequence1Text0 = documentxsschema0xscomplexType3xssequence1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3xssequence1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType3xssequence1Text0.TextContent);
+
+            var documentxsschema0xscomplexType3xssequence1xselement1 = documentxsschema0xscomplexType3xssequence1.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xssequence1xselement1.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType3xssequence1xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType3xssequence1xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xssequence1xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3xssequence1xselement1.Attributes["name"].Name);
+            Assert.AreEqual("CompanyName", documentxsschema0xscomplexType3xssequence1xselement1.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement1.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType3xssequence1xselement1.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType3xssequence1xselement1.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType3xssequence1Text2 = documentxsschema0xscomplexType3xssequence1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3xssequence1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType3xssequence1Text2.TextContent);
+
+            var documentxsschema0xscomplexType3xssequence1xselement3 = documentxsschema0xscomplexType3xssequence1.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xssequence1xselement3.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType3xssequence1xselement3.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType3xssequence1xselement3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xssequence1xselement3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3xssequence1xselement3.Attributes["name"].Name);
+            Assert.AreEqual("ContactName", documentxsschema0xscomplexType3xssequence1xselement3.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement3.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType3xssequence1xselement3.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType3xssequence1xselement3.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType3xssequence1Text4 = documentxsschema0xscomplexType3xssequence1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3xssequence1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType3xssequence1Text4.TextContent);
+
+            var documentxsschema0xscomplexType3xssequence1xselement5 = documentxsschema0xscomplexType3xssequence1.ChildNodes[5];
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xssequence1xselement5.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType3xssequence1xselement5.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType3xssequence1xselement5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xssequence1xselement5.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement5.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3xssequence1xselement5.Attributes["name"].Name);
+            Assert.AreEqual("ContactTitle", documentxsschema0xscomplexType3xssequence1xselement5.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement5.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType3xssequence1xselement5.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType3xssequence1xselement5.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType3xssequence1Text6 = documentxsschema0xscomplexType3xssequence1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3xssequence1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType3xssequence1Text6.TextContent);
+
+            var documentxsschema0xscomplexType3xssequence1xselement7 = documentxsschema0xscomplexType3xssequence1.ChildNodes[7];
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xssequence1xselement7.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType3xssequence1xselement7.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType3xssequence1xselement7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xssequence1xselement7.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement7.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3xssequence1xselement7.Attributes["name"].Name);
+            Assert.AreEqual("Phone", documentxsschema0xscomplexType3xssequence1xselement7.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement7.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType3xssequence1xselement7.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType3xssequence1xselement7.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType3xssequence1Text8 = documentxsschema0xscomplexType3xssequence1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3xssequence1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType3xssequence1Text8.TextContent);
+
+            var documentxsschema0xscomplexType3xssequence1xselement9 = documentxsschema0xscomplexType3xssequence1.ChildNodes[9];
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xssequence1xselement9.ChildNodes.Length);
+            Assert.AreEqual(3, documentxsschema0xscomplexType3xssequence1xselement9.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType3xssequence1xselement9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xssequence1xselement9.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement9.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3xssequence1xselement9.Attributes["name"].Name);
+            Assert.AreEqual("Fax", documentxsschema0xscomplexType3xssequence1xselement9.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement9.Attributes["minOccurs"]);
+            Assert.AreEqual("minOccurs", documentxsschema0xscomplexType3xssequence1xselement9.Attributes["minOccurs"].Name);
+            Assert.AreEqual("0", documentxsschema0xscomplexType3xssequence1xselement9.Attributes["minOccurs"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement9.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType3xssequence1xselement9.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType3xssequence1xselement9.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType3xssequence1Text10 = documentxsschema0xscomplexType3xssequence1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3xssequence1Text10.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType3xssequence1Text10.TextContent);
+
+            var documentxsschema0xscomplexType3xssequence1xselement11 = documentxsschema0xscomplexType3xssequence1.ChildNodes[11];
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xssequence1xselement11.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType3xssequence1xselement11.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType3xssequence1xselement11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xssequence1xselement11.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement11.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3xssequence1xselement11.Attributes["name"].Name);
+            Assert.AreEqual("FullAddress", documentxsschema0xscomplexType3xssequence1xselement11.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xssequence1xselement11.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType3xssequence1xselement11.Attributes["type"].Name);
+            Assert.AreEqual("AddressType", documentxsschema0xscomplexType3xssequence1xselement11.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType3xssequence1Text12 = documentxsschema0xscomplexType3xssequence1.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3xssequence1Text12.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType3xssequence1Text12.TextContent);
+
+            var documentxsschema0xscomplexType3Text2 = documentxsschema0xscomplexType3.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3Text2.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType3Text2.TextContent);
+
+            var documentxsschema0xscomplexType3xsattribute3 = documentxsschema0xscomplexType3.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xscomplexType3xsattribute3.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType3xsattribute3.Attributes.Length);
+            Assert.AreEqual("xs:attribute", documentxsschema0xscomplexType3xsattribute3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType3xsattribute3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xsattribute3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType3xsattribute3.Attributes["name"].Name);
+            Assert.AreEqual("CustomerID", documentxsschema0xscomplexType3xsattribute3.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType3xsattribute3.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType3xsattribute3.Attributes["type"].Name);
+            Assert.AreEqual("xs:token", documentxsschema0xscomplexType3xsattribute3.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType3Text4 = documentxsschema0xscomplexType3.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType3Text4.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0xscomplexType3Text4.TextContent);
+
+            var documentxsschema0Text4 = documentxsschema0.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0Text4.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0Text4.TextContent);
+
+            var documentxsschema0xscomplexType5 = documentxsschema0.ChildNodes[5];
+            Assert.AreEqual(5, documentxsschema0xscomplexType5.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xscomplexType5.Attributes.Length);
+            Assert.AreEqual("xs:complexType", documentxsschema0xscomplexType5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType5.Attributes["name"].Name);
+            Assert.AreEqual("AddressType", documentxsschema0xscomplexType5.Attributes["name"].Value);
+
+            var documentxsschema0xscomplexType5Text0 = documentxsschema0xscomplexType5.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5Text0.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType5Text0.TextContent);
+
+            var documentxsschema0xscomplexType5xssequence1 = documentxsschema0xscomplexType5.ChildNodes[1];
+            Assert.AreEqual(11, documentxsschema0xscomplexType5xssequence1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xscomplexType5xssequence1.Attributes.Length);
+            Assert.AreEqual("xs:sequence", documentxsschema0xscomplexType5xssequence1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5xssequence1.NodeType);
+
+            var documentxsschema0xscomplexType5xssequence1Text0 = documentxsschema0xscomplexType5xssequence1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5xssequence1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType5xssequence1Text0.TextContent);
+
+            var documentxsschema0xscomplexType5xssequence1xselement1 = documentxsschema0xscomplexType5xssequence1.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xscomplexType5xssequence1xselement1.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType5xssequence1xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType5xssequence1xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5xssequence1xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType5xssequence1xselement1.Attributes["name"].Name);
+            Assert.AreEqual("Address", documentxsschema0xscomplexType5xssequence1xselement1.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement1.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType5xssequence1xselement1.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType5xssequence1xselement1.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType5xssequence1Text2 = documentxsschema0xscomplexType5xssequence1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5xssequence1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType5xssequence1Text2.TextContent);
+
+            var documentxsschema0xscomplexType5xssequence1xselement3 = documentxsschema0xscomplexType5xssequence1.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xscomplexType5xssequence1xselement3.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType5xssequence1xselement3.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType5xssequence1xselement3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5xssequence1xselement3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType5xssequence1xselement3.Attributes["name"].Name);
+            Assert.AreEqual("City", documentxsschema0xscomplexType5xssequence1xselement3.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement3.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType5xssequence1xselement3.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType5xssequence1xselement3.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType5xssequence1Text4 = documentxsschema0xscomplexType5xssequence1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5xssequence1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType5xssequence1Text4.TextContent);
+
+            var documentxsschema0xscomplexType5xssequence1xselement5 = documentxsschema0xscomplexType5xssequence1.ChildNodes[5];
+            Assert.AreEqual(0, documentxsschema0xscomplexType5xssequence1xselement5.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType5xssequence1xselement5.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType5xssequence1xselement5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5xssequence1xselement5.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement5.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType5xssequence1xselement5.Attributes["name"].Name);
+            Assert.AreEqual("Region", documentxsschema0xscomplexType5xssequence1xselement5.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement5.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType5xssequence1xselement5.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType5xssequence1xselement5.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType5xssequence1Text6 = documentxsschema0xscomplexType5xssequence1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5xssequence1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType5xssequence1Text6.TextContent);
+
+            var documentxsschema0xscomplexType5xssequence1xselement7 = documentxsschema0xscomplexType5xssequence1.ChildNodes[7];
+            Assert.AreEqual(0, documentxsschema0xscomplexType5xssequence1xselement7.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType5xssequence1xselement7.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType5xssequence1xselement7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5xssequence1xselement7.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement7.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType5xssequence1xselement7.Attributes["name"].Name);
+            Assert.AreEqual("PostalCode", documentxsschema0xscomplexType5xssequence1xselement7.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement7.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType5xssequence1xselement7.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType5xssequence1xselement7.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType5xssequence1Text8 = documentxsschema0xscomplexType5xssequence1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5xssequence1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType5xssequence1Text8.TextContent);
+
+            var documentxsschema0xscomplexType5xssequence1xselement9 = documentxsschema0xscomplexType5xssequence1.ChildNodes[9];
+            Assert.AreEqual(0, documentxsschema0xscomplexType5xssequence1xselement9.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType5xssequence1xselement9.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType5xssequence1xselement9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5xssequence1xselement9.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement9.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType5xssequence1xselement9.Attributes["name"].Name);
+            Assert.AreEqual("Country", documentxsschema0xscomplexType5xssequence1xselement9.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xssequence1xselement9.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType5xssequence1xselement9.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType5xssequence1xselement9.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType5xssequence1Text10 = documentxsschema0xscomplexType5xssequence1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5xssequence1Text10.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType5xssequence1Text10.TextContent);
+
+            var documentxsschema0xscomplexType5Text2 = documentxsschema0xscomplexType5.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5Text2.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType5Text2.TextContent);
+
+            var documentxsschema0xscomplexType5xsattribute3 = documentxsschema0xscomplexType5.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xscomplexType5xsattribute3.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType5xsattribute3.Attributes.Length);
+            Assert.AreEqual("xs:attribute", documentxsschema0xscomplexType5xsattribute3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType5xsattribute3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xsattribute3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType5xsattribute3.Attributes["name"].Name);
+            Assert.AreEqual("CustomerID", documentxsschema0xscomplexType5xsattribute3.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType5xsattribute3.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType5xsattribute3.Attributes["type"].Name);
+            Assert.AreEqual("xs:token", documentxsschema0xscomplexType5xsattribute3.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType5Text4 = documentxsschema0xscomplexType5.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType5Text4.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0xscomplexType5Text4.TextContent);
+
+            var documentxsschema0Text6 = documentxsschema0.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentxsschema0Text6.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0Text6.TextContent);
+
+            var documentxsschema0xscomplexType7 = documentxsschema0.ChildNodes[7];
+            Assert.AreEqual(3, documentxsschema0xscomplexType7.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xscomplexType7.Attributes.Length);
+            Assert.AreEqual("xs:complexType", documentxsschema0xscomplexType7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType7.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType7.Attributes["name"].Name);
+            Assert.AreEqual("OrderType", documentxsschema0xscomplexType7.Attributes["name"].Value);
+
+            var documentxsschema0xscomplexType7Text0 = documentxsschema0xscomplexType7.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7Text0.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType7Text0.TextContent);
+
+            var documentxsschema0xscomplexType7xssequence1 = documentxsschema0xscomplexType7.ChildNodes[1];
+            Assert.AreEqual(11, documentxsschema0xscomplexType7xssequence1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xscomplexType7xssequence1.Attributes.Length);
+            Assert.AreEqual("xs:sequence", documentxsschema0xscomplexType7xssequence1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType7xssequence1.NodeType);
+
+            var documentxsschema0xscomplexType7xssequence1Text0 = documentxsschema0xscomplexType7xssequence1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7xssequence1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType7xssequence1Text0.TextContent);
+
+            var documentxsschema0xscomplexType7xssequence1xselement1 = documentxsschema0xscomplexType7xssequence1.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xscomplexType7xssequence1xselement1.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType7xssequence1xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType7xssequence1xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType7xssequence1xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType7xssequence1xselement1.Attributes["name"].Name);
+            Assert.AreEqual("CustomerID", documentxsschema0xscomplexType7xssequence1xselement1.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement1.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType7xssequence1xselement1.Attributes["type"].Name);
+            Assert.AreEqual("xs:token", documentxsschema0xscomplexType7xssequence1xselement1.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType7xssequence1Text2 = documentxsschema0xscomplexType7xssequence1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7xssequence1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType7xssequence1Text2.TextContent);
+
+            var documentxsschema0xscomplexType7xssequence1xselement3 = documentxsschema0xscomplexType7xssequence1.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xscomplexType7xssequence1xselement3.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType7xssequence1xselement3.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType7xssequence1xselement3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType7xssequence1xselement3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType7xssequence1xselement3.Attributes["name"].Name);
+            Assert.AreEqual("EmployeeID", documentxsschema0xscomplexType7xssequence1xselement3.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement3.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType7xssequence1xselement3.Attributes["type"].Name);
+            Assert.AreEqual("xs:token", documentxsschema0xscomplexType7xssequence1xselement3.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType7xssequence1Text4 = documentxsschema0xscomplexType7xssequence1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7xssequence1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType7xssequence1Text4.TextContent);
+
+            var documentxsschema0xscomplexType7xssequence1xselement5 = documentxsschema0xscomplexType7xssequence1.ChildNodes[5];
+            Assert.AreEqual(0, documentxsschema0xscomplexType7xssequence1xselement5.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType7xssequence1xselement5.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType7xssequence1xselement5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType7xssequence1xselement5.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement5.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType7xssequence1xselement5.Attributes["name"].Name);
+            Assert.AreEqual("OrderDate", documentxsschema0xscomplexType7xssequence1xselement5.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement5.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType7xssequence1xselement5.Attributes["type"].Name);
+            Assert.AreEqual("xs:dateTime", documentxsschema0xscomplexType7xssequence1xselement5.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType7xssequence1Text6 = documentxsschema0xscomplexType7xssequence1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7xssequence1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType7xssequence1Text6.TextContent);
+
+            var documentxsschema0xscomplexType7xssequence1xselement7 = documentxsschema0xscomplexType7xssequence1.ChildNodes[7];
+            Assert.AreEqual(0, documentxsschema0xscomplexType7xssequence1xselement7.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType7xssequence1xselement7.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType7xssequence1xselement7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType7xssequence1xselement7.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement7.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType7xssequence1xselement7.Attributes["name"].Name);
+            Assert.AreEqual("RequiredDate", documentxsschema0xscomplexType7xssequence1xselement7.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement7.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType7xssequence1xselement7.Attributes["type"].Name);
+            Assert.AreEqual("xs:dateTime", documentxsschema0xscomplexType7xssequence1xselement7.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType7xssequence1Text8 = documentxsschema0xscomplexType7xssequence1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7xssequence1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType7xssequence1Text8.TextContent);
+
+            var documentxsschema0xscomplexType7xssequence1xselement9 = documentxsschema0xscomplexType7xssequence1.ChildNodes[9];
+            Assert.AreEqual(0, documentxsschema0xscomplexType7xssequence1xselement9.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType7xssequence1xselement9.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType7xssequence1xselement9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType7xssequence1xselement9.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement9.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType7xssequence1xselement9.Attributes["name"].Name);
+            Assert.AreEqual("ShipInfo", documentxsschema0xscomplexType7xssequence1xselement9.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType7xssequence1xselement9.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType7xssequence1xselement9.Attributes["type"].Name);
+            Assert.AreEqual("ShipInfoType", documentxsschema0xscomplexType7xssequence1xselement9.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType7xssequence1Text10 = documentxsschema0xscomplexType7xssequence1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7xssequence1Text10.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType7xssequence1Text10.TextContent);
+
+            var documentxsschema0xscomplexType7Text2 = documentxsschema0xscomplexType7.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType7Text2.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0xscomplexType7Text2.TextContent);
+
+            var documentxsschema0Text8 = documentxsschema0.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentxsschema0Text8.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0Text8.TextContent);
+
+            var documentxsschema0xscomplexType9 = documentxsschema0.ChildNodes[9];
+            Assert.AreEqual(5, documentxsschema0xscomplexType9.ChildNodes.Length);
+            Assert.AreEqual(1, documentxsschema0xscomplexType9.Attributes.Length);
+            Assert.AreEqual("xs:complexType", documentxsschema0xscomplexType9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9.Attributes["name"].Name);
+            Assert.AreEqual("ShipInfoType", documentxsschema0xscomplexType9.Attributes["name"].Value);
+
+            var documentxsschema0xscomplexType9Text0 = documentxsschema0xscomplexType9.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9Text0.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType9Text0.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1 = documentxsschema0xscomplexType9.ChildNodes[1];
+            Assert.AreEqual(17, documentxsschema0xscomplexType9xssequence1.ChildNodes.Length);
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1.Attributes.Length);
+            Assert.AreEqual("xs:sequence", documentxsschema0xscomplexType9xssequence1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1.NodeType);
+
+            var documentxsschema0xscomplexType9xssequence1Text0 = documentxsschema0xscomplexType9xssequence1.ChildNodes[0];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text0.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text0.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement1 = documentxsschema0xscomplexType9xssequence1.ChildNodes[1];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement1.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement1.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement1.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement1.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement1.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement1.Attributes["name"].Name);
+            Assert.AreEqual("ShipVia", documentxsschema0xscomplexType9xssequence1xselement1.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement1.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement1.Attributes["type"].Name);
+            Assert.AreEqual("xs:integer", documentxsschema0xscomplexType9xssequence1xselement1.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text2 = documentxsschema0xscomplexType9xssequence1.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text2.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text2.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement3 = documentxsschema0xscomplexType9xssequence1.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement3.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement3.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement3.Attributes["name"].Name);
+            Assert.AreEqual("Freight", documentxsschema0xscomplexType9xssequence1xselement3.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement3.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement3.Attributes["type"].Name);
+            Assert.AreEqual("xs:decimal", documentxsschema0xscomplexType9xssequence1xselement3.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text4 = documentxsschema0xscomplexType9xssequence1.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text4.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text4.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement5 = documentxsschema0xscomplexType9xssequence1.ChildNodes[5];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement5.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement5.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement5.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement5.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement5.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement5.Attributes["name"].Name);
+            Assert.AreEqual("ShipName", documentxsschema0xscomplexType9xssequence1xselement5.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement5.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement5.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType9xssequence1xselement5.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text6 = documentxsschema0xscomplexType9xssequence1.ChildNodes[6];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text6.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text6.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement7 = documentxsschema0xscomplexType9xssequence1.ChildNodes[7];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement7.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement7.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement7.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement7.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement7.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement7.Attributes["name"].Name);
+            Assert.AreEqual("ShipAddress", documentxsschema0xscomplexType9xssequence1xselement7.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement7.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement7.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType9xssequence1xselement7.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text8 = documentxsschema0xscomplexType9xssequence1.ChildNodes[8];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text8.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text8.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement9 = documentxsschema0xscomplexType9xssequence1.ChildNodes[9];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement9.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement9.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement9.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement9.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement9.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement9.Attributes["name"].Name);
+            Assert.AreEqual("ShipCity", documentxsschema0xscomplexType9xssequence1xselement9.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement9.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement9.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType9xssequence1xselement9.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text10 = documentxsschema0xscomplexType9xssequence1.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text10.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text10.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement11 = documentxsschema0xscomplexType9xssequence1.ChildNodes[11];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement11.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement11.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement11.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement11.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement11.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement11.Attributes["name"].Name);
+            Assert.AreEqual("ShipRegion", documentxsschema0xscomplexType9xssequence1xselement11.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement11.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement11.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType9xssequence1xselement11.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text12 = documentxsschema0xscomplexType9xssequence1.ChildNodes[12];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text12.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text12.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement13 = documentxsschema0xscomplexType9xssequence1.ChildNodes[13];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement13.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement13.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement13.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement13.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement13.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement13.Attributes["name"].Name);
+            Assert.AreEqual("ShipPostalCode", documentxsschema0xscomplexType9xssequence1xselement13.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement13.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement13.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType9xssequence1xselement13.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text14 = documentxsschema0xscomplexType9xssequence1.ChildNodes[14];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text14.NodeType);
+            Assert.AreEqual("\n      ", documentxsschema0xscomplexType9xssequence1Text14.TextContent);
+
+            var documentxsschema0xscomplexType9xssequence1xselement15 = documentxsschema0xscomplexType9xssequence1.ChildNodes[15];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xssequence1xselement15.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xssequence1xselement15.Attributes.Length);
+            Assert.AreEqual("xs:element", documentxsschema0xscomplexType9xssequence1xselement15.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xssequence1xselement15.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement15.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xssequence1xselement15.Attributes["name"].Name);
+            Assert.AreEqual("ShipCountry", documentxsschema0xscomplexType9xssequence1xselement15.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xssequence1xselement15.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xssequence1xselement15.Attributes["type"].Name);
+            Assert.AreEqual("xs:string", documentxsschema0xscomplexType9xssequence1xselement15.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9xssequence1Text16 = documentxsschema0xscomplexType9xssequence1.ChildNodes[16];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9xssequence1Text16.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType9xssequence1Text16.TextContent);
+
+            var documentxsschema0xscomplexType9Text2 = documentxsschema0xscomplexType9.ChildNodes[2];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9Text2.NodeType);
+            Assert.AreEqual("\n    ", documentxsschema0xscomplexType9Text2.TextContent);
+
+            var documentxsschema0xscomplexType9xsattribute3 = documentxsschema0xscomplexType9.ChildNodes[3];
+            Assert.AreEqual(0, documentxsschema0xscomplexType9xsattribute3.ChildNodes.Length);
+            Assert.AreEqual(2, documentxsschema0xscomplexType9xsattribute3.Attributes.Length);
+            Assert.AreEqual("xs:attribute", documentxsschema0xscomplexType9xsattribute3.NodeName);
+            Assert.AreEqual(NodeType.Element, documentxsschema0xscomplexType9xsattribute3.NodeType);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xsattribute3.Attributes["name"]);
+            Assert.AreEqual("name", documentxsschema0xscomplexType9xsattribute3.Attributes["name"].Name);
+            Assert.AreEqual("ShippedDate", documentxsschema0xscomplexType9xsattribute3.Attributes["name"].Value);
+
+            Assert.IsNotNull(documentxsschema0xscomplexType9xsattribute3.Attributes["type"]);
+            Assert.AreEqual("type", documentxsschema0xscomplexType9xsattribute3.Attributes["type"].Name);
+            Assert.AreEqual("xs:dateTime", documentxsschema0xscomplexType9xsattribute3.Attributes["type"].Value);
+
+            var documentxsschema0xscomplexType9Text4 = documentxsschema0xscomplexType9.ChildNodes[4];
+            Assert.AreEqual(NodeType.Text, documentxsschema0xscomplexType9Text4.NodeType);
+            Assert.AreEqual("\n  ", documentxsschema0xscomplexType9Text4.TextContent);
+
+            var documentxsschema0Text10 = documentxsschema0.ChildNodes[10];
+            Assert.AreEqual(NodeType.Text, documentxsschema0Text10.NodeType);
+            Assert.AreEqual("\n", documentxsschema0Text10.TextContent);
         }

         [TestMethod]