aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2021-04-10 11:38:02 +0200
committerAlbert Krewinkel <albert@zeitkraut.de>2021-04-10 11:49:18 +0200
commit2d60524de43d59ffb1763a33a15cc2ecce613ecf (patch)
tree42ee81ec4cf5cf4b92f7901f39027de4a4922110 /src/Text/Pandoc
parent051b7ffeaffdaf34ed1384a239cf0179aa59b932 (diff)
downloadpandoc-2d60524de43d59ffb1763a33a15cc2ecce613ecf.tar.gz
JATS writer: convert spans to <named-content> elements
Spans with attributes are converted to `<named-content>` elements instead of being wrapped with `<milestone-start/>` and `<milestone-end>` elements. Milestone elements are not allowed in documents using the articleauthoring tag set, so this change ensures the creation of valid documents. Closes: #7211
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r--src/Text/Pandoc/Writers/JATS.hs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Text/Pandoc/Writers/JATS.hs b/src/Text/Pandoc/Writers/JATS.hs
index e78c6dc8f..5b3e439d4 100644
--- a/src/Text/Pandoc/Writers/JATS.hs
+++ b/src/Text/Pandoc/Writers/JATS.hs
@@ -444,18 +444,19 @@ inlineToJATS opts (Note contents) = do
("rid", "fn" <> tshow notenum)]
$ text (show notenum)
inlineToJATS opts (Cite _ lst) =
- -- TODO revisit this after examining the jats.csl pipeline
inlinesToJATS opts lst
-inlineToJATS opts (Span ("",_,[]) ils) = inlinesToJATS opts ils
inlineToJATS opts (Span (ident,_,kvs) ils) = do
contents <- inlinesToJATS opts ils
let attr = [("id", escapeNCName ident) | not (T.null ident)] ++
[("xml:lang",l) | ("lang",l) <- kvs] ++
[(k,v) | (k,v) <- kvs
- , k `elem` ["content-type", "rationale",
- "rid", "specific-use"]]
- return $ selfClosingTag "milestone-start" attr <> contents <>
- selfClosingTag "milestone-end" []
+ , k `elem` ["alt", "content-type", "rid", "specific-use",
+ "vocab", "vocab-identifier", "vocab-term",
+ "vocab-term-identifier"]]
+ return $
+ if null attr
+ then contents -- unwrap if no relevant attributes are given
+ else inTags False "named-content" attr contents
inlineToJATS _ (Math t str) = do
let addPref (Xml.Attr q v)
| Xml.qName q == "xmlns" = Xml.Attr q{ Xml.qName = "xmlns:mml" } v