2011-12-29 82 views
0

是否有可能在javascript內部添加xsl變量本身是在xsl模板..基本上有兩個單選按鈕'類'和'事件',文本框和搜索按鈕。所以當用戶選擇其中一個收音機並在文本框中輸入關鍵字時,我想只能拉取與所選收音機有關的值..這甚至有可能嗎?xsl變量裏面的javascript這是在XSL文件本身

<script type="text/javascript"> 
           <![CDATA[ 
            var selected_radio = $("input[name='EventRadio']:checked").val(); 
            if (selected_radio == 'Classes') 
             { 
              <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[XPATH to get only the selected radio related data]  
             } 
           ]]> 
          </script> 

回答

0

CDATA項僅僅是一個文本節點的一部分,因此僅有一個一維字符串 - 在此字符串,看起來像什麼的標記(例如一個<xsl:variable>)只是這 - 字符串,文本。

因此,在CDATA部分中包括XSLT指令不會導致該字符串被解析並解釋爲XSLT指令

什麼是可能的,是從Javascript代碼調用新的XSLT轉換,並作爲外部參數傳遞給用戶輸入的任何需要的數據。

0

它在我看來好像對處理模型感到困惑。 XSLT代碼正在生成一個包含大量元素的HTML頁面,其中一個是腳本元素。當它完成它的工作時,瀏覽器加載HTML頁面並執行HTML頁面中包含的onLoad javascript。此階段的XSLT代碼已經終止,並且您在Javascript中執行的任何操作都不會影響XSLT的執行。

對於更具交互性的處理模型,可以考慮使用Saxon-CE進行遊戲,該Saxon-CE允許用戶交互事件由XSLT模板進行處理。