summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/luatex/luaintro/06-03-1.lualtx3
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/luatex/luaintro/06-03-1.lualtx3')
-rw-r--r--Master/texmf-dist/doc/luatex/luaintro/06-03-1.lualtx355
1 files changed, 55 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/luatex/luaintro/06-03-1.lualtx3 b/Master/texmf-dist/doc/luatex/luaintro/06-03-1.lualtx3
new file mode 100644
index 00000000000..699cc5f7625
--- /dev/null
+++ b/Master/texmf-dist/doc/luatex/luaintro/06-03-1.lualtx3
@@ -0,0 +1,55 @@
+%%
+%% Ein Beispiel der DANTE-Edition
+%%
+%% 1. Auflage
+%%
+%% Beispiel 06-03-1 auf Seite 112.
+%%
+%% Copyright (C) 2013 Herbert Voss
+%%
+%% It may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%%
+%% See http://www.latex-project.org/lppl.txt for details.
+%%
+%%
+%% ====
+\nopagenumbers\parindent=0pt
+%StartShownPreambleCommands
+\directlua{function printtable(tb, Ebene)
+ Ebene = Ebene or 1
+ local tab = "\string\\hbox to "..tostring((Ebene-1)*2).."em{}"
+ for k,v in pairs(tb) do
+ if type(v) \string~= "table" then
+ tex.print("\string\\hbox{"..tab..k.."="..v.."}\string\\par")
+ else
+ tex.print("\string\\hbox{"..tab..k.."}\string\\par")
+ Ebene=Ebene+1
+ printtable(v, Ebene)
+ end
+ end
+end
+
+xml = require('luaxml-mod-xml')
+handler = require('luaxml-mod-handler')
+%---------------------------------------------------
+xmlBeispiel = [[
+ <a>
+ <d>hello</d>
+ <b>world.</b>
+ <b>another one</b>
+ </a>]]
+%---------------------------------------------------
+treehandler = handler.simpleTreeHandler()
+x = xml.xmlParser(treehandler)
+}
+%StopShownPreambleCommands
+\relax
+foo \par\tt
+\directlua{x:parse(xmlBeispiel)} \par % Parsen des xml-Codes
+\directlua{printtable(treehandler.root)}\par % Ausgeben des xml-Baums als Text
+
+\directlua{print(xml.serialize(treehandler.root))} % Auf der Konsole ausgeben
+\directlua{tex.print(treehandler.root["a"]["b"][2])} % Direktzugriff auf einzelne Elemente
+\bye