XSL直接在docbook中编写html代码

时间:2010-10-23 09:13:29

标签: html xml xslt docbook

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

是否可以直接写几条html线?

我实际上要做的是在docbook中用mathjax写数学。可能有一种更聪明的方法可以做到这一点。

感谢您的帮助。

3 个答案:

答案 0 :(得分: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元素,它们在转换后被特定内容替换 - fill-in-the -blanks pattern

答案 1 :(得分:0)

FWIW,我通常只生成一个准系统HTML页面,然后使用类似Sitemesh的东西进行自定义。来自XML - &gt; XSL - &gt;完全自定义的HTML通常是一种皇家的痛苦,除非你是一个人类所见过的最复杂的XSLT样式表的大师。

答案 2 :(得分:0)

一些建议; 如果您有XML和XSL,则可以通过XEP轻松生成HTML。我认为这太有用了。如有任何疑问,可以访问RenderX论坛:http://cooltools.renderx.com 您也可以从(http://www.renderx.com/tools/index.html)

中试用XEP的试用版