XQuery/DocBook 到 PDF
外观
< XQuery
您希望将您的 DocBook 5 文件转换为 PDF 格式。PDF 是一种标准化的页面布局格式,允许您使用标准打印书籍。
我们将创建一个 XQuery 模块,其中包含针对 DocBook 每个主要元素的一个主要 TypeSwitch 语句。这将创建一个 XSL-FO 文件,然后可以使用 Apache-FO 1.0 处理器 直接将其转换为 PDF。
这将完全使用 XQuery 完成。不需要 XSLT。
我们将从一个简单的 DocBook 5 文档开始。该文档使用 DocBook 命名空间并包含 xlink 命名空间。文档的非常小的示例可能具有以下结构
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<info>
<title>Converting DocBook to PDF using XQuery</title>
<author>
<orgname>Kelly McCreary & Associates</orgname>
<address>
<city>Minneapolis</city>
<country>USA</country>
</address>
<email>[email protected]</email>
</author>
</info>
<part>
<title>Introduction</title>
<subtitle>Why DocBook and PDF</subtitle>
<chapter>
<title>Introduction to DocBook</title>
<subtitle>Getting Started with DocBook Version</subtitle>
<sect1>
<title>Page Layout vs. Scrolling HTML</title>
<subtitle>Why PDF is Used For Printing</subtitle>
<para>Printing and pagination will still be important till ePub becomes standardized.</para>
</sect1>
</chapter>
<chapter>
<title>XQuery Typeswitch Transforms</title>
<subtitle>How To Get Comfortable with Recursive Programs</subtitle>
<sect1>
<title>Why XQuery Can Replace XSLT</title>
<subtitle>One language for the server</subtitle>
<para>Text</para>
</sect1>
<sect1>
<title>XSL-FO</title>
<subtitle>A language for paginated layout</subtitle>
<para>Text</para>
</sect1>
</chapter>
</part>
</book>