From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/71907 Path: news.gmane.org!not-for-mail From: Peter Rolf Newsgroups: gmane.comp.tex.context Subject: Re: xml and lua again Date: Sun, 23 Oct 2011 16:04:36 +0200 Message-ID: <4EA41EF4.6090704@gmx.net> References: <4EA2F34E.6080202@uni-bonn.de> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1319378704 9174 80.91.229.12 (23 Oct 2011 14:05:04 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 23 Oct 2011 14:05:04 +0000 (UTC) Cc: "Thomas A. Schmitz" To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Sun Oct 23 16:05:00 2011 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RHyfb-0000jx-KW for gctc-ntg-context-518@m.gmane.org; Sun, 23 Oct 2011 16:04:59 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 1BB50CB061; Sun, 23 Oct 2011 16:04:59 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id QQibIR37F57m; Sun, 23 Oct 2011 16:04:56 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 80FC3CB04D; Sun, 23 Oct 2011 16:04:56 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 71BF2CB04D for ; Sun, 23 Oct 2011 16:04:54 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id ePSFkXjh6zuf for ; Sun, 23 Oct 2011 16:04:43 +0200 (CEST) Original-Received: from filter1-til.mf.surf.net (filter1-til.mf.surf.net [194.171.167.217]) by balder.ntg.nl (Postfix) with ESMTP id 8F2A5CB04C for ; Sun, 23 Oct 2011 16:04:43 +0200 (CEST) Original-Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.23]) by filter1-til.mf.surf.net (8.14.3/8.14.3/Debian-5+lenny1) with SMTP id p9NE4gXT024957 for ; Sun, 23 Oct 2011 16:04:43 +0200 Original-Received: (qmail invoked by alias); 23 Oct 2011 14:04:42 -0000 Original-Received: from ip-95-222-36-122.unitymediagroup.de (EHLO [192.168.178.3]) [95.222.36.122] by mail.gmx.net (mp053) with SMTP; 23 Oct 2011 16:04:42 +0200 X-Authenticated: #24293357 X-Provags-ID: V01U2FsdGVkX1/fD9hKoabf5xQ1i/jem1nmPzLWqLZFUY5sqQYuI6 VHQGknhTyq65XT User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 In-Reply-To: <4EA2F34E.6080202@uni-bonn.de> X-Enigmail-Version: 1.3.2 X-Y-GMX-Trusted: 0 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN) X-CanIt-Geo: ip=213.165.64.23; country=DE; latitude=51.0000; longitude=9.0000; http://maps.google.com/maps?q=51.0000,9.0000&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 08FMe4GMD - 3a2fcc26a1c4 - 20111023 X-Scanned-By: CanIt (www . roaringpenguin . com) on 194.171.167.217 X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.12 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl Xref: news.gmane.org gmane.comp.tex.context:71907 Archived-At: Hi Thomas, Am 22.10.2011 18:46, schrieb Thomas A. Schmitz: > Hi all, > > again, I'm playing a bit with processing my xml in lua. I want a simple > interface for processing tables (I don't need all the power and > complexity of cals tables and want to learn something in the process). > And I thought that collecting the setups in lua might be the easiest > way, but so far, I haven't been successful. Here's an example: > > \startbuffer[test] > > > > 1 > 2 > 3 > 4 > > > 5 > 6 > 7 > 8 > > > > \stopbuffer > > \startxmlsetups xml:testsetups > \xmlsetsetup{main}{a|nattable|tr|td|}{xml:*} > \stopxmlsetups > > \xmlregistersetup{xml:testsetups} > > \startxmlsetups xml:a > \xmlflush{#1} > \stopxmlsetups > > \startxmlsetups xml:nattable > \startluacode > framestate = lxml.att("#1", "frame") > context(framestate) > context(true) > context.placefigure( { "here" }, "none" , function() > context.setupTABLE( { "frame=on" } ) > context.bTABLE() > context.xmlflush("#1") > context.eTABLE() > end) > \stopluacode > \stopxmlsetups > > \startxmlsetups xml:tr > \startluacode > context.bTR() > context.xmlflush("#1") > context.eTR() > \stopluacode > \stopxmlsetups > > \startxmlsetups xml:td > \startluacode > context.bTD() > context.xmlflush("#1") > context.eTD() > \stopluacode > \stopxmlsetups > > \starttext > \xmlprocessbuffer{main}{test}{} > \stoptext > > question: I have the value "on" in the lua variable "framestate." But > how can I pass this on to the line > context.setupTABLE( { "frame=on" } )? > I tried something like > context.setupTABLE( { "frame=" .. framestate } ) "frame=" .. tostring(framestate) seems to work. Anyhow, if you are planning to do some more complex stuff, you should separate the lua from the tex code. The advantages are - no catcode limitations Then you can use nice stuff like string.format("frame=%s",framestate) - in case of lua errors you get the real line number - lua syntax check is possible Load the lua code at the beginning of your tex file with \registerctxluafile{filename_without_suffix}{version number or empty} One last but important tip: if you get lua errors like 'undefined whatever', check your lua file with 'luatexc -p foo.lua' (lua compiler). A single syntax error in the lua file and all of its content is ignored! Can be quite frustrating to find the error cause, if all of your lua code is undefined right from the beginning. Best wishes, Peter PS: lua programming is most efficient when done in direct moon light, while drinking a glass of fresh goat milk! Mh, can't find the link to this interesting statistic right now... so you just have to believe me and give it a try.. :-) ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________