[NTG-context] Re: Replacing %20 with spaces in xml attributes

2023-07-21 Thread denis.maier
Thanks, but I'm still getting the same error. I'm thinking that it has 
something to do with the percent characters...

This here works just fine:

\startluacode
function test(s)
  result = string.gsub(s, 'x20', 'MATCH')
  context(result)
end
\stopluacode

\define[1]\test{\ctxlua{test("#1")}}

\starttext
\test{asdfx20} % -> asdfMATCH
\stoptext

But this here won't:

\startluacode
function test(s)
  result = string.gsub(s, '%%20', 'MATCH')
  context(result)
end
\stopluacode

\define[1]\test{\ctxlua{test("#1")}}

\starttext
\test{asdf%20} % -> does not work
\stoptext

Any ideas?

Best,
Denis


Von: Hans van der Meer via ntg-context 
Gesendet: Freitag, 21. Juli 2023 16:26
An: NTG ConTeXt 
Cc: Hans van der Meer 
Betreff: [NTG-context] Re: Replacing %20 with spaces in xml attributes

Here in Terminal on my Mac:


21 ~: lua

Lua 5.4.6  Copyright (C) 1994-2023 Lua.org, PUC-Rio

> string.gsub('a%20b', '%%20', ' ')

a b1

> (string.gsub('a%20b', '%%20', ' '))

a b

> ^D

21 ~:


The first call returns the 1 giving the match, the extra ()'s get rid of that 
second return value.


yours sincerely
dr. Hans van der Meer




On 21 Jul 2023, at 12:37, denis.ma...@unibe.ch<mailto:denis.ma...@unibe.ch> 
wrote:

Hi,

I'm typesetting an XML document where the links to the images contain spaces 
which are encoded as %20


Using this works in cases without spaces:

\startxmlsetups xml:fig:graphic
  \externalfigure[\xmlatt{#1}{xlink:href}]
\stopxmlsetups

This also works for normal spaces, but is there a way to decode/expand the %20s 
to regular spaces?

I've tried with some Lua, but I don't really know how to pass data around.

%
\startluacode
function replaceSpaces(s)
  result = string.gsub(s, "%%20", " ")
  context(result)
end
\stopluacode

\define[1]\replaceSpaces{\ctxlua{replaceSpaces("#1")}}

\startxmlsetups xml:fig:graphic
  \externalfigure[\replaceSpaces{\xmlatt{#1}{xlink:href}}]
\stopxmlsetups
%

Any hints, why this does not work?`

Also, maybe there's a simpler way for this kind of scenario?

Best,
Denis
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl<mailto:ntg-context@ntg.nl> / 
https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl<https://www.pragma-ade.nl/> / 
http://context.aanhet.net<http://context.aanhet.net/>
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net<https://contextgarden.net/>
___

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___

[NTG-context] Re: Replacing %20 with spaces in xml attributes

2023-07-21 Thread Hans van der Meer via ntg-context
Here in Terminal on my Mac:

21 ~: lua
Lua 5.4.6  Copyright (C) 1994-2023 Lua.org, PUC-Rio
> string.gsub('a%20b', '%%20', ' ')
a b 1
> (string.gsub('a%20b', '%%20', ' '))
a b
> ^D
21 ~: 

The first call returns the 1 giving the match, the extra ()'s get rid of that 
second return value.

yours sincerely
dr. Hans van der Meer



> On 21 Jul 2023, at 12:37, denis.ma...@unibe.ch wrote:
> 
> Hi,
>  
> I’m typesetting an XML document where the links to the images contain spaces 
> which are encoded as %20
> 
>  
> Using this works in cases without spaces:
>  
> \startxmlsetups xml:fig:graphic
>   \externalfigure[\xmlatt{#1}{xlink:href}]
> \stopxmlsetups
>  
> This also works for normal spaces, but is there a way to decode/expand the 
> %20s to regular spaces?
>  
> I’ve tried with some Lua, but I don’t really know how to pass data around.
>  
> %
> \startluacode
> function replaceSpaces(s)
>   result = string.gsub(s, "%%20", " ")
>   context(result)
> end
> \stopluacode
>  
> \define[1]\replaceSpaces{\ctxlua{replaceSpaces("#1")}}
>  
> \startxmlsetups xml:fig:graphic
>   \externalfigure[\replaceSpaces{\xmlatt{#1}{xlink:href}}]
> \stopxmlsetups
> %
>  
> Any hints, why this does not work?`
>  
> Also, maybe there’s a simpler way for this kind of scenario?
> 
> Best,
> Denis
> ___
> If your question is of interest to others as well, please add an entry to the 
> Wiki!
> 
> maillist : ntg-context@ntg.nl  / 
> https://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : https://www.pragma-ade.nl  / 
> http://context.aanhet.net 
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki : https://contextgarden.net 
> ___

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___