Richard Gabriel wrote:
Hi Adam,
I did so right now (thanks for the hint!). But in that file ther's only solved a case when each line of the verbatim text is placed in a special tag:
<verbatim> <line>Dit \is nogal verbatim !</line> <line>Dit is {nogal} verbatim !</line> <line>Dit is <nogal> verbatim !</line> </verbatim>
This is trivial because you can pass the contents of each <line> element as an argument to the \type command ( \defineXMLargument[line]{\type} )
But this solution is unusable e.g. for longer program or configuration file listings, and, mainly, the DocBook DTD doesn't define such tags. I need to process multiline verbatims enclosed in a single tag:
<programlisting> Line 1 Line 2 Line 3 </programlisting>
--- Of course I have some "dirty" workaround, but the result is really ugly...
\defineXMLenvironment[programlisting]{ \bgroup \startpacked \tttf \obeylines\obeyspaces\obeytabs }{ \stoppacked \egroup }
The line breaks are processed correctly. But all the tabs and spaces are treated as a single space. It seems the \obeyspaces and \obeytabs command are ignored or they do not work the way I'd expect. This will totally break the indentation and tabulation of the verbatim text...
maybe the following is better \defineXMLenvironment [programlisting] {\processtaggeddisplayverbatim{</programlisting>}} {} \startbuffer <programlisting> Line 1 Line 2 Line 3 </programlisting> \stopbuffer \starttext \processXMLbuffer \stoptext ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------