summaryrefslogtreecommitdiff
path: root/support/make4ht/filters/make4ht-domfilter.lua
diff options
context:
space:
mode:
Diffstat (limited to 'support/make4ht/filters/make4ht-domfilter.lua')
-rw-r--r--support/make4ht/filters/make4ht-domfilter.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/support/make4ht/filters/make4ht-domfilter.lua b/support/make4ht/filters/make4ht-domfilter.lua
index f6df769d60..68dd5a488c 100644
--- a/support/make4ht/filters/make4ht-domfilter.lua
+++ b/support/make4ht/filters/make4ht-domfilter.lua
@@ -37,10 +37,13 @@ local function filter(filters, name)
end
local input = filter_lib.load_input_file(filename)
if not input then return nil, "Cannot load the input file" end
+ -- in pure XML, we need to ignore void_elements provided by LuaXML, because these can exist only in HTML
+ local no_void_elements = {docbook = {}, jats = {}, odt = {}, tei = {} }
+ local void_elements = no_void_elements[parameters.output_format]
-- we need to use pcall, because XML error would break the whole build process
-- domobject will be error object if DOM parsing failed
local status, domobject = pcall(function()
- return dom.parse(input)
+ return dom.parse(input, void_elements)
end)
if not status then
log:warning("DOM parsing of " .. filename .. " failed:")