ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* removing # in XML identifiers
@ 2015-05-06 19:38 Pablo Rodriguez
  2015-05-06 20:49 ` Thomas A. Schmitz
  2015-05-07 21:44 ` Hans Hagen
  0 siblings, 2 replies; 5+ messages in thread
From: Pablo Rodriguez @ 2015-05-06 19:38 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Dear list,

I have the following sample:

    \startbuffer[demo]
    <a href="#myspecialid">the previous section</a>
    \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
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: removing # in XML identifiers
  2015-05-06 19:38 removing # in XML identifiers Pablo Rodriguez
@ 2015-05-06 20:49 ` Thomas A. Schmitz
  2015-05-07 18:16   ` Pablo Rodriguez
  2015-05-07 21:44 ` Hans Hagen
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas A. Schmitz @ 2015-05-06 20:49 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: removing # in XML identifiers
  2015-05-06 20:49 ` Thomas A. Schmitz
@ 2015-05-07 18:16   ` Pablo Rodriguez
  0 siblings, 0 replies; 5+ messages in thread
From: Pablo Rodriguez @ 2015-05-07 18:16 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: removing # in XML identifiers
  2015-05-06 19:38 removing # in XML identifiers Pablo Rodriguez
  2015-05-06 20:49 ` Thomas A. Schmitz
@ 2015-05-07 21:44 ` Hans Hagen
  2015-05-08  4:16   ` Pablo Rodriguez
  1 sibling, 1 reply; 5+ messages in thread
From: Hans Hagen @ 2015-05-07 21:44 UTC (permalink / raw)
  To: ntg-context

On 5/6/2015 9:38 PM, Pablo Rodriguez wrote:
> Dear list,
>
> I have the following sample:
>
>      \startbuffer[demo]
>      <a href="#myspecialid">the previous section</a>
>      \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]
<a href="#myspecialid">the previous section</a>
\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
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: removing # in XML identifiers
  2015-05-07 21:44 ` Hans Hagen
@ 2015-05-08  4:16   ` Pablo Rodriguez
  0 siblings, 0 replies; 5+ messages in thread
From: Pablo Rodriguez @ 2015-05-08  4:16 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-05-08  4:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-06 19:38 removing # in XML identifiers Pablo Rodriguez
2015-05-06 20:49 ` Thomas A. Schmitz
2015-05-07 18:16   ` Pablo Rodriguez
2015-05-07 21:44 ` Hans Hagen
2015-05-08  4:16   ` Pablo Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).