diff options
author | Karl Berry <karl@freefriends.org> | 2013-02-13 00:06:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-02-13 00:06:34 +0000 |
commit | 33b9decf3736250e2c7bc7c110b29116cef82dda (patch) | |
tree | bb7f7257a9b96e51599ca309607995d89ecd82fe /Master/texmf-dist/doc/luatex/luaintro/06-03-1.lualtx3 | |
parent | fee6ae63b6689ddbae970ff9114c6ed976bf1dab (diff) |
luaintro (12feb13)
git-svn-id: svn://tug.org/texlive/trunk@29093 c570f23f-e606-0410-a88d-b1316a301751
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.lualtx3 | 55 |
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 |