如何使用CSS将HTML转换为xsl-fo

时间:2013-04-29 06:47:08

标签: html css xsl-fo

我想将带有Css的HTML转换为xsl-fo。任何人都可以向我建议如何转换它。

我有2个文件一个html文件和一个css文件。我想用这两个文件生成xsl-fo文件,这样我就可以轻松地生成pdf,rtf和其他格式。

HTML file 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css"/> *--> css file* 
<title></title>
</head>
<body>
<div class="cw-default">
<p><span class="sans"><b>Short title</b></span> this is text for testing<i>italic text</i>.</p>
<p class="center">this is test</p>
</div>
</body>
</html>

style.css文件会在html中添加proprty,我希望这个属性值也会出现在生成的FO文件中。

/* Style Sheet */

.cw-default { font-size: 1em; }
.sans  { font-family: arial,helvetica }
.center   {text-align: center;}

此致 PARAM

2 个答案:

答案 0 :(得分:4)

我们在很多项目中都使用过它:

Werner Donne's CSS to XSL FO

这是用于将CSS,CSS2转换为XSL FO的XSL plus代码。

答案 1 :(得分:0)

将HTML转换为xsl-fo是从一种标记语言到另一种标记语言的转换。它们之间的区别在于,HTML用于与浏览器一起显示,而xsl-fo用于由Renderers转换为PDF。 CSS不是转换标记语言的工具,而是设计它的样式。您可以将它与HTML和xsl-fo一起使用,但这并不意味着它能够进行转换。为转换而构建的语言是XSLT。这是您想要实现的目标的正确工具。请注意,XSLT使用XML输入,大多数HTML不是有效的XML,但XHTML是。一定要关闭你的标签;-)
以下是一个示例:Xslt to xsl-fo transformation