Hi Dave,
The status of the width and many other attributes changed in HTML5, which is 
what Epub3 is based on.  For most HTML5 elements, the width attribute is 
deprecated, and should be replaced with the CSS style.  In an earlier draft of 
HTML5, that was true for img as well.  However, the latest draft shows that 
width and height attributes are permitted on img.

The xhtml5 stylesheet is a customization of the DocBook xhtml stylesheet.  To 
handle these deprecated attributes, there is a template with match="*" in 
mode="convert.to.style" that rewrites the deprecated attributes as parts of a 
style attribute for an HTML element.  That template is in  
xhtml5/html5-element-mods.xsl.  You will see that it includes width.

Since this is a mode, we should be able to add a template with match="x:img" 
(the x: namespace is the XHTML namespace) and change that behavior so width is 
output for img.  However, I'm not sure it is that easy, since width is also 
involved with creating a viewport for an image.  I'll look into it.

Bob Stayton
Sagehill Enterprises
[email protected]


From: Xmplar 
Sent: Friday, January 18, 2013 6:33 AM
To: DocBook Apps 
Subject: [docbook-apps] Setting width for mediaobject in EPUB


I'm specifying the width of an image using the <imagedata> attribute 'width' 
(and I've also tried 'contentwidth'). When I transform to an EPUB 3, I get the 
width coded as a style attribute:

<img style="width: 150; " src="images/by-nc.gif" alt="alt text for Creative 
Commons licence logo" />

The image doesn't render to a width of 150px. But removing the style setting 
and replacing it with the img attribute 'width' does work. Where do I find the 
stylesheet coding that sets style="width: ; ". I've looked in 
XHTML1-1/graphics.xsl and there's nothing obvious that sets the style attribute 
with a value of 'width' (all instance of 'style' refer to text-align).

-- 
Dave Gardiner

Reply via email to