我試圖用XSLT將一些XML數據轉換爲HTML用於我的學士論文。使用XSL-FO和HTML?
我的教授希望我也考慮XSL-FO,或者至少寫一些關於它的文字。但我非常喜歡這個。
所以我的問題是:
我可以結合FO和HTML嗎?我可以使用FO而不是HTML和CSS嗎?如果是,我的瀏覽器將如何渲染?是否有任何示例/教程如何將XML轉換爲帶有FO的網頁?
我試圖用XSLT將一些XML數據轉換爲HTML用於我的學士論文。使用XSL-FO和HTML?
我的教授希望我也考慮XSL-FO,或者至少寫一些關於它的文字。但我非常喜歡這個。
所以我的問題是:
我可以結合FO和HTML嗎?我可以使用FO而不是HTML和CSS嗎?如果是,我的瀏覽器將如何渲染?是否有任何示例/教程如何將XML轉換爲帶有FO的網頁?
XSL-FO僅用於PDF顯示(這不完全正確,但您可以將其作爲指導原則)。所以HTML輸出和FO輸出不相關。從您的XML源代碼中,您可以使用XSLT生成XHTML 或 XSL-FO,但不能同時生成XSL-FO。
參見例如DocBook。它帶有幾個準備使用的XSLT樣式表,一個用於HTML輸出,另一個用於PDF(通過Apache Fop)。如果你對結果感到滿意可能是一個不同的問題。
從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 stylesheet到XSL-FO轉換爲XHTML輸出。它將<block>
元素轉換成<div>
,<inline>
轉換成<span>
等。
我以前沒有使用過他們,但你也可以嘗試使用HTML2FO stylesheets到XHTML outut轉換成XSL-FO。
開箱即用,你可以在都格式得到驚人相似的輸出,同時保持一個XSLT庫致力於一個特定的輸出格式。
如果你碰巧需要稍微定製輸出(如不同的頁眉內容XHTML),那麼你只需要導入/延長轉換樣式表和覆蓋爲不同的內容相應的模板(一個或多個)。這使得維護更容易,因此您不必擔心使用基本相同的信息更新多組樣式表。