我已經查看了所有的谷歌,並無法弄清楚如何正確實現這一點。這要麼根本不可能,要麼我錯過了某種語法?自從我完成JavaScript以來,這已經很長時間了,所以我可能會錯過一些非常簡單的事情。xsl:在javascript函數中調用模板
我使用<xsl:text disabled-output-escaping="yes"><![CDATA[
並使用XML 1.0將一些JavaScript嵌入到XSL文件中。
所以我有這樣的事情:
function seconds(s) {
s = s/60;
document.write(s + " ");
if (s > 2) {
document.write(s + " " + '<xsl:call-template name="resources"><xsl:with-param name="res" select="minutes"/></xsl:call-template>');
}
else {
document.write(s + " " + '<xsl:call-template name="resources"><xsl:with-param name="res" select="minute"/></xsl:call-template>');
}
}
所以,這是怎麼回事的是,我給秒的「60」變量「s」的增量。我需要計算到分鐘,但是,我需要調用模板來實際輸出「分鐘」或「分鐘」字符串。我知道call-template在XSL中起作用。但是,當我將它嵌入到JavaScript中時,它不顯示「分鐘」或「分鐘」。它只會顯示更正的整數和空間。
我該如何將這個xsl行嵌入到JavaScript中,還是完全可能?
編輯: 所以我會嘗試澄清更多。 XML文件上的數據並不重要。我想我的問題是,對於document.write行來說,將xxl代碼嵌入到其中是有問題的。因爲它實際上不打印任何模板打印的內容(基本上是將「分鐘/分鐘」一詞翻譯成用戶選擇的任何語言,或者如果語言不存在,則默認爲英語,因此不重要。需要知道document.write行的語法有什麼問題,以防止顯示XSL代碼,或者可以將它嵌入到JavaScript中嗎?所有的JavaScript都是通過CDATA封裝在.xsl文件中完成的。希望這更加明確了它
你是不是想以編程寫使用XSLT從XML文檔的JavaScript,或者你想從JavaScript調用的XSLT模板?您能否包含示例XML文檔和更完整的XSLT? – 2013-11-27 02:38:31
增加了更多的說明,希望你能幫助我檢查語法或者這種類型的嵌入是否可行。 – misterbear
您不能在Javascript中運行單個XSL命令。你需要包含更多的代碼(如果有的話),並真正考慮你想要做什麼。 – 2013-11-27 04:09:21