javascript - 将 html 表单与 XSL 绑定(bind)以动态过滤 xml 文件

标签 javascript xml xslt xpath

我一直在寻找解决方案,但找不到。

我有一个xml文件和xsl文件,用于转换和显示xml文件。我可以通过 xsl 文件对 xml 文档进行排序和过滤,它工作正常。

<xsl:variable name="filval" select="'720p'" />
<xsl:for-each select="Movie_Prices/price[quality=$filval]">

我想要一个带有选择框的 html 表单和与之关联的 onchange 事件,当用户更改选择框的值时,将采用该值并替换 select ="'720p'" 在变量中或直接放入 Xpath 以更新结果。

<Movie_Prices>  
    <price id="1" status="use">         
        <quality>720p</quality>         
        <amount currency="LKR">20</amount>  
    </price>    
    <price id="2" status="void">        
        <quality>720p</quality>         
        <amount currency="LKR">30</amount>  
    </price>    
    <price id="3" status="use">         
        <quality>1080p</quality>        
        <amount currency="LKR">40</amount>  
    </price>    
    <price id="4" status="void">        
        <quality>1080p</quality>        
        <amount currency="LKR">50</amount>  
    </price>    
    <price id="5" status="use">         
        <quality>3D</quality>       
        <amount currency="LKR">80</amount>  
    </price>    <price id="6" status="void">        
        <quality>3D</quality>       
        <amount currency="LKR">120</amount>     
    </price> 
</Movie_Prices>

这可能吗?只要结果正常,xsl 或 javascript 的任何组合就足够了。搜索了很多,但没有找到解决方案。

感谢任何帮助并提前致谢

最佳答案

根据您有多少选项,您可以简单地使用多个样式表,只包含 filval 变量并使用 xsl:include 导入其余部分:

720p.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:variable name="filval" select="'720p'" />
    <xsl:include href="main.xsl"/>
</xsl:stylesheet>

1080p.xsl3d.xsl 做同样的事情,把你所有的模板规则放在 ma​​in.xsl 然后选择相应的文件使用 javascript 更改选择框。

关于javascript - 将 html 表单与 XSL 绑定(bind)以动态过滤 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23699369/

相关文章:

javascript - 如何在 javascript 中传递参数以确保其引用存在

javascript - jquery 计算word中的字符数

android - 无法激活预览模式 Android Studio

html - 总是自动关闭 html 中的空标签有什么问题吗?

javascript - 将 XSL 字符串传递给 Javascript

xml - 在 XSLT 中,是否可以有一个指向函数的指针?

javascript - 追踪 javascript 调用

javascript - 清除 setTimeout 函数 onkeypress

java - jaxb XML 编码需要以不同的方式格式化日期

string - 如何加速替换字符串中某些字符的 'divide and conquer' XSLT 模板?