Example #1
0
        internal void WriteTo(XmlWriter xmlWriter)
        {
            Debug.Assert(_xmlDiff._fragments != TriStateBool.DontKnown);

            xmlWriter.WriteStartDocument();

            xmlWriter.WriteStartElement(XmlDiff.Prefix, "xmldiff", XmlDiff.NamespaceUri);
            xmlWriter.WriteAttributeString("version", "1.0");
            xmlWriter.WriteAttributeString("srcDocHash", _xmlDiff._sourceDoc.HashValue.ToString());
            xmlWriter.WriteAttributeString("options", _xmlDiff.GetXmlDiffOptionsString());
            xmlWriter.WriteAttributeString("fragments", (_xmlDiff._fragments == TriStateBool.Yes) ? "yes" : "no");

            WriteChildrenTo(xmlWriter, _xmlDiff);

            OperationDescriptor curOD = _descriptors;

            while (curOD != null)
            {
                curOD.WriteTo(xmlWriter);
                curOD = curOD._nextDescriptor;
            }

            xmlWriter.WriteEndElement();
            xmlWriter.WriteEndDocument();
        }