Do textu lze vkládat multimediální prvky - obrázky, animace a zvuky. Za tímto
účelem je zaveden blokový element mediaobject
a inline element
inlinemediaobject
se stejným obsahem.
Elementy mediaobject
a inlinemediaobject
mohou obsahovat
tyto elementy:
audioobject | Zapouzdřuje element |
imageobject | Zapouzdřuje element |
videoobject | Zapouzdřuje element |
textobject | Poskytuje textovou alternativu k výše zmiňovaným elementům. |
objectinfo | Volitelné meta-informace pro vložený multimediální prvek. |
Do jednoho mediaobject
lze vložit více formátů. DocBook pak dokáže sám
zvolit vhodný formát vůči typu generovaného dokumentu.
<figure> <title>Struktura stránky</title> <mediaobject> <imageobject role="fo"> <imagedata fileref="obrazky/fancy.svg" format="SVG" width="800px" depth="380px" /> </imageobject> <imageobject role="html"> <imagedata fileref="obrazky/fancy.png" format="PNG" width="700px" /> </imageobject> <textobject><phrase>Obrázek struktury stránky</phrase></textobject> </mediaobject> </figure>
V tomto případě se vektorový obrázek ve formátu SVG vloží pouze do PDF, do HTML se
vygeneruje obrázek ve formátu PNG. Pro formát nepodporující obrázky by se vložil pouze
textový popisek. Obsah mediaobject
se parsuje kaskádovitě shora a na výstup
se pošle první vyhovující objekt. Pokud tedy uvedeme za sebe dva různé obrázky ve stejném
formátu, do dokumentu se použije ten první.
Atributem role
přímo můžeme určit pro jaký výstup se má daný objekt použít. V
tomto případě jsme SVG určili pro FO, tedy generování PDF a PNG je určeno pro HTML.
Všimněte si na tomto příkladě několika věcí. První věcí je element
figure
, který vše obaluje. Ten označuje vkládání obrázku a umožní nám k němu
také vytvořit titulek. Element imagedata
přímo ukazuje na konkrétní soubor
obsahující obrázek. Může mít řadu atributů, které většinou nemusíme uvádět ale upřesňují
chování obrázku. Jejich plný výčet lze najít v dokumentaci.
Zvuky a video se vkládají podobným způsobem, jen se použijí odpovídající elementy a
nepoužijeme figure
.
<mediaobject> <audioobject> <objectinfo> <title>Zvuk</title> </objectinfo> <audiodata fileref="zvuk.wav"/> </audioobject> <textobject>Zvuková ukázka.</textobject> </mediaobject> <mediaobject> <videoobject> <videodata fileref='movie.avi'/> </videoobject> </mediaobject>