aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-10-02 12:22:33 +0100
committerMichael Williamson <mike@zwobble.org>2016-10-02 12:22:33 +0100
commita598ea5e130179d702da0a9305c54f71e594e8bb (patch)
treeef780d734a59a64fd1166df0545f772c0ce731bd /src/main
parent478405aaa3bb86bb85e8d77ba41ac6b4612cb3df (diff)
Ignore v:imagedata elements without relationship ID with warning
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
index 5f93c4a..e4c5b5f 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
@@ -381,10 +381,13 @@ public class BodyXmlReader {
}
private ReadResult readImagedata(XmlElement element) {
- Optional<String> title = element.getAttributeOrNone("o:title");
- String relationshipId = element.getAttribute("r:id");
- String imagePath = relationshipIdToDocxPath(relationshipId);
- return readImage(imagePath, title, () -> DocxFiles.getInputStream(file, imagePath));
+ return element.getAttributeOrNone("r:id")
+ .map(relationshipId -> {
+ Optional<String> title = element.getAttributeOrNone("o:title");
+ String imagePath = relationshipIdToDocxPath(relationshipId);
+ return readImage(imagePath, title, () -> DocxFiles.getInputStream(file, imagePath));
+ })
+ .orElse(ReadResult.emptyWithWarning("A v:imagedata element without a relationship ID was ignored"));
}
private ReadResult readInline(XmlElement element) {