`

Docbook XML文件前置处理Perl程序,解决回车,空格等等影响FOP排版输出的问题

阅读更多
Docbook的中文问题果然层出不穷,现在都有点后悔采用Docbook格式写论文了,下面一段Perl程序通过删除<book></book>标签下的所有空格,试图解决FOP中文回车、空格影响排版输出的问题。

不过即使这样,FOP还是会傻傻的把中文标点放在行首,这个问题挺麻烦的,可能是<xsl:param name="hyphenate">false</xsl:param>惹得祸,但是如果启用docbook-xsl又会报Couldn't find hyphenation pattern错……

不管如何,现在起码我不用把<para></para>一段文字写成一行了,Oxygen XML 编辑器只要启用text wrap自动折行就不再同时提供代码折叠功能,而没有代码折叠,又必须采用<!ENTITY preface SYSTEM "preface.xml">来管理长文档,一旦采用,preface.xml就作为实体,做不到实时文件架构验证了,我肯定不愿意放弃Oxygen XML Editor的实时验证文档功能,那就只有采用新的XInclude方法了,但是FOP自带的Xalan 2.7.0 XML XSLT引擎目前似乎还没开始支持这个XInclude功能……

#!/bin/env perl
use strict;
use warnings;
use utf8;


open(F, $ARGV[0]) or die "Can't open file $ARGV[0]: $!\n";


my $in_book = 0;
  

READLINE:
while (<F>)
{
  

if ($in_book == 0)
  {
      

if(/<book>/)
      {
          

$in_book = 1;
      }
      s

#http://www.docbook.org/xml/(.*)/docbookx\.dtd#../docbook-xml-$1/docbookx\.dtd#;
      print $_;
  }
    

else {
      s
/\s+//g;
      
print $_;
    }
}






丁丁 2007-02-27 04:56 发表评论






分享到:
评论

相关推荐

    docbook-xml-4.2.zip

    本文将深入探讨DocBook XML 4.2的核心概念、用途以及其在压缩包docbook-xml-4.2.zip中的具体文件。 首先,理解DocBook的核心概念至关重要。DocBook是一种元词汇表,即一套预定义的XML标签集,专门用于结构化和组织...

    docbook-xml-4.5.zip

    在处理DocBook XML文档时,这个文件能指导系统正确引用和解析相关的DTD文件,从而避免了相对路径的问题。 2. **ChangeLog**:这个文件通常记录了该版本的修改历史,包括对DocBook XML 4.5所做的改进、修复的错误...

    fop 1.0beta2 解决了中文问题

    通常,FOP会提供与特定版本兼容的样式表,这些样式表会将DocBook XML转换为XSL-FO,然后由FOP进一步处理成最终的输出格式。在实际操作中,你可以根据FOP的官方文档或者社区提供的指南,进行相应的配置设置,包括指定...

    docbook-xsl-1.73.2.zip

    这个"docbook-xsl-1.73.2.zip"压缩包包含的是DocBook XSL样式表的1.73.2版本,这是一个关键组件在将DocBook XML文档转换成各种输出格式的过程中。 首先,让我们深入理解DocBook XML。DocBook是一种结构化的标记语言...

    DocBook5安装文件

    1 docbook-xsl-ns-1.75.2.zip解压到D:\docbook 2 另外四个压缩包解压出来,把里面的bin,include和lib三个文件夹拷贝到D:\docbook\xsltproc目录下 2 环境变量Path中增加 D:\docbook\xsltproc\bin 3 新建一个bat,...

    使用DocBook

    - **XML基础**:DocBook是基于XML(可扩展标记语言)的,XML是一种用于标记数据的语言,允许数据和其结构分离,便于处理和解析。 - **元素集**:DocBook包含一套预定义的元素,如`&lt;article&gt;`(文章)、`&lt;chapter&gt;`...

    windows下配置docbook

    - **解决方法**:使用 XML 编辑器仔细检查 XML 文件语法,并确保转换脚本的正确性。可以尝试使用 `xsltproc` 工具进行手动转换测试。 **3.3 输出文件格式不符合预期** - **原因**:可能是在转换过程中使用的 XSLT ...

    DocBook文档

    9. **社区与资源**:DocBook有一个活跃的开发者社区,提供了许多在线资源、讨论组和问题解答,学习和解决问题时可以充分利用这些资源。 通过深入学习这两份文档,你将能够熟练掌握DocBook的使用,从而编写出专业且...

    docbook5 测试文件1.pdf

    ### DocBook 5环境搭建及测试文件解析 #### 一、DocBook 5简介 DocBook是一种基于XML的标记语言,被广泛应用于技术文档的编写、管理和发布。它支持多种输出格式,包括HTML、PDF、EPUB等,适用于创建手册、指南、...

    DocBook的使用指南(English Version)

    这通常包括XML解析器、XSLT处理器、以及用于生成最终输出格式的工具,如**docbook2xxx utils**、**FOP**等。 - **输入XML文件示例**:了解如何编写基本的DocBook XML文档,这对于理解DocBook的语法和结构至关重要。...

    DocBook XML Mode for GNU Emacs-开源

    DocBook XML Mode for GNU Emacs是一款专为开源社区设计的Emacs扩展,旨在提供高效、便捷的编辑环境,帮助用户在GNU Emacs中处理DocBook XML文档。DocBook是一种广泛使用的XML格式,专门用于创建技术文档,如手册、...

    DocBook 5.0中文版

    《DocBook 5.0中文版》是一本深入讲解DocBook 5.0技术细节的权威指南,由Norman Walsh和Leonard Muellner撰写,旨在帮助读者掌握使用XML进行结构化文档创作的方法与技巧。本书不仅适合XML和DocBook的新手,也适合...

    docbook-ant-tools-guide

    - **配置文件**: FOP 的配置文件位于 `conf/fop/conf.xml`。 - **字体管理**: 可用字体存储在 `conf/fop/fonts` 目录下。 - **字体检测**: 默认情况下,FOP 不启用自动检测系统字体的功能,可以通过在配置文件中加入...

    docbook自定义xsl

    自定义这些XSL文件可以让你精确控制最终的输出格式,满足特定的排版需求。例如,你可以修改`header_footer.xsl`来添加公司标识,或者调整`highlight.xsl`以适应不同的编程语言高亮规则。 在实践中,我们需要对XSLT...

    XMLMind DocBook工具

    XMLMind DocBook工具是一款专为处理DocBook XML文档格式的软件。DocBook是一种广泛使用的标记语言,主要用于创建技术文档,如手册、教程、参考指南等。这个工具集可以帮助用户轻松地编写、编辑、格式化以及转换...

    docbook-style-xsl.zip

    标题“docbook-style-xsl.zip”表明这是一个包含DocBook风格XSL转换文件的压缩包。DocBook是一种XML架构,常用于编写技术文档,如手册、教程和参考指南。它允许内容作者专注于文档的内容,而不是排版,然后通过XSL...

    docbook 指南

    DocBook是一个基于XML的标记语言,专门用于技术文档的编写。它的设计目的是为了简化书籍、文章、说明和手册等技术文档的制作流程,使其能够轻易转换成多种格式输出。从给出的内容中,我们可以提取出以下知识点。 ...

Global site tag (gtag.js) - Google Analytics