能夠編寫文檔,然后以多種不同的輸出格式創(chuàng)建它,這曾是許多開發(fā)團(tuán)隊多年來的夢想。通過 DocBook XML 就可以實現(xiàn),它不僅保持了語義標(biāo)記,也保持了對資料格式化與輸出的控制。 控制語義可以指定組成文檔的章節(jié)和段落。在段落中可進(jìn)一步詳細(xì)規(guī)定包含的項。比方說可以將命令和函數(shù)名放在單獨的標(biāo)簽中,如清單 8 所示。 清單 8. 使用單獨的標(biāo)簽包裝命令和函數(shù) <para>The <command>compile</command> takes the source code of the material and builds a new class based on the filename. For example, if the filename is<filename>HelloWorld</filename> then the name of the class generated will be<classname>HelloWorld</classname>.
顯示不同的元素時可以選擇不同的輸出樣式和格式,也可選擇相同的樣式。更重要的是,因為語義信息回會被返回(比如文檔可能包含對類名的引用),所以可以在編寫索引時用它生成一個列表(該列表包含文檔中詳細(xì)描述的所有類名)。 除了語義標(biāo)記外,文檔的章節(jié)和不同部分還可以用特殊的 ID 標(biāo)記,用這些 ID 建立文檔不同部分的鏈接。有些類型可自動完成(章節(jié)、部分以及其他生成目錄的類型),其他則需要明確建立到其他部分的鏈接。 轉(zhuǎn)化成目標(biāo)格式的時這些鏈接可以自動轉(zhuǎn)換成適當(dāng)?shù)母袷健1热纾@個鏈接會轉(zhuǎn)換為適當(dāng)?shù)?HTML 頁面或頁面中錨的鏈接。如果要生成 PDF,則可以包含目標(biāo)章節(jié)的頁碼。 這種轉(zhuǎn)換由 XSLT 樣式表完成。現(xiàn)有的標(biāo)準(zhǔn) DocBook XSLT 樣式表支持到標(biāo)準(zhǔn) HTML、XHTML、PDF(通過 FO 標(biāo)準(zhǔn))、Texinfo、Java™ Help 和 Man 頁面的轉(zhuǎn)換。使用標(biāo)準(zhǔn)樣式表還可以將數(shù)據(jù)轉(zhuǎn)化成各種不同的大小和風(fēng)格,書籍、A4 頁面和幻燈片。 各種輸出格式和標(biāo)記的靈活性意味著:當(dāng)創(chuàng)建文檔時,可以使用相同的文檔源代碼提供打印的手冊、內(nèi)嵌式的幫助、man 頁面、在線和上下文感知的信息。使用更傳統(tǒng)的模型,可以分別編寫這些元素。 DocBook XML 在技術(shù)文章社區(qū)得到了廣泛的認(rèn)可,很多公司所有的文檔全部采用 DocBook XML 標(biāo)準(zhǔn)(或它的一個子集)。