gpt4 book ai didi

xslt - 如何使用 xQuery

转载 作者:行者123 更新时间:2023-12-01 12:51:59 24 4
gpt4 key购买 nike

我有一个 xsl 文件,我目前正在立即从中获取所有记录,将它们作为隐藏开始并在用户选择 id ( <xsl:for-each select""> ) 时显示它们。 id 值当前存储为用户单击该 id 选择的 javascript 变量。
我想使用 xQuery 来获取记录,但只能获取与用户选择的 ID 匹配的记录。此外,我通常了解 xQuery 中规则背后的逻辑,我只是​​不明白如何在我的 xsl 文件中实际使用它。是否可以使用 xQuery 将 id(一个 js 变量)的值与使用 xQuery 的值进行比较以仅获取具有匹配 id 的记录?

感谢您的时间,

最佳答案

XQuery 是一种独立于 XSLT 的语言,而不是嵌入在 XSLT 中的语言。因此,根据您启动 XSLT 的方式,您可以寻找启动 XQuery 的并行方法。例如,您可以尝试 XQIB (我还没有尝试过,但看起来很有希望)。

如果您在这方面需要更多帮助,请告诉我们您是如何运行 XSLT 处理器的,以及您的数据源是什么。

然而 ... 完全不清楚 XQuery 是否真的是您想要的。听起来您并不需要 XQuery 来处理您在 XSLT 中无法做到的事情。我什至不确定你是不是在考虑 jQuery……它是一种完全不同的动物。

如果您能告诉我们更多有关记录来自何处的信息,将会很有帮助;它们以什么形式存储(XML DOM?);以及您需要对它们做什么。可能最好的解决方案是我们向您展示如何在 XSLT(或在 Javascript)中执行您尝试执行的操作。

更新

看着您的新评论,我意识到我可能误解了您尝试运行 XQuery 的位置。您在上面提到了 javascript,从中我假设您想在浏览器中运行 XQuery,但现在我认为我得出了错误的结论 - 您实际上是想在服务器上运行它吗?

无论您在哪里运行它,XSLT 或 XQuery 都可以选择“仅与用户选择的 ID 匹配的记录”。但是,如果 XSLT/XQuery 在服务器上运行,为了使其工作,您必须在用户选择 ID 后进行页面刷新或 AJAX 调用,让服务器上的程序知道所选 ID是。我不确定您是否已经设置了该架构,或者您是否仍在尝试弄清楚如何使用 AJAX 调用根据用户输入检索数据。

听起来您不想将整个记录集从服务器发送到客户端,甚至最初也不想(对吗?)。在这种情况下,用户如何知道可用 ID 集是什么?

无论如何,您的问题可能归结为“您如何从 ASP.NET 运行 XQuery?”我没有尝试这样做,但这篇文章可能会有所帮助:Using Saxon.NET in ASP.NET ;或者这个:Querying XML Data with XQuery .

但同样,我认为 XQuery 可能不是您想要的。 XQuery 不是在 XSLT 中使用的查询语言——它更像是 XPath。您可以使用 XQuery 来代替 XSLT 或在它旁边使用。因此,如果您正在使用 XSLT 并且想要根据用户选择的 ID 过滤记录,假设您已经知道用户选择的 ID,那么在 XSLT/XPath 中实现这一点的简单方法是在 XSLT/XPath 中,而不是启动一个独立的处理器。例如。你可以说

 <xsl:for-each select="//record[@ID = $usersChosenID]"> ...

如果这接近于您的解决方案,请告诉我。有多种方向可以扩展这个解释,但我不想花时间在没有痒的地方抓挠。

关于xslt - 如何使用 xQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11727493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com