private int GetRelationIndex(XWPFRelation relation) { List <POIXMLDocumentPart> relations = doc.GetRelations(); int i = 1; for (IEnumerator <POIXMLDocumentPart> it = relations.GetEnumerator(); it.MoveNext();) { POIXMLDocumentPart item = it.Current; if (item.GetPackageRelationship().RelationshipType.Equals(relation.Relation)) { i++; } } return(i); }
/** * Recursively Traverse a OOXML document and assert that same logical parts have the same physical instances */ private void Traverse(POIXMLDocumentPart part, Dictionary <String, POIXMLDocumentPart> context) { context[part.GetPackageRelationship().TargetUri.ToString()] = part; foreach (POIXMLDocumentPart p in part.GetRelations()) { String uri = p.GetPackageRelationship().TargetUri.ToString(); if (!context.ContainsKey(uri)) { Traverse(p, context); } else { POIXMLDocumentPart prev = context[uri]; Assert.AreSame(prev, p, "Duplicate POIXMLDocumentPart instance for targetURI=" + uri); } } }
/** * Recursively Traverse a OOXML document and assert that same logical parts have the same physical instances */ private void Traverse(POIXMLDocumentPart part, Dictionary <String, POIXMLDocumentPart> context) { Assert.AreEqual(part.GetPackageRelationship().TargetUri.ToString(), part.GetPackagePart().PartName.Name); context[part.GetPackagePart().PartName.Name] = part; foreach (POIXMLDocumentPart p in part.GetRelations()) { Assert.IsNotNull(p.ToString()); String uri = p.GetPackagePart().PartName.URI.ToString(); Assert.AreEqual(uri, p.GetPackageRelationship().TargetUri.ToString()); if (!context.ContainsKey(uri)) { Traverse(p, context); } else { POIXMLDocumentPart prev = context[uri]; Assert.AreSame(prev, p, "Duplicate POIXMLDocumentPart instance for targetURI=" + uri); } } }