【问题标题】:xsl variable inside javascript which is in a XSL file itselfjavascript中的xsl变量,它位于XSL文件本身中
【发布时间】:2012-01-30 04:05:05
【问题描述】:

是否可以在 javascript 中添加 xsl 变量,该变量本身位于 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>

【问题讨论】:

    标签: javascript xslt variables


    【解决方案1】:

    在我看来,您好像对处理模型感到困惑。 XSLT 代码正在生成一个包含许多元素的 HTML 页面,其中之一是脚本元素。完成工作后,浏览器会加载 HTML 页面并执行 HTML 页面中包含的 onLoad javascript。此阶段的 XSLT 代码已终止,您在 Javascript 中所做的任何事情都可能影响 XSLT 的执行。

    对于更具交互性的处理模型,可以考虑使用 Saxon-CE,它允许 XSLT 模板处理用户交互事件。

    【讨论】:

      【解决方案2】:

      CDATA 部分只是文本节点的一部分,因此只是一维字符串——该字符串中任何看起来像标记的内容(例如 &lt;xsl:variable&gt;)都只是this -- 字符串,文本。

      因此,在 CDATA 部分中包含 XSLT 指令不会导致该字符串被解析和解释为 XSLT 指令

      可行的方法是从 Javascript 代码调用新的 XSLT 转换,并将所需的任何用户输入数据作为外部参数传递给转换。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-30
        • 2020-02-09
        • 2018-10-30
        • 2012-12-29
        • 1970-01-01
        • 2020-07-25
        相关资源
        最近更新 更多