簡體   English   中英

XSL FO文件中的javascript可以寫入文檔以用Apache FOP處理嗎?

[英]Can javascript in XSL FO file write to the document for processing with Apache FOP?

我正在嘗試使用JavaScript腳本進行測試,以在PDF渲染器(特別是Apache FOP)進行處理時將內容添加到模板中。 我知道XSL可以調用javascript文件,而javascript文件又可以調用

document.write("<p>some text</p>");

可以在網絡瀏覽器中輕松顯示。 您的javascript函數是否有可能在文檔中寫一些類似於

document.write("<fo:block>some text</fo:block>");

這樣Apache FOP將能夠處理並在輸出PDF中顯示該塊?

document.write是瀏覽器將text/html文檔中的document對象公開給腳本的一種方法。 XSLT沒有訪問該文檔對象及其方法的權限,即使使用瀏覽器中的客戶端XSLT也沒有權限。 您唯一的選擇是讓XSLT生成HTML結果文檔,然后使用腳本來document.write某些東西。 即使是受限制的,例如Mozilla的瀏覽器不支持document.write的XSLT轉換的結果文件中,看到https://developer.mozilla.org/en/docs/XSL_Transformations_in_Mozilla_FAQ#What_about_document.write.3F

至於帶有Apache FOP的Javascript,不,我認為沒有可用的文檔對象。 而且我不確定為什么需要腳本來創建fo:block元素,而使用XSLT足以使用文字結果元素,例如

<xsl:template match="foo">
  <fo:block>some text</fo:block>
</xsl:template>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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