On 30 Apr 2016, at 19:08, Hans Hagen mailto:pragma@wxs.nl> wrote:
On 4/30/2016 3:28 PM, Meer, Hans van der wrote:
The aim is to typeset a TeX-command given in an attribute on an xml node.
Example
...
\xmlatt{#1}{style}
...
where the node has
<node style="\bf"/>
The problem is that this produces the macrotext\bf and does not execute
the \bf.
I guess that the catcoderegime is not that of TeX here.
With what (magical) incantation to do this?
Nb. I know that here I could have coded 'bf" and called with
\csname..\endcsname, but this is but a simple example and would not work
for '\it\bf', etc.
\starttexcode \stoptexcode
Either I am doing something the wrong way, or it isn't that simple. See the example and its output.
Hans van der Meer
% failure to typeset attribute.
\startxmlsetups demo:texatt
\xmlsetsetup{#1}{root|node}{demo:texatt:*}
\stopxmlsetups
\xmlregisterdocumentsetup{demo}{demo:texatt}
\startxmlsetups demo:texatt:root
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups demo:texatt:node
node: attribute textstyle = \xmlchainatt{#1}{textstyle}\crlf
now use \tex{it}:
{\starttexcode
\xmlchainatt{#1}{textstyle}"should be italic"
\stoptexcode
}\crlf
\stopxmlsetups
\startbuffer[texatt]
<root textstyle="\it">
<node/>
</root>
\stopbuffer
\starttext
\xmlprocessbuffer{demo}{texatt}{}
\stoptext