如果你在作一个比较大的文档,建议每个章节使用一个单独的文件存储,便于管理[55]
前面讲到的实体可以用来作这件事情
有两个文件一个是主文件docbook.xml
,包含文件头和文档信息;另一个文件file.xml
是文档内容,主文件如下:
<?xml version='1.0' encoding="UTF-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5/zh_cn" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!ENTITY file SYSTEM "file.xml"> ]> <article> <info></info> &file; </article>
file.xml
文件内容如下:
<sect1> <para> …… </para> </sect1>
如果把引用文件的列表放在外部文件中,则更加容易管理。但是 XML 不允许在 DTD 中引用普通实体[56],这就要定义参数实体:
<?xml version='1.0' encoding="UTF-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5/zh_cn" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!ENTITY % list SYSTEM "list.xml"> %list; ]>
list.xml
文件内容如下:
<!ENTITY file SYSTEM "file.xml"> <!ENTITY file1 SYSTEM "file1.xml"> <!ENTITY file2 SYSTEM "file2.xml">
这样就可以在正文引用list.xml
文件中定义的普通实体了