[NTG-context] problem with interaction and TOC

Wolfgang Schuster schuster.wolfgang at gmail.com
Sun Mar 22 12:46:35 CET 2015


> Am 22.03.2015 um 11:53 schrieb Pablo Rodriguez <oinos at gmx.es>:
> 
> On 03/22/2015 12:27 AM, Hans Hagen wrote:
>> On 3/21/2015 10:49 PM, Pablo Rodriguez wrote:
>>> Dear list,
>>> 
>>> I have the following sample:
>>> 
>>>     \setupinteraction[state=start]
>>>     \starttext
>>>     \placelist[chapter]
>>>     %~ \uppercasestring{context}\to\ascii
>>>     %~ \chapter{\getvalue{\ascii}}
>>>     \chapter{ConTeXt}
>>>     \stoptext
>>> 
>>> ConTeXt complains about an error in the first line.
>>> 
>>> What am I doing wrong? (Sorry, but I wanted to test the commented lines,
>>> but I don’t know why the simplified example doesn’t work.)
>> 
>> \uppercasestring{context}\to\ascii
>> \chapter{\meaning\ascii}  % \getvalue{\ascii}}
>> \chapter{\WORD{ConTeXt}}
>> 
>> so, \ascii is made undefined at some time
> 
> Many thanks for your reply, Hans.
> 
> I’m afraid that my ignorance prevents me for understanding your reply.
> 
> What I was trying to solve was this:
> 
>    \startbuffer[demo]
>    <doc>
>        <h1><span label="context">ConTeXt</a></h1>
>        <span label="context">ConTeXt</a>
>        <span label="tex">TeX</a>
>        <span label="latex">LaTeX</a>
>    </doc>
>    \stopbuffer

You’re mixing tags, each <span> ends with </a>.

>    \setupinteraction[state=start]
> 
>    \startxmlsetups xml:initialize
>        \xmlsetsetup{#1}{h1|span}{xml:*}
>        \xmlsetsetup{#1}{span[@label]}{xml:logo}
>        \xmlsetsetup{#1}{span[@label='context']}{xml:context}
>    \stopxmlsetups
> 
>    \xmlregistersetup{xml:initialize}
> 
>    \startxmlsetups xml:h1
>        \placecontent[criterium=all]
>        \chapter{\xmlflush{#1}}
>    \stopxmlsetups
> 
>    \startxmlsetups xml:logo
>        \uppercasestring\xmlatt{#1}{label}\xmlatt{#1}{name}\to\ascii
>        \ifx\ascii\empty\else\getvalue{\ascii}\fi
>    \stopxmlsetups
> 
>    \startxmlsetups xml:context
>        \ConTeXt
>    \stopxmlsetups
> 
>    \starttext
>         \xmlprocessbuffer{main}{demo}{}
>    \stoptext
> 
> xml:logo doesn’t work when it has to be parsed in a heading.
> 
> Is there a fix for xml:logo or is xml:context the proper fix?

You need a expandable version for your logo tags.

   \startxmlsetups xml:logo
       \getvalue{\utfupper{\xmlatt{#1}{label}}}
   \stopxmlsetups

You can also modify this and provide a text which appears when you try to show a logo which isn’t defined.

   \startxmlsetups xml:logo
       \executeifdefined{\utfupper{\xmlatt{#1}{label}}}{{\tttf ???}}
   \stopxmlsetups

Wolfgang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20150322/35a90206/attachment-0001.html>


More information about the ntg-context mailing list