From 7d3e7a5a6d9e7b139fd15e10a52b85f87aba42b1 Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal <jrosenthal@jhu.edu> Date: Wed, 28 Feb 2018 16:27:18 -0500 Subject: [PATCH] Docx reader: Handle nested sdt tags. Previously we had only unwrapped one level of sdt tags. Now we recurse if we find them. Closes: #4415 --- src/Text/Pandoc/Readers/Docx/Parse.hs | 2 +- test/Tests/Readers/Docx.hs | 4 ++++ test/docx/nested_sdt.docx | Bin 0 -> 11694 bytes test/docx/nested_sdt.native | 3 +++ 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 test/docx/nested_sdt.docx create mode 100644 test/docx/nested_sdt.native diff --git a/src/Text/Pandoc/Readers/Docx/Parse.hs b/src/Text/Pandoc/Readers/Docx/Parse.hs index c123a0018..1f7f07e36 100644 --- a/src/Text/Pandoc/Readers/Docx/Parse.hs +++ b/src/Text/Pandoc/Readers/Docx/Parse.hs @@ -136,7 +136,7 @@ unwrapSDT :: NameSpaces -> Content -> [Content] unwrapSDT ns (Elem element) | isElem ns "w" "sdt" element , Just sdtContent <- findChildByName ns "w" "sdtContent" element - = map Elem $ elChildren sdtContent + = concatMap (unwrapSDT ns) $ map Elem $ elChildren sdtContent unwrapSDT _ content = [content] unwrapSDTchild :: NameSpaces -> Content -> Content diff --git a/test/Tests/Readers/Docx.hs b/test/Tests/Readers/Docx.hs index cef80d6d1..0ba765c93 100644 --- a/test/Tests/Readers/Docx.hs +++ b/test/Tests/Readers/Docx.hs @@ -178,6 +178,10 @@ tests = [ testGroup "inlines" "inlines inside of Structured Document Tags" "docx/sdt_elements.docx" "docx/sdt_elements.native" + , testCompare + "nested Structured Document Tags" + "docx/nested_sdt.docx" + "docx/nested_sdt.native" , testCompare "remove anchor spans with nothing pointing to them" "docx/unused_anchors.docx" diff --git a/test/docx/nested_sdt.docx b/test/docx/nested_sdt.docx new file mode 100644 index 0000000000000000000000000000000000000000..1a0827db368001cb9d2c45e6a7e69237bb3a9070 GIT binary patch literal 11694 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 KGjmiwTmJ_I<mFBP literal 0 HcmV?d00001 diff --git a/test/docx/nested_sdt.native b/test/docx/nested_sdt.native new file mode 100644 index 000000000..d0adc05ac --- /dev/null +++ b/test/docx/nested_sdt.native @@ -0,0 +1,3 @@ +[Para [Str "Test",Space,Str "Paragraph1"] +,Para [Str "Test",Space,Str "Paragraph2"] +,Para [Str "Test",Space,Str "Paragraph3"]]