[NTG-context] referring to floats in xml

R. Ermers r.ermers at hccnet.nl
Sun Mar 20 10:46:44 CET 2011


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





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20110320/3e4548b1/attachment.html>


More information about the ntg-context mailing list