[NTG-context] loading and executing xml-buffer

Meer, Hans van der H.vanderMeer at uva.nl
Wed Oct 12 10:13:24 CEST 2016


I did not succeed in on-the-fly loading data from an xml-buffer and subsequently executing its content.
The accompanying minimal example of a <document> shows what I strive to accomplish.
The node <buffer> contains the buffered data (abc meant to be set in bold) and node <getbuffer> executing the typesetting. As can be seen the output the <b>xyz</b> outside <buffer> is correctly set in bold, but the contents of <buffer> is not processed: the xml is just reproduced. Obviously there is some misunderstanding on my part.
I would like to be pointed in the right direction.

Hans van der Meer

\startbuffer[demo-xml]
<?xml version="1.0" encoding="UTF-8"?>
<document>
<buffer name="name">
<b>abc</b>
</buffer>
<!-- other stuff in real application -->
<getbuffer name="name"/>
<b>xyz</b>
</document>
\stopbuffer

\enabletrackers[lxml.loading,lxml.setups]

\startxmlsetups xml:demo:base
        \xmlsetsetup{#1}{document|buffer|getbuffer|execbuffer|b}{xml:demo:*}
\stopxmlsetups
\xmlregisterdocumentsetup{demo}{xml:demo:base}

\startxmlsetups xml:demo:buffer
        ... enter <buffer> for "\xmlatt{#1}{name}"\crlf
        \xmltobuffer{#1}{.}{\xmlatt{#1}{name}}
\stopxmlsetups

\startxmlsetups xml:demo:getbuffer
        ... enter <getbuffer> for "\xmlatt{#1}{name}"\crlf
        \xmlprocessbuffer{}{\xmlatt{#1}{name}}{xml:demo:execbuffer}
\stopxmlsetups

\startxmlsetups xml:demo:execbuffer
        ... enter <execbuffer>\crlf
        \xmlall{#1}{buffer/*}
\stopxmlsetups

\startxmlsetups xml:demo:b
        \xmlstripnolines{#1}{.}
        {\bf\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:demo:document
\writestatus{TEST}{start document}
        start document "\xmldocument"\blank
        \xmlflush{#1}\blank
        stop document "\xmldocument"\blank
\writestatus{TEST}{stop document}
\stopxmlsetups

\starttext
        \textrule{Demo of buffer: demo.xml}
        ==========\crlf
        \xmlprocessbuffer{demo}{demo-xml}{}
        ==========\crlf
\stoptext




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20161012/1f01e070/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: demo2.pdf
Type: application/pdf
Size: 9929 bytes
Desc: demo2.pdf
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20161012/1f01e070/attachment-0001.pdf>


More information about the ntg-context mailing list