aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
diff options
context:
space:
mode:
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.java12
1 files changed, 10 insertions, 2 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 f726a29..76ea8ea 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
@@ -95,7 +95,7 @@ class StatefulBodyXmlReader {
case "w:tbl":
return readTable(element);
case "w:tr":
- return readElements(element.getChildren()).map(TableRow::new);
+ return readTableRow(element);
case "w:tc":
return readTableCell(element);
@@ -150,6 +150,7 @@ class StatefulBodyXmlReader {
case "w:rPr":
case "w:tblPr":
case "w:tblGrid":
+ case "w:trPr":
case "w:tcPr":
return EMPTY_SUCCESS;
@@ -378,7 +379,7 @@ class StatefulBodyXmlReader {
}
}
- return new TableRow(mergedCells);
+ return new TableRow(mergedCells, row.isHeader());
}));
}
@@ -398,6 +399,13 @@ class StatefulBodyXmlReader {
return Optional.empty();
}
+ private ReadResult readTableRow(XmlElement element) {
+ XmlElementLike properties = element.findChildOrEmpty("w:trPr");
+ boolean isHeader = properties.hasChild("w:tblHeader");
+ return readElements(element.getChildren())
+ .map(children -> new TableRow(children, isHeader));
+ }
+
private ReadResult readTableCell(XmlElement element) {
XmlElementLike properties = element.findChildOrEmpty("w:tcPr");
Optional<String> gridSpan = properties