1
是否可以將XSL-FO轉換爲XHTML?我曾嘗試RenderX樣式表fo2html.xsl但輸出完全中斷。將xsl-fo轉換爲(x)html?
我想要實現的是讓用戶編輯Flash應用程序(AS2)中的XSL-FO內容;所以我想將它轉換爲HTML,讓用戶編輯它,然後轉換回XSL-FO(最終轉換爲PDF)。
編輯:實際運行PHP 5.3.5瓦特/ Apache 2.2的
其實這就是我做的:
$in = '.\\files\\in.fo';
$out = '.\\files\\out.fo';
// transform
$xp = new XSLTProcessor();
$xml = new DOMDocument();
$xml->loadXML(file_get_contents($in));
$style = new DOMDocument();
$style->load('D:\\apache\\htdocs\\mv\\last\\myvisit\\outils\\xslt\\stylesheets\\fo2html\\fo2html.xsl');
$xp->importStylesheet($style);
// XML > HTML
$html = $xp->transformToXML($xml);
echo $html;
其中$看起來像這樣:
<?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 margin-bottom="35.4pt" margin-left="70.85pt" margin-right="70.85pt" margin-top="35.4pt" master-name="pm0" page-height="841.9pt" page-width="595.3pt">
<fo:region-body margin-bottom="35.45pt" margin-top="35.45pt" overflow="visible" region-name="body"/>
<fo:region-before extent="771.1pt" overflow="visible" region-name="header"/>
<fo:region-after display-align="after" extent="771.1pt" overflow="visible" region-name="footer"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="pm0" orphans="2" white-space-collapse="false" widows="2">
<fo:flow flow-name="body">
<fo:block end-indent="0pt" line-height="13.7pt" start-indent="0pt" text-align="start" text-indent="0pt">
<fo:inline font-family="Times Roman, serif" font-size="12pt">%%patient.identite%%</fo:inline>
</fo:block>
<fo:block line-height="13.7pt">
<fo:leader line-height="13.7pt"/>
</fo:block>
<fo:block end-indent="0pt" line-height="13.7pt" start-indent="0pt" text-align="start" text-indent="0pt">
<fo:inline font-family="Times Roman, serif" font-size="12pt">%%listePrescriptions[withCompoDecomposee,withLastAdmin]%%</fo:inline>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
和輸出HTML看起來像這樣:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>XSL FO Document</title>
<meta http-equiv="Content-Style-Type" content="text/css"/>
<style type="text/css">
<![CDATA[
a { color: black; border: none; text-decoration: none; }
img { border: none; }
]]>
</style>
</head>
<body bgcolor="white" marginwidth="6" marginheight="6" leftmargin="6" topmargin="6">
<div>
</div>
</body>
</html>
什麼是renderX樣式表輸出的「完全破壞」?我之前使用過它們,它們工作得很好。 – 2011-05-14 00:22:48
你可以發佈你的Html輸出嗎? – kitensei 2011-05-18 09:02:18
我認爲從頭開始很難做到。也許你的問題應該顯示一點XSLT,否則你期望哪種類型的答案? – 2011-06-21 04:51:08