Thanks, Aditya, The first problem is adequately solved by adding []. I'll prepare an example for the second problem. A related problem is referring to sections and other blocks. <section id="sec:cows"><title>Cows</title> <para>cows cows cows. As I told in <xref linkend="sec:cows"/></para></section> The title is mapped as follows (lpath): \xmlsetsetup{#1}{section/title}{xml:section/title} \startxmlsetups xml:section:title \section{\xmlflush{#1}} \stopxmlsetups The section is not mapped: \startxmlsetups xml:section \xmlflush{#1} \stopxmlsetups Adding [\xmlatt{#1}{id}] to xml:section:title does not work of course. Using [\xmlatt{#1}{id}] with xml:section puts the id before the \section command. I think one of the other commands has to be used in such a way that the id is flushed forward after the \section command. Regards, Robert Op 20 mrt 2011, om 17:05 heeft Aditya Mahajan het volgende geschreven:
On Sun, 20 Mar 2011, R. Ermers wrote:
Dear All,
My xml docbook file contains a number of graphics. Some are regular figures, some are edgefigures. I have two questions in this respect.
Understanding these snippets is difficult without a minimal working example.
A. referring to floats
\placeedgefigure [\xmlatt{#1}{id}] {\xmlfirst{#1}{/caption}} {\framed[frame=off]{\setlayer[graphics]{\xmlfirst{#1}{/imageobject}}}}
\definefloat[edgefigure][figure] \setupfloat[edgefigure] [leftmargindistance=-\innercombitotal,rightmargindistance=-\outercombitotal, default={outer,low,long}, criterium=.65\textwidth,numbering=no]
<mediaobject id="fig:cow" role="edgefigure"> <imageobject> <imagedata scale="500" fileref="cow.jpg"/> </imageobject> </mediaobject>
I now wonder how to refer to these floats. That is, referring through <xref linkend="cow"/> is not difficult to implement, but for some reason the mapping of the id is not that obvious. I tried it like this:
\startxmlsetups xml:mediaobject:edgefigure \placeedgefigure [\xmlatt{#1}{id}] {\xmlfirst{#1}{/caption}} {\framed[frame=off]{\setlayer[graphics]{\xmlfirst{#1}{/imageobject}}}} \stopxmlsetups
Try
\placeedgefigure [] [\xmlatt{#1}{id}] {....} {....}
B. edgefigures and regular figures
The document contains two types of figures.
\xmlsetsetup{#1}{mediaobject[@role='fig']}{xml:mediaobject:fig} \xmlsetsetup{#1}{mediaobject[@role='edgefigure']}{xml:mediaobject:edgefigure}
I have noticed that when <mediaobject> contains both the attributes id and role, such as the cow example, the figure is considered a regular figure automatically and will not typeset as an edgefigure.
Please provide a minimal working example.
Aditya ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________