From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/6878 Path: main.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: DocBook probleempje Date: Sun, 10 Feb 2002 22:04:15 +0100 Sender: owner-ntg-context@let.uu.nl Message-ID: <5.1.0.14.1.20020210215623.02f99fc8@server-1> References: <20020208220553.B384@scaprea> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1"; format=flowed Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1035397381 14551 80.91.224.250 (23 Oct 2002 18:23:01 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 18:23:01 +0000 (UTC) Cc: ntg-context@ntg.nl Original-To: Simon Pepping In-Reply-To: <20020208220553.B384@scaprea> Xref: main.gmane.org gmane.comp.tex.context:6878 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:6878 Hi Simon, Your problem can be solved in the following way: [i cc to teh list since it may be instructive] % output=pdftex % This is the first pass: add an \bTD .. \eTD (or \bTH .. eTH) entry \def\WhatAHackA#1% {\defineXMLenvironmentsave[#1] {\bTD#1\eTD\defineXMLignore[#1]} \donothing} % and this the second pass: actually typeset them \def\WhatAHackB#1% {\defineXMLpickup[#1] \bTD \eTD} % here we do the two passes (one can add an additional pass % over the element, or even better: store the % entries, and flush them when needed skipping empty elements) \defineXMLenvironmentsave[revhistory] {\bgroup} {\def\HackList{revnumber,date,revremark,authorinitials} \defineXMLenvironment[revision] \donothing \donothing \processcommacommand[\HackList]\WhatAHackA \bTABLE \bTR\XMLflush{revhistory}\eTR \defineXMLpickup[revision] \bTR \eTR \processcommacommand[\HackList]\WhatAHackB \XMLflush{revhistory} \eTABLE \egroup} % one could of course just name the \define...'s instead of a list, but the list is better when there are 100 possible entries % % \defineXMLenvironmentsave[revnumber].... % \defineXMLenvironmentsave[...] btw, a not yet finished but handy option is tex namespaces, which permits you to define element handlers at the outer level and swicht to a namespace when flushing a saved element; i also have a system for building elements in mem, but yet unfinished % The example: \starttext \startXMLdata 0.06 2001-01-08 gjf Changed date format (YYYY-MM-DD) \stopXMLdata \startXMLdata 0.06 2001-01-08 Changed date format (YYYY-MM-DD) \stopXMLdata \stoptext At 10:05 PM 2/8/2002 +0100, you wrote: >Hans, > >Hier nog een probleempje. De revhistory wil ik graag als een tabel >weergeven. Maar er kunnen een groot aantal velden in voorkomen. Het >liefst zou ik eerst kunnen kijken welke velden er voorkomen, en alleen >die kolommen in de tabel opnemen. Dat is geen eenvoudige zaak, en >vereist zeker meer dan één gang over de TeX file. Heb jij daar ideeen >over? > > > > 0.06 > 2001-01-08 > gjf > > Changed date format (YYYY-MM-DD) > > > > > > >% revision history >% I would like to modify the layout >% it would be nice if we could inspect the table first; >% not all columns need to be present >\defineXMLenvironment[revhistory] > {\blank[medium]\bgroup\switchtobodyfont[small] > \midaligned{Revision History} > \midaligned\bgroup\bTABLE > % column headers > \bTR \bTD \bf Revision\eTD \bTD \bf Date\eTD \bTD \bf Remarks\eTD > \eTR > } > {\eTABLE > \egroup % end midaligned > \egroup % end switchtobodyfont > } >\defineXMLpickup[revision] \bTR \eTR >\defineXMLpickup[revnumber] \bTD \eTD >\defineXMLpickup[date] \bTD \eTD >\defineXMLpickup[revremark] \bTD \eTD > >Zoals het kommentaar al aangeeft heb ik ook geen goede dokumentatie >kunnen vinden voor de \bTABLE ... \eTABLE konstruktie. > >Groeten, Simon > >-- >Simon Pepping >email: spepping@scaprea.hobby.nl ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE | pragma@wxs.nl Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com ------------------------------------------------------------------------- fall-back web server: www.pragma-pod.nl -------------------------------------------------------------------------