考虑 test.xml 中的 DocBook 文章,其中包含<informaltable>
在每个部分的开头重复的一个。还要考虑到<informaltable>
实际上比这个例子显示的要复杂得多。
<informaltable>
这个例子使用外部<!ENTITY ... SYSTEM ...>
声明实现了复杂的重用。复杂<informaltable>
的是在另一个名为reusedtable.xml 的文件中。
测试.xml
<!DOCTYPE article [<!ENTITY ReusedTable SYSTEM "reusedtable.xml">]>
<article xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<info>
<title>Article Template Title</title>
</info>
<section>
<title>first title</title>
&ReusedTable;
</section>
<section>
<title>Second Title</title>
&ReusedTable;
</section>
</article>
重用table.xml
包含重用表的文件。
<informaltable>
<tgroup cols='2'>
<tbody>
<row>
<entry>YES</entry>
<entry>NO</entry>
</row>
</tbody>
</tgroup>
</informaltable>
这种方法有效,但似乎有点尴尬和有限。所以它给我留下了以下问题:
- 有没有办法在
<informaltable>
不创建第二个 .xml 文件的情况下完成我的重用? - 有没有办法完成我的重用,
<informaltable>
以便我可以参数化表格?
例如,我希望能够在我的 docbook 文章中表达一个 ReusedTable 实例的存在,其中填充了不同的内容,如下所示,
test2.xml
<article xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<info>
<title>Article Template Title</title>
</info>
<section>
<title>first title</title>
<ReusedTable>
<firstcol>true</firstcol>
<seccol>false</seccol>
</ReusedTable> </section>
<section>
<title>Second Title</title>
<ReusedTable>
<firstcol>yes</firstcol>
<seccol>no</seccol>
</ReusedTable>
</section>
</article>
并让发布的输出看起来像这样,其中 ReusedTable 的设计被定义一次,每个 ReusedTable 实例中的单元格内容来自表格将出现的文章中的标记。