2011-05-13 9 views
1

XSL-FOをXHTMLに変換できますか?私はRenderXスタイルシートfo2html.xslを試しましたが、出力が完全に壊れています。xsl-foを(x)htmlに変換しますか?

私が達成しようとしているのは、ユーザーがFlashアプリケーション(AS2)でXSL-FOコンテンツを編集できるようにすることです。だから、私はそれをHTMLに変換し、ユーザにそれを編集させてから、XSL-FOに(そして最終的には最終的にPDFに)変換してもらいたい。

EDIT:実際にはApache 2.2

/wのPHPの5.3.5を実行すると、実はそれは私が何をすべきかです:

$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> 
+0

renderXスタイルシートの出力で「完全に壊れた」とは何ですか?私は以前にそれらを使用して、彼らは非常にうまくいった。 –

+1

あなたが持っていたHTML出力を投稿できますか? – kitensei

+1

最初からやるのはとても難しいと思います。おそらくあなたの質問にはXSLTのビットが表示されるはずです。そうでなければ、あなたはどんな答えを期待していますか? –

答えて

0

XSL-FOはXMLであるので、以下を使用します。

  • loadVariablesバック編集した文書を送信するためにフラッシュ
  • sendAndLoadでXSL-FOを編集するフラッシュ
  • textAreaでPHPスクリプトを呼び出すためにPDF変換用サーバーへ
関連する問題