Michael Wigston wrote:
Hans Hagen wrote:
Michael Wigston wrote:
1. This def of <u> does nothing ... \defineXMLgrouped [u] \underbar
\defineXMLargument[u]{\underbar}
underbar is not a font switch but a macro that takes an argument
Hans,
Thanks, that works fine with \underbar, as well as \underbars, \overstrike, \overstrikes, \low, \high and \lohi.
You mentioned that \underbar (and presumably the others I mentioned above) are macros taking arguments e.g. \acommand{...}. However presumably something like \midaligned{...} is also a macro requiring an argument, but this works as a \defineXMLgrouped and as a \defineXMLargument - why does it work with both?
the macro ones do manipulate their argument, for instance, underbar is not a font charateristic or color switch or so i.e. not a real attribute; esp using setups will make your style look better (look into x-fo for instance, forget about the dirty tricks there, but it's pretty clean; mapping values and so save many macro definitions
The manual "XML in ConTeXt" very briefly sketched over these XML commands and I can see great potential to use them directly on XML to generate ConTeXt for PDF rather than the XSLT/XSL-FO route which seems to be gaining momentum in much of the industry. I don't suppose there is another more detailed document which elaborates on the XML commands, and how you may determine which of these is most appropriate for what kind of ConTeXt command mapping?
you can take a look into the x-* files which show quite some mappings; indeed direct mapping is often more convenient than transformations; future versions of context will also offer more manipulation possibilities
Also at the moment a non-mapped element seems to automatically type out its contents as straight text - is there a way to override this behaviour and specify this as an error? (This is rather like the Ruby duck-typing approach - if an XML element is mapped, process it, else it is an error).
\startXMLignore \stopXMLignore in xtag-pre you can see: \defineXMLenvironment [\s!default] \defaultXMLelement \defaultXMLelement \defineXMLsingular [\s!default] \defaultXMLelement % \def\defaultXMLelement % {\iftraceXMLelements[\currentXMLfullidentifier]\fi} \def\defaultXMLelement {\iftraceXMLelements{\infofont<\currentXMLfullidentifier>}\fi} %D We can use the default handler to implement automatic %D element hiding. Beware: this overloads the tracer. \def\startXMLignore{\dododefineXMLignore \s!default} \def\stopXMLignore {\dododefineXMLprocess\s!default} so you can play with the default handlers Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------