[英]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.