summaryrefslogtreecommitdiff
path: root/tex/context/base/lxml-ctx.lua
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-12 17:15:07 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-12 17:15:07 +0100
commit8d8d528d2ad52599f11250cfc567fea4f37f2a8b (patch)
tree94286bc131ef7d994f9432febaf03fe23d10eef8 /tex/context/base/lxml-ctx.lua
parentf5aed2e51223c36c84c5f25a6cad238b2af59087 (diff)
downloadcontext-8d8d528d2ad52599f11250cfc567fea4f37f2a8b.tar.gz
2016-01-12 16:26:00
Diffstat (limited to 'tex/context/base/lxml-ctx.lua')
-rw-r--r--tex/context/base/lxml-ctx.lua142
1 files changed, 0 insertions, 142 deletions
diff --git a/tex/context/base/lxml-ctx.lua b/tex/context/base/lxml-ctx.lua
deleted file mode 100644
index 677fd6a01..000000000
--- a/tex/context/base/lxml-ctx.lua
+++ /dev/null
@@ -1,142 +0,0 @@
-if not modules then modules = { } end modules ['lxml-ctx'] = {
- version = 1.001,
- comment = "companion to lxml-ini.mkiv",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files"
-}
-
--- will be cleaned up
-
-local format, find, gsub = string.format, string.find, string.gsub
-
-local xml = xml
-xml.ctx = { }
-xml.ctx.enhancers = { }
-
-local context = context
-local commands = commands
-
--- hashen
-
-function xml.ctx.enhancers.compound(root,lpath,before,tokens,after) -- todo lpeg
- local before = before or "[%a%d][%a%d][%a%d]"
- local tokens = tokens or "[%/%-]"
- local after = after or "[%a%d][%a%d][%a%d]"
- local pattern = "(" .. before .. ")(" .. tokens .. ")(" .. after .. ")"
- local action = function(a,b,c)
- return a .. "<compound token=" .. format("%q",b) .. "/>" .. c -- formatters["%s<compound token=%q/>%s"](a,b,c)
- end
- xml.enhance(root,lpath,pattern,action) -- still present?
-end
-
-local loaded = { }
-
-local nodesettostring = xml.nodesettostring
-
--- maybe use detokenize instead of \type
-
-local function cleaned(str)
- str = gsub(str,"|","\\textbar ")
- return str
-end
-
-function xml.ctx.tshow(specification)
- local pattern = specification.pattern
- local xmlroot = specification.xmlroot
- local attribute = specification.attribute
- if context then
- local xmlpattern = pattern
- if not find(xmlpattern,"^[%a]+://") then
- xmlpattern = "xml://" .. pattern
- end
- local parsed = xml.lpath(xmlpattern)
- local titlecommand = specification.title or "type"
- if parsed.state then
- context[titlecommand]("pattern: " .. cleaned(pattern) .. " (".. parsed.state .. ")")
- else
- context[titlecommand]("pattern: " .. cleaned(pattern))
- end
- context.starttabulate({ "|Tr|Tl|Tp|" } )
- if specification.warning then
- local comment = parsed.comment
- if comment then
- for k=1,#comment do
- context.NC()
- context("!")
- context.NC()
- context.rlap(comment[k])
- context.NR()
- end
- context.TB()
- end
- end
- for p=1,#parsed do
- local pp = parsed[p]
- local kind = pp.kind
- context.NC()
- context(p)
- context.NC()
- context(kind)
- context.NC()
- if kind == "axis" then
- context(cleaned(pp.axis))
- elseif kind == "nodes" then
- context(cleaned(nodesettostring(pp.nodes,pp.nodetest)))
- elseif kind == "expression" then
--- -- context("%s => %s",pp.expression,pp.converted)
- context(cleaned(pp.expression))
- elseif kind == "finalizer" then
- context("%s(%s)",pp.name,pp.arguments)
- elseif kind == "error" and pp.eqrror then
- context(pp.error)
- end
- context.NC()
- context.NR()
- end
- context.stoptabulate()
- if xmlroot and xmlroot ~= "" then
- if not loaded[xmlroot] then
- loaded[xmlroot] = xml.convert(buffers.getcontent(xmlroot))
- end
- local collected = xml.filter(loaded[xmlroot],xmlpattern)
- if collected then
- local tc = type(collected)
- if not tc then
- -- skip
- else
- context.blank()
- context.type("result : ")
- if tc == "string" then
- context.type(collected)
- elseif tc == "table" then
- if collected.tg then
- collected = { collected }
- end
- for c=1,#collected do
- local cc = collected[c]
- if attribute and attribute ~= "" then
- local ccat = cc.at
- local a = ccat and ccat[attribute]
- if a and a ~= "" then
- context.type(a)
- context.type(">")
- end
- end
- local ccns = cc.ns
- if ccns == "" then
- context.type(cc.tg)
- else
- context.type(ccns .. ":" .. cc.tg)
- end
- context.space()
- end
- else
- context.type(tostring(tc))
- end
- context.blank()
- end
- end
- end
- end
-end