From 98c98549a237be0db4689bf38436a24fc30ac111 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 11 Sep 2025 15:37:06 +0100 Subject: Handle numbering levels defined without an index --- .../org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java') 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(); } -- cgit v1.2.3