2016-02-04 52 views
0

是否可以在XSLT文件中插入Javascript代碼?XSLT內的Javascript可能嗎?

XSLT:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
<html> 
    <head> 
    </head> 
    <body> 
    <span id="Intro" style="font-family:Calibri;" ></span> 

    --OTHER XSLT CONTENT HERE-- 

    <script> 
     document.getElementById('Intro').innerHTML= new Date();    
    </script> 
    </body> 
    </html> 
</xsl:template> 

生成的HTML文件不具有跨度內顯示的日期。

更新:這不是由客戶端呈現。相反,它是作爲電子郵件的正文發送的。這是否改變了事情?

+0

不是自動關閉,並添加一個'/>'不會改變... – dandavis

+0

謝謝dandavis。我也嘗試過這種情況 Minh

+0

如果您希望轉換的結果包含日期輸出,或者在HTML文檔在瀏覽器中呈現時未執行腳本,則不太清楚。 – Filburt

回答

0

是的,JavaScript中可以包含XSLT。

但是,當JavaScript包含諸如<等字符時可能會出現複雜情況。您可以通過CDATA跳過並與CDATA一起玩遊戲來克服,但如果可能,最好將JavaScript外部化並將其與<script src="url/to/your.js"></script>進行對比。

爲靜態JS做這些事情,並且有一小部分動態JavaScript內容包含變量和對象數組,這些變量和數組將用於調用靜態外部加載的JS。