1

我是 docbook 的新手,但找不到直接在 docbook xml 结构中编写一些 html 代码的好方法。我能找到的最好的是 dbhtml-include,但它需要一个单独的 html 文件来解析。

可以直接写几行html吗?

我实际上想做的是在 docbook 中用 mathjax 编写数学。不过,可能有更聪明的方法来做到这一点。

谢谢你的帮助。

4

3 回答 3

2

可以直接写几行html吗?

在 XSLT 中“直接编写”始终是可能的,并且您可以修改任何 XSLT 样式表,包括 DocBook 的样式表来这样做。下面是一个简单的例子:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="/">
   <html>
     Hello, World!
   </html>
 </xsl:template>
</xsl:stylesheet>

然而,交叉分析 XSLT 和 html 是一种反模式,会导致难以阅读且难以维护的类似意大利面条的代码。

这解释了 Norm Walsh 的设计决策dbhtml-include

一个非常强大的设计模式也是拥有一个类似于表单的 html,其中包含一些 XML 元素,这些元素在转换后被特定内容替换——填空模式

于 2010-10-23T16:39:15.090 回答
0

FWIW,我通常只生成一个准系统 HTML 页面,然后使用 Sitemesh 之类的东西对其进行自定义。从 XML -> XSL -> 完全定制的 HTML 通常是一件非常痛苦的事情,除非您是找出人类所见过的一些最复杂的 XSLT 样式表的大师。

于 2010-10-24T21:45:23.023 回答
0

一些忠告; 如果您有 XML 和 XSL,您可以通过 XEP 轻松生成 HTML。我觉得太有用了。如果有任何问题,您可以访问 RenderX 论坛:http ://cooltools.renderx.com 您也可以从(http://www.renderx.com/tools/index.html)尝试 XEP 的试用版

于 2010-10-27T10:09:20.080 回答