diff options
author | Norbert Preining <norbert@preining.info> | 2021-10-08 03:01:38 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-10-08 03:01:38 +0000 |
commit | d811ebd312fa93d2ceef5345a32ee9ccf270aa99 (patch) | |
tree | 744791773bf4c245aa79e60d290e9fb957c423c0 /macros/luatex/generic/luaxml/luaxml-transform.lua | |
parent | d5fda3384d39fdce385c4ae96f93f66e45a19682 (diff) |
CTAN sync 202110080301
Diffstat (limited to 'macros/luatex/generic/luaxml/luaxml-transform.lua')
-rw-r--r-- | macros/luatex/generic/luaxml/luaxml-transform.lua | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/macros/luatex/generic/luaxml/luaxml-transform.lua b/macros/luatex/generic/luaxml/luaxml-transform.lua index 9ea4595ea7..d7631ac78e 100644 --- a/macros/luatex/generic/luaxml/luaxml-transform.lua +++ b/macros/luatex/generic/luaxml/luaxml-transform.lua @@ -30,6 +30,13 @@ local function match_css(element,csspar) local selectors = css:match_querylist(element) if #selectors == 0 then return nil end -- return function with the highest specificity + local last_specificity = selectors[1].specificity + -- if multiple selectors have the same specificity, return the last one + for i, x in ipairs(selectors) do + if x.specificity < last_specificity then + return selectors[i-1].func + end + end return selectors[1].func end @@ -135,7 +142,7 @@ local function simple_content(s,parameters) elseif name:match("^[0-9]+$") then local child = get_child_element(element, tonumber(name)) if child then - return process_children(child, parameters) + return process_tree(child) end -- @<CSS selector> returns contents of matched selectors else |