private PackagePart AddPart(Package package, PackagePart parent, Uri uri, IHasDocument hasDocument, string ns, string nsRel, string relId) { var document = hasDocument.GetDocument(); if (document == null) { return(null); } var partUri = PackUriHelper.CreatePartUri(uri); var part = package.CreatePart(partUri, ns); using (var stream = part.GetStream(FileMode.Create, FileAccess.Write)) { document.Save(stream, SaveOptions.OmitDuplicateNamespaces); } if (parent != null) { parent.CreateRelationship(partUri, TargetMode.Internal, nsRel, relId); } else { package.CreateRelationship(partUri, TargetMode.Internal, nsRel, relId); } return(part); }