public override XmlWriter AppendChild() {
switch (source.NodeType) {
case XmlNodeType.Element:
case XmlNodeType.Document:
case XmlNodeType.DocumentFragment:
break;
default:
throw new InvalidOperationException(Res.GetString(Res.Xpn_BadPosition));
}
DocumentXmlWriter writer = new DocumentXmlWriter(DocumentXmlWriterType.AppendChild, source, document);
writer.NamespaceManager = GetNamespaceManager(source, document);
return new XmlWellFormedWriter(writer, writer.Settings);
}