和荣笔记 - XSL-FO 与 XHTML
杨和荣, 版本 2.03, 2007年

中文网页和排版

Part:   1  2  3  4  5 

我们已经知道了怎样把文字资料编写成 XHTML 文件,然后利用 CSS 语言把它制成 整齐美观的网页,也可以利用 XSL-FO 语言把它制成排版精确的 PDF 打印文件, 现在让我们用一个实例来看看怎样利用这个方法处理中文文字资料。这个实例就是 我为自己设计的一个中文排版环境系统,你现在所看到的这篇文就是用这个系统处 理产生。

要求和条件

下面是我们的初步设计要求和条件:

  • 原始文字资料应该用 XHTML 语言编写,而且采用中文国标 GB2312 编码。
  • 原始文字资料应该写成章节形式,每一章写成一个文件。
  • 所制成的网页必须整齐美观,可以使用 CSS 语言来达到这个目的。
  • 制作 PDF 文件的第一步应该是把 XHTML 文件转换成 FO 文件,转换和排版的 规则应该写成一个 XSLT 文件。
  • 所制成的 PDF 文件应该只有一份,包括所有的章节和目录。

中文 XHTML 文件

由于我们要把原始的中文资料直接用键盘输入,形成 HTML 文件,所以应该使用简 单的 HTML 语句,以方便输入,但必须为网页和打印的排版提供足够的信息。

下面是从我这本笔记的 HTML 文件摘录的一个段落,全文可以从网页的原文里看到。

<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="book_fo.xsl"?>
<html><head>
<meta title="和荣笔记 - XSL-FO 与 XHTML"/>
<meta version="版本 1.01"/>
<meta author="杨和荣"/>
<meta copyright="版权所有 © 2002 - 2003 杨和荣。"/>
<meta pagetitle="XSL-FO 简介"/>
<meta date="2002年12月23日"/>
<meta filename="xsl_fo.html"/>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<link rel="stylesheet" type="text/css" href="book.css"/>
<title>和荣笔记 - XSL-FO 与 XHTML - XSL-FO 简介</title>
</head><body>
<table class="frame" cellspacing="0" cellpadding="0">

<tr><td class="frame_top" colspan="3">
<font size="+3">和荣笔记 - XSL-FO 与 XHTML</font>
<br/>- 杨和荣著,版本 1.01,2002年12月23日
</td></tr>

<tr><td class="frame_left"></td>
<td class="frame_center">

<table class="page_border" cellspacing="0" cellpadding="0">
<tr><td colspan="3" height="1"><img height="1" width="100%" ...
<tr><td width="1" rowspan="1"><img height="100%" width="1" ...
<td>

<table class="page" cellspacing="0" cellpadding="0">
<tr><td>

<table cellspacing="0" cellpadding="0" border="0">
<tr><td aligh="left" colspan="3"><font size="-1"><b>和荣...
<tr><td align="left"><font size="-1">杨和荣, 版本 1.01, 2002...
<td align="center"><font size="-1"></font></td>
<td align="right"><font size="-1">
[ <a href="../">主页</a> | <a href="help.html">求助</a> |...
</font></td></tr>
<tr><td class="page_line" colspan="3"><img height="1" width...
<tr><td class="body" colspan="3">

<p class="chapter_title" id="xsl_fo.html">
XSL-FO 简介
</p>


<p class="section_title">
什么是 XSL-FO?
</p>

<p>
<b>XSL-FO</b>:一种建立在 XML 基础之上的附加排版语言。它的工作...
加入 XML 语句,其作用是控制原始文字资料的排版格式。XSL-FO 其实和 TeX...
在十五年以前就广泛用于各种科技文献排版之中。
</p>

...

<p class="section_title">
“世界你好!”实例
</p>

<p>
下面是我的第一个 XSL-FO 实例,hello.fo:
</p>
<pre class="block_source">
<?xml version="1.0" encoding="utf-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
 <fo:layout-master-set>
  <fo:simple-page-master master-name="my_page" margin="0.5in">
...
</pre>

...

(Continued on next part...)

Part:   1  2  3  4  5 

杨和荣,修改于2007年
和荣笔记 - XSL-FO 与 XHTML - 中文网页和排版