diff options
Diffstat (limited to 'tex/context/base/lxml-tex.lua')
-rw-r--r-- | tex/context/base/lxml-tex.lua | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tex/context/base/lxml-tex.lua b/tex/context/base/lxml-tex.lua index 974646be7..c33fdbc49 100644 --- a/tex/context/base/lxml-tex.lua +++ b/tex/context/base/lxml-tex.lua @@ -1670,17 +1670,21 @@ function lxml.doifelsetext (id,pattern) doifelse(not empty(getid(id),pattern)) e -- special case: "*" and "" -> self else lpath lookup -function lxml.doifelseempty(id,pattern) +local function checkedempty(id,pattern) local e = getid(id) if not pattern or pattern == "" then local dt = e.dt local nt = #dt - doifelse((nt == 0) or (nt == 1 and dt[1] == "")) + return (nt == 0) or (nt == 1 and dt[1] == "") else - doifelse(isempty(getid(id),pattern)) + return isempty(getid(id),pattern) end end +function lxml.doifempty (id,pattern) doif (checkedempty(id,pattern)) end +function lxml.doifnotempty (id,pattern) doifnot (checkedempty(id,pattern)) end +function lxml.doifelseempty(id,pattern) doifelse(checkedempty(id,pattern)) end + -- status info statistics.register("xml load time", function() |