aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-03-20 19:20:02 +0000
committerMichael Williamson <mike@zwobble.org>2024-03-20 19:20:02 +0000
commitb826c4a4df92c5280e4f8a4d7e1bebbbb03affb3 (patch)
tree02e6d71ea44af7be0251f2b87e1924587cdd3872 /src/main/java/org/zwobble
parentf1227a9f026f34c48515332770944049656a272f (diff)
Prefer numbering properties to numbering from paragraph style
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java13
1 files changed, 8 insertions, 5 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 3be34ad..d17a404 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
@@ -354,6 +354,13 @@ class StatefulBodyXmlReader {
}
private Optional<NumberingLevel> readNumbering(Optional<Style> style, XmlElementLike properties) {
+ XmlElementLike numberingProperties = properties.findChildOrEmpty("w:numPr");
+ Optional<String> numId = readVal(numberingProperties, "w:numId");
+ Optional<String> levelIndex = readVal(numberingProperties, "w:ilvl");
+ if (numId.isPresent() && levelIndex.isPresent()) {
+ return numbering.findLevel(numId.get(), levelIndex.get());
+ }
+
if (style.isPresent()) {
String styleId = style.get().getStyleId();
Optional<NumberingLevel> level = numbering.findLevelByParagraphStyleId(styleId);
@@ -362,11 +369,7 @@ class StatefulBodyXmlReader {
}
}
- XmlElementLike numberingProperties = properties.findChildOrEmpty("w:numPr");
- return Optionals.flatMap(
- readVal(numberingProperties, "w:numId"),
- readVal(numberingProperties, "w:ilvl"),
- numbering::findLevel);
+ return Optional.empty();
}
private ParagraphIndent readParagraphIndent(XmlElementLike properties) {