From oinos@gmx.es Wed May 6 21:38:45 2015 From: Pablo Rodriguez To: ntg-context@ntg.nl Subject: [NTG-context] removing # in XML identifiers Date: Wed, 06 May 2015 21:38:37 +0200 Message-ID: <554A6DBD.4020807@gmx.es> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6054762522405798842==" --===============6054762522405798842== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Dear list, I have the following sample: \startbuffer[demo] the previous section \stopbuffer \startxmlsetups xml:initialize \xmlsetsetup{#1}{a}{xml:*} \stopxmlsetups \xmlregistersetup{xml:initialize} \startxmlsetups xml:a \ctxlua{context("\\xmlatt{#1}{href}")} \ctxlua{local originalid = "abcde";% doesn’t work with # tex.print(string.sub(originalid,2))} \stopxmlsetups \starttext \xmlprocessbuffer{main}{demo}{} \stoptext In both for some reason unknown to me, compilation crashes whe string.sub has an string with # inside. How could I get the following command working? \ctxlua{tex.print(string.sub(context("\\xmlatt{#1}{href}"),2))} Even if I remove # from the href attribute, compilation crashes. Sorry for asking this again, but which is the right way to do this? I have spent hours trying to find out how to do it, but I’m afraid this is beyond my knowledge. Many thanks for your help, Pablo -- http://www.ousia.tk --===============6054762522405798842==-- From thomas.schmitz@uni-bonn.de Wed May 6 22:49:54 2015 From: "Thomas A. Schmitz" To: ntg-context@ntg.nl Subject: Re: [NTG-context] removing # in XML identifiers Date: Wed, 06 May 2015 22:49:48 +0200 Message-ID: <554A7E6C.4070109@uni-bonn.de> In-Reply-To: <554A6DBD.4020807@gmx.es> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0116317234257094453==" --===============0116317234257094453== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On 05/06/2015 09:38 PM, Pablo Rodriguez wrote: > How could I get the following command working? > > \ctxlua{tex.print(string.sub(context("\\xmlatt{#1}{href}"),2))} I'm not sure that this will ever work - you're mixing and nesting lua and tex code in a messy way. My suggestion would be: if you need to process your xml code with lua, then process things in lua and separate the lua part from your tex code. Write a function xml.functions.a which does the substring split and the printing to context. I have written a page on the wiki http://wiki.contextgarden.net/XML_Lua which may be useful. Thomas --===============0116317234257094453==-- From oinos@gmx.es Thu May 7 20:16:10 2015 From: Pablo Rodriguez To: ntg-context@ntg.nl Subject: Re: [NTG-context] removing # in XML identifiers Date: Thu, 07 May 2015 20:16:01 +0200 Message-ID: <554BABE1.2040602@gmx.es> In-Reply-To: <554A7E6C.4070109@uni-bonn.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7407237376146832915==" --===============7407237376146832915== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On 05/06/2015 10:49 PM, Thomas A. Schmitz wrote: > On 05/06/2015 09:38 PM, Pablo Rodriguez wrote: >> How could I get the following command working? >> >> \ctxlua{tex.print(string.sub(context("\\xmlatt{#1}{href}"),2))} > > I'm not sure that this will ever work - you're mixing and nesting lua > and tex code in a messy way. My suggestion would be: if you need to > process your xml code with lua, then process things in lua and separate > the lua part from your tex code. Write a function xml.functions.a which > does the substring split and the printing to context. I have written a > page on the wiki http://wiki.contextgarden.net/XML_Lua which may be useful. Many thanks for your reply, Thomas. I have tried the following: \startxmlsetups xml:a \startluacode function xml.functions.removehash(str) tex.print(string.sub(str,2)) end \stopluacode \unexpanded\def\removehash#1% {\ctxlua{xml.functions.removehash("#1")}} \startasciimode\removehash{\xmlatt{#1}{href}}\stopasciimode \stopxmlsetups But for some reason unknown to me, it doesn’t work. It works on a standard file, but now there. What am I missing? Many thanks for your help, Pablo -- http://www.ousia.tk --===============7407237376146832915==-- From pragma@wxs.nl Thu May 7 23:44:15 2015 From: Hans Hagen To: ntg-context@ntg.nl Subject: Re: [NTG-context] removing # in XML identifiers Date: Thu, 07 May 2015 23:44:11 +0200 Message-ID: <554BDCAB.8050204@wxs.nl> In-Reply-To: <554A6DBD.4020807@gmx.es> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6668483294229819173==" --===============6668483294229819173== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On 5/6/2015 9:38 PM, Pablo Rodriguez wrote: > Dear list, > > I have the following sample: > > \startbuffer[demo] > the previous section > \stopbuffer > > \startxmlsetups xml:initialize > \xmlsetsetup{#1}{a}{xml:*} > \stopxmlsetups > > \xmlregistersetup{xml:initialize} > > \startxmlsetups xml:a > \ctxlua{context("\\xmlatt{#1}{href}")} > \ctxlua{local originalid = "abcde";% doesn’t work with # > tex.print(string.sub(originalid,2))} > \stopxmlsetups > > \starttext > \xmlprocessbuffer{main}{demo}{} > \stoptext > > In both for some reason unknown to me, compilation crashes whe > string.sub has an string with # inside. > > How could I get the following command working? > > \ctxlua{tex.print(string.sub(context("\\xmlatt{#1}{href}"),2))} > > Even if I remove # from the href attribute, compilation crashes. > > Sorry for asking this again, but which is the right way to do this? > > I have spent hours trying to find out how to do it, but I’m afraid this > is beyond my knowledge. \startbuffer[demo] the previous section \stopbuffer \startxmlsetups xml:initialize \xmlsetsetup{#1}{a}{xml:*} \stopxmlsetups \xmlregistersetup{xml:initialize} \startxmlsetups xml:a \cldcontext{string.sub([[\xmlatt{#1}{href}]],2)} % next beta (more efficient): % \xmlrefatt{#1}{href} \stopxmlsetups \starttext \xmlprocessbuffer{main}{demo}{} \stoptext ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- --===============6668483294229819173==-- From oinos@gmx.es Fri May 8 06:16:16 2015 From: Pablo Rodriguez To: ntg-context@ntg.nl Subject: Re: [NTG-context] removing # in XML identifiers Date: Fri, 08 May 2015 06:16:04 +0200 Message-ID: <554C3884.5040703@gmx.es> In-Reply-To: <554BDCAB.8050204@wxs.nl> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1419812735036822435==" --===============1419812735036822435== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On 05/07/2015 11:44 PM, Hans Hagen wrote: > [...] > \startxmlsetups xml:a > \cldcontext{string.sub([[\xmlatt{#1}{href}]],2)} > % next beta (more efficient): > % \xmlrefatt{#1}{href} > \stopxmlsetups Many thanks for your reply and the improvement, Hans. Pablo -- http://www.ousia.tk --===============1419812735036822435==--