Pablo Rodriguez schrieb am 27.08.2020 um 17:56:
On 8/27/20 5:30 PM, Taco Hoekwater wrote:
[...] Using Lua gsub(), I need to replace something like:
string.gsub([[\xmlraw{#1}{.}]], "%", "\\letterpercent")
Double it: %%
See also https://www.lua.org/manual/5.3/manual.html#6.4.1 , but the mention of %% is a bit hidden.
Many thanks for your replies, Taco and Hans.
I’m afraid this doesn’t work (and I need \xmlraw there):
\startbuffer[demo] <html> <body> <div id="First"> <p>The <span class="special">% best</span> paragraph.</p> </div> </body> </html> \stopbuffer
\startxmlsetups xml:initialize \xmlsetsetup{#1}{html}{xml:gen} \stopxmlsetups
\xmlregistersetup{xml:initialize}
\startxmlsetups xml:gen \startitemize \xmlfilter{#1}{/**/span[@class='special']/command(xml:special)} \stopitemize \stopxmlsetups
\startxmlsetups xml:special \startitem \cldcontext{string.gsub([[\xmlraw{#1}{.}]], "%%", "\\letterpercent")} \stopitem \stopxmlsetups
This works fine with your example \startxmlsetups xml:special \startitem \xmlflush{#1} \stopitem \stopxmlsetups and to escape special characters you can use context.escape() \startxmlsetups xml:special \startitem \cldcontext{context.escape([[\xmlraw{#1}{.}]])} \stopitem \stopxmlsetups Wolfgang