aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/mammoth/Mammoth.java8
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/DocumentReader.java8
-rw-r--r--src/main/java/org/zwobble/mammoth/styles/HtmlPathElement.java9
3 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/Mammoth.java b/src/main/java/org/zwobble/mammoth/Mammoth.java
index 4421a17..bb1e501 100644
--- a/src/main/java/org/zwobble/mammoth/Mammoth.java
+++ b/src/main/java/org/zwobble/mammoth/Mammoth.java
@@ -11,6 +11,7 @@ import org.zwobble.mammoth.docx.ZippedDocxFile;
import org.zwobble.mammoth.html.Html;
import org.zwobble.mammoth.results.Result;
import org.zwobble.mammoth.styles.HtmlPath;
+import org.zwobble.mammoth.styles.HtmlPathElement;
import org.zwobble.mammoth.styles.ParagraphMatcher;
import org.zwobble.mammoth.styles.StyleMap;
import org.zwobble.mammoth.util.Casts;
@@ -49,6 +50,13 @@ public class Mammoth {
.mapParagraph(ParagraphMatcher.styleName("endnote text"), HtmlPath.element("p"))
.mapParagraph(ParagraphMatcher.styleName("Footnote"), HtmlPath.element("p"))
.mapParagraph(ParagraphMatcher.styleName("Endnote"), HtmlPath.element("p"))
+
+ .mapParagraph(
+ ParagraphMatcher.unorderedList("0"),
+ new HtmlPath(list(
+ HtmlPathElement.collapsible("ul"),
+ HtmlPathElement.fresh("li"))))
+
.mapParagraph(ParagraphMatcher.styleName("Normal"), HtmlPath.element("p"))
.build();
diff --git a/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java b/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java
index 06d8ad5..d55fa9b 100644
--- a/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java
+++ b/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java
@@ -19,7 +19,7 @@ public class DocumentReader {
public static Result<Document> readDocument(DocxFile zipFile) {
Styles styles = readStyles(zipFile);
- Numbering numbering = Numbering.EMPTY;
+ Numbering numbering = readNumbering(zipFile);
ContentTypes contentTypes = readContentTypes(zipFile);
FileReader fileReader = uri -> {
throw new UnsupportedOperationException();
@@ -52,6 +52,12 @@ public class DocumentReader {
.orElse(Styles.EMPTY);
}
+ private static Numbering readNumbering(DocxFile file) {
+ return tryParseOfficeXml(file, "word/numbering.xml")
+ .map(NumberingXml::readNumberingXmlElement)
+ .orElse(Numbering.EMPTY);
+ }
+
private static ContentTypes readContentTypes(DocxFile file) {
return tryParseOfficeXml(file, "[Content_Types].xml")
.map(ContentTypesXml::readContentTypesXmlElement)
diff --git a/src/main/java/org/zwobble/mammoth/styles/HtmlPathElement.java b/src/main/java/org/zwobble/mammoth/styles/HtmlPathElement.java
index f250992..b34fb50 100644
--- a/src/main/java/org/zwobble/mammoth/styles/HtmlPathElement.java
+++ b/src/main/java/org/zwobble/mammoth/styles/HtmlPathElement.java
@@ -7,8 +7,17 @@ import java.util.List;
import java.util.Map;
import static org.zwobble.mammoth.util.MammothLists.list;
+import static org.zwobble.mammoth.util.MammothMaps.map;
public class HtmlPathElement {
+ public static HtmlPathElement fresh(String tagName) {
+ return new HtmlPathElement(tagName, map(), false);
+ }
+
+ public static HtmlPathElement collapsible(String tagName) {
+ return new HtmlPathElement(tagName, map(), true);
+ }
+
private final String tagName;
private final Map<String, String> attributes;
private final boolean isCollapsible;