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.
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
The log file says:
references : unknown reference [][fig:cow]
The reference is not solved.
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.
Regards,
Robert