DocBook 5.0 發布已久,決定全面遷移至 5.0 標準。本系列記錄遷移過程中的關鍵差異與最佳實踐。
DocBook 5.0 不再推薦使用 DTD,改採 RELAX NG(發音 "relaxing")作為預設綱要語言。RELAX NG 基於語法驅動,比 DTD 更簡潔、更具表達力,支援命名空間、資料類型、屬性與元素的解耦定義等現代 XML 綱要特性。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
'https://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<article lang="en">
<title>Sample article</title>
<para>This is a very short article.</para>
</article>
<?xml version="1.0" encoding="utf-8"?>
<article xmlns="https://docbook.org/ns/docbook" version="5.0" xml:lang="en">
<title>Sample article</title>
<para>This is a very short article.</para>
</article>
| 項目 | 4.x | 5.0 |
|---|---|---|
| 綱要語言 | DTD | RELAX NG (預設) |
| 命名空間 | 無 | xmlns="https://docbook.org/ns/docbook" |
| 版本宣告 | DOCTYPE 內隱含 | version="5.0" 屬性 |
| 語言屬性 | lang="en" | xml:lang="en" (標準 XML 寫法,完整應為 en-US) |
下一篇將介紹如何使用 RELAX NG 綱要驗證 DocBook 5.0 文件,敬請期待。