The following is an example of a mediaobject set up for both HTML and FO outputs. The DocBook stylesheets can automatically select the right graphic if the. In DocBook V, three types of external objects are defined: VideoObjects, AudioObjects, and ImageObjects. Additional textual descriptions may be provided. version, , xsd:anySimpleType, Specifies the DocBook version of the element and its descendants, from group utes · xml:lang, .
|Genre:||Health and Food|
|Published (Last):||3 April 2018|
|PDF File Size:||12.24 Mb|
|ePub File Size:||9.72 Mb|
|Price:||Free* [*Free Regsitration Required]|
If you need to use more than one graphics file format, then you must use the mediaobject element instead of the graphic element. You could use profiling to select from among several graphic elements, but mediaobject is designed to do it without the need for mediaobjetc profiling step. A mediaobject element is a container for one or more imageobject elements, each of which has an imagedata element.
Usually, the various images in a mediaobject are different formats of the same illustration, with the idea that only one of them at a time will be used by the stylesheet. The mediaobject element contains two graphical elements. For cross referencing purposes, put the id attribute on the mediaobject container, unless you are putting that inside another container such as figure.
Each imagedata element indicates its file name and format. You could also put sizing attributes there. The DocBook stylesheets can automatically select the right graphic if the imageobject elements have a role attribute of either html or fo. When you process this example with the html stylesheet, you get the PNG graphic, and when you process it with the FO stylesheet, you get the PDF graphic.
Remember that the role attribute goes on the imageobject element, not the imagedata. Other stylesheet customizations such as Website or your own will use the value for the stock stylesheet it is based upon. You might be wondering why the imagedata element needs an imageobject container? Because imageobject can also contain an objectinfo element.
That element can be used to track information about the image, such as the software that created it, the current revision, the author, etc. The automatic selection behavior is controlled by the use.
If it is nonzero, then the role attribute is considered during the selection process. You can turn that behavior off if you set the parameter to zero. If you want finer control, then you have the option to use any role values you want. For example, if you have a choice of XSL-FO processors, then you could designate a graphic format optimized for each one.
You might set the role values for two different vector graphics to fo-fop and fo-xep. Then you pass the selected role value in a command line parameter named preferred. If you are processing with the FOP processor, then set the parameter preferred.
If you are using XEP, then set the parameter preferred. If you do not use the role attribute to select from among mediaobjject imageobject elements, then the stylesheets will try to make a choice based on file format. The stylesheets contain several lists of file formats that are acceptable for each output type.
It looks at the first imageobject inside the mediaobject. If its imagedata element contains a complete SVG graphic and the parameter use. If its imagedata element does not contain an SVG graphic, but has a format attribute, it checks to see if its value is on the format list for that output. If so, then it accepts that object and does not consider any others.
Simplified DocBook DTD: Element mediaobject
If it does not have a format attribute, it extracts the filename extension from the fileref attribute. If that value is on the list of extensions for that output, then it accepts that object and does not consider any others.
If the fileref does not have an extension, it checks the graphic. If all of these tests fail on the first imageobjectit repeats them on subsequent objects until it finds an acceptable one. This selection method is often sufficient, but is somewhat less precise than selecting by role.
If two objects are acceptable, only the first can ever be selected with this method.