From: <denis.maier@unibe.ch>
To: <ntg-context@ntg.nl>
Subject: [NTG-context] Re: Replacing %20 with spaces in xml attributes
Date: Fri, 21 Jul 2023 15:27:48 +0000 [thread overview]
Message-ID: <ZRAP278MB049525F43865DA2A8202EC58833FA@ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <04222291-1CA6-46C8-A9BA-4DE75C76F5C0@ziggo.nl>
[-- Attachment #1.1: Type: text/plain, Size: 2938 bytes --]
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 <ntg-context@ntg.nl>
Gesendet: Freitag, 21. Juli 2023 16:26
An: NTG ConTeXt <ntg-context@ntg.nl>
Cc: Hans van der Meer <havdmeer@ziggo.nl>
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 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.maier@unibe.ch<mailto:denis.maier@unibe.ch> wrote:
Hi,
I'm typesetting an XML document where the links to the images contain spaces which are encoded as %20
<graphic xlink:href="a%20filename%20with%20spaces.jpg"/>
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/>
___________________________________________________________________________________
[-- Attachment #1.2: Type: text/html, Size: 18373 bytes --]
[-- Attachment #2: Type: text/plain, Size: 495 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
prev parent reply other threads:[~2023-07-21 15:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-21 10:37 [NTG-context] " denis.maier
2023-07-21 14:25 ` [NTG-context] " Hans van der Meer via ntg-context
2023-07-21 15:27 ` denis.maier [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZRAP278MB049525F43865DA2A8202EC58833FA@ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM \
--to=denis.maier@unibe.ch \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).