From ffb360b52944514197aa47313c26816cd2fb7a7e Mon Sep 17 00:00:00 2001 From: Marius Date: Tue, 22 May 2012 02:40:13 +0300 Subject: beta 2012.05.22 01:22 --- tex/context/base/lxml-xml.lua | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'tex/context/base/lxml-xml.lua') diff --git a/tex/context/base/lxml-xml.lua b/tex/context/base/lxml-xml.lua index 7e7922cfb..d0e256078 100644 --- a/tex/context/base/lxml-xml.lua +++ b/tex/context/base/lxml-xml.lua @@ -7,7 +7,7 @@ if not modules then modules = { } end modules ['lxml-xml'] = { } local concat = table.concat -local find = string.find +local find, lower, upper = string.find, string.lower, string.upper local xml = xml @@ -403,3 +403,43 @@ end function xml.textonly(e) -- no pattern return concat(textonly(e,{})) end + +-- + +-- local x = xml.convert("123") +-- xml.filter(x,"**/lowerall()") print(x) +-- xml.filter(x,"**/upperall()") print(x) + +function finalizers.lowerall(collected) + for c=1,#collected do + local e = collected[c] + if not e.special then + e.tg = lower(e.tg) + local eat = e.at + if eat then + local t = { } + for k,v in next, eat do + t[lower(k)] = v + end + e.at = t + end + end + end +end + +function finalizers.upperall(collected) + for c=1,#collected do + local e = collected[c] + if not e.special then + e.tg = upper(e.tg) + local eat = e.at + if eat then + local t = { } + for k,v in next, eat do + t[upper(k)] = v + end + e.at = t + end + end + end +end -- cgit v1.2.3