[英]Using XSL-FO and HTML?
我正在嘗試使用XSLT將一些XML數據轉換為HTML用於我的學士論文。
我的教授也希望我考慮XSL-FO,或者至少要寫一些關於它的話。 但我非常喜歡這個。
所以我的問題是:
我可以將FO與HTML結合使用嗎? 我可以使用FO而不是HTML和CSS嗎? 如果是,我的瀏覽器將如何渲染? 是否有關於如何使用FO將xml轉換為網頁的示例/教程?
從XSLT生成XSL-FO和XHTML不一定是一種選擇。
XSL-FO通常用於生成PDF。 為此,您需要一個XSL-FO引擎 ,例如FOP , RenderX , Antenna House , IBex等。但是,您可以將XSL-FO轉換為XHTML ,然后在瀏覽器中呈現。
通常,讓XSLT創建XSL-FO然后轉換為XHTML (直接生成XHTML)是不值得的,除非您想要減少工作量創建兩種輸出格式(PDF和XHTML)。
可以同時創建** XSL-FO和XHTML ,而無需維護兩套完整的樣式表來在不同的詞匯表中創建類似的輸出**。
您可以創建主樣式表庫以生成XSL-FO或XHTML ,然后使用第二個轉換從 XSL轉換,而不是在一種格式或另一種格式之間進行選擇,或者必須維護兩個明顯不同(但相似)的樣式表庫。 FO 到 XHTML ,反之亦然。 您可以利用現有的XSLT樣式表來執行此操作。
在過去,我開發了XSL-FO樣式表,然后使用Render-X FO2HTML樣式表將XSL-FO轉換為 XHTML輸出。 它將<block>
元素轉換為<div>
, <inline>
轉換為<span>
等。
我之前沒有使用它們,但您也可以嘗試使用HTML2FO樣式表將XHTML outut轉換為XSL-FO 。
開箱即用,您可以在兩種格式下獲得驚人相似的輸出,同時保持一個專用於一種特定輸出格式的XSLT庫。
如果您碰巧需要稍微自定義輸出(例如, XHTML的不同標頭內容),那么您只需要導入/擴展轉換樣式表並覆蓋不同內容的相應模板。 這使維護變得更加容易,因此您不必擔心使用基本相同的信息更新多組樣式表。
XSL-FO僅用於PDF顯示(這不是嚴格意義上的,但您可以將其作為指南)。 因此HTML輸出和FO輸出無關。 從XML源代碼中,您可以使用XSLT生成XHTML 或 XSL-FO,但不能同時生成兩者。
請參閱DocBook。 它附帶了幾個可供使用的XSLT樣式表,一個用於HTML輸出,另一個用於PDF(通過Apache Fop)。 如果您對結果感到滿意可能是另一個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.