aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-09-11 15:37:06 +0100
committerMichael Williamson <mike@zwobble.org>2025-09-11 15:37:06 +0100
commit98c98549a237be0db4689bf38436a24fc30ac111 (patch)
treef21be588511dad9507c8509c386b984810d027da /src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
parent444dc1b64c015197bf6b5219da9459bc0cf6f787 (diff)
Handle numbering levels defined without an index
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
index 649a47b..1f5aff4 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
@@ -429,6 +429,13 @@ class StatefulBodyXmlReader {
}
}
+ // Some malformed documents define numbering levels without an index, and
+ // reference the numbering using a w:numPr element without a w:ilvl child.
+ // To handle such cases, we assume a level of 0 as a fallback.
+ if (numId.isPresent()) {
+ return numbering.findLevel(numId.get(), "0");
+ }
+
return Optional.empty();
}