我可以使用javascript过滤XSLT创建的表中的值吗?

时间:2014-07-03 10:41:02

标签: xml xslt

我是菜鸟,这是我的第一个编程项目。我的目标是将XML Feed转换为过滤后的HTML表格。过滤器的标准需要由用户提供。

我已成功设法使用XSLT获取XML数据并将其显示为HTML表格。我的XML引用了包含XSLT的xsl文件。现在进入下一步 - 过滤器。

有关我的解释,请参阅以下示例数据:

<teams>
    <team>
        Red Sox
    </team>
    <sport>
        Baseball
    </sport>
    <location>
        Boston
    </location>
    <team>
        White Sox
    </team>
    <sport>
        Baseball
    </sport>
    <location>
        Chicago
    </location>
    <team>
        Giants
    </team>
    <sport>
        Baseball
    </sport>
    <location>
        San Francisco
    </location>
</teams>

我现在想要的是能够通过网页上的下拉菜单选择一个值,然后根据该输入过滤显示的XML。所以,如果他们选择'波士顿&#39;它只会显示波士顿的球队。

是否可以使用javascript执行此操作,或者它不起作用,因为XSLT转换仅在加载时发生 - 在用户从下拉列表中选择之前。

如果可以使用javascript,那么有哪些选项可以实现这一目标? javascript可以动态地将过滤值写入xsl文件吗?或者我可以有一系列的xsl文件,javascript会选择正确的文件吗?

如果不可能使用javascript,任何人都可以建议一种方法可以实现吗?优雅或速度不是问题。我想在客户端这样做。

我还应该补充一点,我的XML中会有预定数量的“位置” - 实际上是20个。

谢谢!

1 个答案:

答案 0 :(得分:0)

我猜你可以通过使用xslt参数来做到这一点。请参阅question或搜索xslt处理器上参数用法的用法。您可以将下拉列表中的过滤器值移交给处理器并显示结果。