diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-02-18 13:07:37 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-02-18 13:07:37 +0000 |
| commit | 3f91af0b67fd38577f3f167d19670193349cd30a (patch) | |
| tree | b34cc8dac765aa0a9fdf57f9d82b41be143ada21 /src | |
| parent | cb8360ca25dd74e3afa82fb5626df932f71013e8 (diff) | |
Add support for the strict document format
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/docx/OfficeXml.java | 14 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/MammothTests.java | 8 | ||||
| -rw-r--r-- | src/test/resources/test-data/strict-format.docx | bin | 0 -> 11692 bytes |
3 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/OfficeXml.java b/src/main/java/org/zwobble/mammoth/internal/docx/OfficeXml.java index 1cb7cd1..d4dc5f6 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/OfficeXml.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/OfficeXml.java @@ -11,15 +11,25 @@ import static org.zwobble.mammoth.internal.util.Lists.list; public class OfficeXml { private static final NamespacePrefixes XML_NAMESPACES = NamespacePrefixes.builder() + // Transitional format .put("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main") + .put("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships") .put("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing") .put("a", "http://schemas.openxmlformats.org/drawingml/2006/main") .put("pic", "http://schemas.openxmlformats.org/drawingml/2006/picture") + + // Strict format + .put("w", "http://purl.oclc.org/ooxml/wordprocessingml/main") + .put("r", "http://purl.oclc.org/ooxml/officeDocument/relationships") + .put("wp", "http://purl.oclc.org/ooxml/drawingml/wordprocessingDrawing") + .put("a", "http://purl.oclc.org/ooxml/drawingml/main") + .put("pic", "http://purl.oclc.org/ooxml/drawingml/picture") + + // Common .put("content-types", "http://schemas.openxmlformats.org/package/2006/content-types") - .put("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships") .put("relationships", "http://schemas.openxmlformats.org/package/2006/relationships") - .put("v", "urn:schemas-microsoft-com:vml") .put("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006") + .put("v", "urn:schemas-microsoft-com:vml") .put("office-word", "urn:schemas-microsoft-com:office:word") .build(); diff --git a/src/test/java/org/zwobble/mammoth/tests/MammothTests.java b/src/test/java/org/zwobble/mammoth/tests/MammothTests.java index f491abd..85a20ce 100644 --- a/src/test/java/org/zwobble/mammoth/tests/MammothTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/MammothTests.java @@ -310,6 +310,14 @@ public class MammothTests { isSuccess("Apple\n\nBanana\n\n")); } + @Test + public void canReadStrictFormat() throws IOException { + assertThat( + convertToHtml("strict-format.docx"), + isSuccess("<p>Test</p>") + ); + } + private Result<String> convertToHtml(String name) throws IOException { File file = TestData.file(name); return new DocumentConverter().convertToHtml(file); diff --git a/src/test/resources/test-data/strict-format.docx b/src/test/resources/test-data/strict-format.docx Binary files differnew file mode 100644 index 0000000..4495720 --- /dev/null +++ b/src/test/resources/test-data/strict-format.docx |
