From e4798a6726e417decb959c86dae7545ab6c8522d Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 19 Nov 2016 10:30:20 +0100 Subject: Fixed xref lookup in DocBook reader. Closes #3243. It previously only worked when the qnames lacked the docbook namespace URI. --- src/Text/Pandoc/Readers/DocBook.hs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/Text/Pandoc/Readers') diff --git a/src/Text/Pandoc/Readers/DocBook.hs b/src/Text/Pandoc/Readers/DocBook.hs index 4d8d5ab94..68552ccb3 100644 --- a/src/Text/Pandoc/Readers/DocBook.hs +++ b/src/Text/Pandoc/Readers/DocBook.hs @@ -964,9 +964,11 @@ parseInline (Elem e) = content <- dbContent <$> get let linkend = attrValue "linkend" e let title = case attrValue "endterm" e of - "" -> maybe "???" xrefTitleByElem (findElementById linkend content) - endterm -> maybe "???" strContent (findElementById endterm content) - return $ link ('#' : linkend) "" (singleton (Str title)) + "" -> maybe "???" xrefTitleByElem + (findElementById linkend content) + endterm -> maybe "???" strContent + (findElementById endterm content) + return $ link ('#' : linkend) "" (text title) "email" -> return $ link ("mailto:" ++ strContent e) "" $ str $ strContent e "uri" -> return $ link (strContent e) "" $ str $ strContent e @@ -1050,4 +1052,4 @@ parseInline (Elem e) = where xrefLabel = attrValue "xreflabel" el descendantContent name = maybe "???" strContent - . findElement (QName name Nothing Nothing) + . filterElementName (\n -> qName n == name) -- cgit v1.2.3