[NTG-context] Problems mapping Xml into ConTeXt
Hans Hagen
pragma at wxs.nl
Thu Oct 12 08:53:45 CEST 2006
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
-----------------------------------------------------------------
More information about the ntg-context
mailing list