[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: Docbook XML to Epub
island@luxsci.me 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">     <imageobject>       <imagedata fileref="images-epub/1200dog.jpg"/>     </imageobject>     <textobject>       <phrase> Illustration: Dog Orientation</phrase>     </textobject>   </mediaobject> The output will look like this: Â<div class="mediaobject"><img src="images-epub/1200dog.jpg" 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.ÂÂ
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]