[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: general approach to image maps
I'm searching for a general approach for using image maps with DocBook and I'm not referring to the image maps of callout objects. I'm using graphviz to produce PNGs and the corresponding MAP files, so I can rely on correctly calculated maps. All I need is a meaningful place for leaving some information that a specific image comes along with a map (which of course - as external code - needs to be included into the html code). If I would just have to insert the map content directly after the <img> tag, one could surely argue, that a PI (eg. dbhtml-include) could do the job (similar to what Bob mentions in http://www.sagehill.net/docbookxsl/InsertExtHtml.html#CodeInPage). But this will not work for 2 reasons: 1. PIs are only processed outside figure markup (eg. only explicit apply-templates="imagedata" in imageobject prevent PIs to become effective) 2. I need a usemap attribute directly in the img tag Currently for me a straightforward approach would be something like the following: <figure> <title>ER diagram (compact) of Type Certification</title> <mediaobject> <imageobject role="fo"> <imagedata depth="22cm" height="22cm" format="SVG" fileref="../dot/tc-compact.svg"/> </imageobject> <imageobject role="html"> <imagedata format="PNG" fileref="../dot/tc-compact.png"/> <?imagemap fileref="../dot/tc-compact.map"?> </imageobject> </mediaobject> </figure> But where to start? There are 2 templates to deal with, when I want to introduce such functionality in a customization layer (A) (very simple) <xsl:template match="imageobject"> just needs to be extended with a <xsl:apply-templates select="processing-instruction()"/> for loading the map and pasting it into the html code. (B) (with 800 lines to big for a customization layer in my opinion) <xsl:template name="process.image"> In (A) I would load the map into a variable, extract the map name or id, pass it over as parameter "usemap" to the imagedata template which in its turn passes it to the named template "process.image" (B). But what should I do with <xsl:template name="process.image">? As I already said, I don't think that copying and pasting such a template into a customization layer is the right approach. Should I extend it first on my own and than file a request to see appear such functionality in the main distribution? Thanks, Georges
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]