OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: Docbook XML to Epub

4th attempt. (sorry for replying multiple times, this encoding is ANSI, so it should work finally!)Â (also, here: http://www.imaginaryplanet.net/private/docbook-reply-robert-nagle3.txt ) If it doesn't work, well, I'm not going to try again, I promise!Â


For the first question, it's usually pretty easy to solve this problem.
In many cases, in the XML you can just add a role="red" attribute to the docbook element, ex.
<para role="red">This is red </para>
and then use this: p {color: red} in the css.

If I want all the text in a chapter to be a certain color, I'll assign a value to xml:id inside ÂCHAPTER
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
  version="5.0" xml:id="red">

then use this css: section#red {
color: #red;
margin: 0em 2em 0em 2em;}

The second problem is more difficult, and my solution has worked for me but with a limitation. By the way, in my example I am using MEDIAOBJECT instead of
INLINEMEDIAOBJECT, but I am assuming they are functionally equivalent.

First, it looks like if you use the width as an attribute in imagedata, docbook xsl Âoutputs Âa table containing the image. I can't remember if that throws an epub error, but if probably isn't supported on kindle especially.

Instead ÂI use a xml:id Âon the chapter Âelement. That lets me write css specific to the div container Âfor any image in the chapter. Â
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
  version="5.0" xml:id="dogchapter"> Â
 Â<mediaobject role="dog">
      <imagedata fileref="images-epub/1200dog.jpg"/>
      <phrase> Illustration: Dog Orientation</phrase>

The output will look like this:

Â<div class="mediaobject"><img src="" alt="Illustration: Dog Orientation"/></div>

That allows the css to reference the chapter's unique ID which is dogchapter to customize the DIV --> MEDIAOBJECT. Â

Âsection#dogchapter Âdiv.mediaobject {
Âwidth: 95%;
    display: block;
 margin-left: auto;
 margin-right: auto;  Â

Âimg {
    display: block;
 margin-left: auto;
 margin-right: auto; Â

This css code works very well on Kindle -- adjust your percent as needed.

But here's the catch -- Even though the mediaobject in my example Âhas role="dog", the output DIV doesn't contain this reference at all. (Apparently Docbook XSL converts the MEDIAOBJECT to DIV class=mediaobject" I can only use chapter xml:id="dogchapter".

As long as I have no more than one image per chapter -- or use the same css for every image in the chapter, I'm fine. But if it's more than one with different widths, then I'm stuck.

I'd appreciate any ideas about how to allow for different css for several images in a single chapter.ÂÂ

Robert Nagle
5115 Sandyfields Ln Katy, TX 77494
(Cell) 832-251-7522

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]