簡體   English   中英

使用XSL-FO和HTML?

[英]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引擎 ,例如FOPRenderXAntenna HouseIBex等。但是,您可以將XSL-FO轉換為XHTML ,然后在瀏覽器中呈現。

通常,讓XSLT創建XSL-FO然后轉換為XHTML (直接生成XHTML)是不值得的,除非您想要減少工作量創建兩種輸出格式(PDF和XHTML)。

可以同時創建** XSL-FOXHTML ,而無需維護兩套完整的樣式表來在不同的詞匯表中創建類似的輸出**。

您可以創建主樣式表庫以生成XSL-FOXHTML ,然后使用第二個轉換 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM