Re: [NTG-context] Lua code inside database module
Hallo ConTeXtist, Thanx to Hans for his advice. I further experimented with Mojca database module. I want get interaction database module with my lua application which process CSV files otherwise. My application can list arbitrary fields from any CSV file namely in completely arbitrary format i.e. in rows format: field11, field13, field15, ... etc... field21, field23, field25, ... etc... field31, field33, field35, ... etc... this is one of reasons why I want use Mojca database module. Meanwhile, I too can not run it. Problem is, perhaps, that I can not work properly with the expansion. Perhaps I can get progressively. Here are some insights to the functioning of the previous examples. \usemodule[database] \defineseparatedlist [NaturalTable] [separator=comma, before=\bTABLE,after=\eTABLE, first=\bTR,last=\eTR, left=\bTD,right=\eTD] \starttext 1. Normal example \startseparatedlist[NaturalTable] col1,col2,col3 \stopseparatedlist 2. This example with expand dont work ... \expanded{\startseparatedlist[NaturalTable] \ctxlua{tex.print("col1,col2,col3")}} \stopseparatedlist 3. This example work but no output! WHY? \startluacode context.startseparatedlist {"NaturalTable"} tex.print("col1,col2,col3") context.stopseparatedlist() \stopluacode 4. This work OK but only with adding tex.print("") \startluacode context.startseparatedlist { "NaturalTable" } tex.print("") -- without this line dont work (ie without output data) try remark it tex.print("col1,col2,col3") context.stopseparatedlist() \stopluacode 5. With tex.print work but with tex.sprint fails! WHY?? \startluacode context.startseparatedlist { "NaturalTable" } tex.print("") --tex.sprint("col1,col2,col3") -- Try remove remark context.stopseparatedlist() \stopluacode \stoptext Best greetings Jaroslav On 26-7-2010 8:36, Jaroslav Hajtmar wrote:
Hello all,
Is there any possibility use Lua commands in \startseparatedlist[NaturalTable] ... \stopseparatedlist environment in database module? I would like using database module im my Lua application. Thanx Jaroslav
Here is mimimal example:
\usemodule[database]
\defineseparatedlist [NaturalTable] [separator=comma, before=\bTABLE,after=\eTABLE, first=\bTR,last=\eTR, left=\bTD,right=\eTD]
\starttext
\startseparatedlist[NaturalTable] col1,col2,col3 \stopseparatedlist
\startseparatedlist[NaturalTable] \directlua{tex.print("col1,col2,col3")} % here program fails \stopseparatedlist
\stoptext
you could expand the content \expanded{\startseparatedlist[NaturalTable] \ctxlua{tex.print("col1,col2,col3")}} \stopseparatedlist or use \startluacode context.startseparatedlist { "NaturalTable" } tex.print("col1,col2,col3") context.stopseparatedlist() \stopluacode of course you can also do all at the lua end (reminds me that I promised mojca to rewrite the database module)
participants (1)
-
Jaroslav Hajtmar