能夠編寫文檔,然後以多種不同的輸出格式創建它,這曾是許多開發團隊多年來的夢想。通過 DocBook
XML 就可以實現,它不僅保持了語義標記,也保持了對資料格式化與輸出的控制。
控制語義可以指定組成文檔的章節和段落。在段落中可進一步詳細規定包含的項。比方說可以將命令和函數名放在單獨的標簽中,如清單 8 所示。
清單 8. 使用單獨的標簽包裝命令和函數
<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>.
顯示不同的元素時可以選擇不同的輸出樣式和格式,也可選擇相同的樣式。更重要的是,因為語義信息回會被返回(比如文檔可能包含對類名的引用),所以可以在編寫索引時用它生成一個列表(該列表包含文檔中詳細描述的所有類名)。
除了語義標記外,文檔的章節和不同部分還可以用特殊的 ID 標記,用這些 ID 建立文檔不同部分的鏈接。有些類型可自動完成(章節、部分以及其他生成目錄的類型),其他則需要明確建立到其他部分的鏈接。
轉化成目標格式的時這些鏈接可以自動轉換成適當的格式。比如,這個鏈接會轉換為適當的 HTML 頁面或頁面中錨的鏈接。如果要生成 PDF,則可以包含目標章節的頁碼。
這種轉換由 XSLT 樣式表完成。現有的標准 DocBook XSLT 樣式表支持到標准 HTML、XHTML、PDF(通過 FO 標准)、Texinfo、Java™ Help 和 Man 頁面的轉換。使用標准樣式表還可以將數據轉化成各種不同的大小和風格,書籍、A4 頁面和幻燈片。
各種輸出格式和標記的靈活性意味著:當創建文檔時,可以使用相同的文檔源代碼提供打印的手冊、內嵌式的幫助、man 頁面、在線和上下文感知的信息。使用更傳統的模型,可以分別編寫這些元素。
DocBook
XML 在技術文章社區得到了廣泛的認可,很多公司所有的文檔全部采用 DocBook
XML 標准(或它的一個子集)。